From 52ba6a6e7a659778b1ba9ff78f161b66c456f248 Mon Sep 17 00:00:00 2001
From: "renovate-sh-app[bot]"
<219655108+renovate-sh-app[bot]@users.noreply.github.com>
Date: Wed, 12 Nov 2025 18:53:01 +0000
Subject: [PATCH] fix(deps): update module github.com/influxdata/telegraf to
v1.36.3
| datasource | package | from | to |
| ---------- | ------------------------------ | ------- | ------- |
| go | github.com/influxdata/telegraf | v1.34.1 | v1.36.3 |
Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
---
go.mod | 36 +-
go.sum | 92 +-
.../apiv3/v2/alert_policy_client.go | 2 +-
.../go/monitoring/apiv3/v2/group_client.go | 2 +-
.../go/monitoring/apiv3/v2/helpers.go | 4 +
.../go/monitoring/apiv3/v2/metric_client.go | 2 +-
.../apiv3/v2/monitoringpb/alert.pb.go | 7 +-
.../apiv3/v2/monitoringpb/alert_service.pb.go | 275 +-
.../v2/monitoringpb/alert_service_grpc.pb.go | 310 +
.../apiv3/v2/monitoringpb/common.pb.go | 7 +-
.../v2/monitoringpb/dropped_labels.pb.go | 7 +-
.../apiv3/v2/monitoringpb/group.pb.go | 7 +-
.../apiv3/v2/monitoringpb/group_service.pb.go | 285 +-
.../v2/monitoringpb/group_service_grpc.pb.go | 321 +
.../apiv3/v2/monitoringpb/metric.pb.go | 7 +-
.../v2/monitoringpb/metric_service.pb.go | 439 +-
.../v2/monitoringpb/metric_service_grpc.pb.go | 480 +
.../v2/monitoringpb/mutation_record.pb.go | 7 +-
.../apiv3/v2/monitoringpb/notification.pb.go | 7 +-
.../monitoringpb/notification_service.pb.go | 531 +-
.../notification_service_grpc.pb.go | 571 +
.../apiv3/v2/monitoringpb/query_service.pb.go | 100 +-
.../v2/monitoringpb/query_service_grpc.pb.go | 132 +
.../apiv3/v2/monitoringpb/service.pb.go | 7 +-
.../v2/monitoringpb/service_service.pb.go | 435 +-
.../monitoringpb/service_service_grpc.pb.go | 475 +
.../apiv3/v2/monitoringpb/snooze.pb.go | 7 +-
.../v2/monitoringpb/snooze_service.pb.go | 215 +-
.../v2/monitoringpb/snooze_service_grpc.pb.go | 248 +
.../apiv3/v2/monitoringpb/span_context.pb.go | 7 +-
.../apiv3/v2/monitoringpb/uptime.pb.go | 7 +-
.../v2/monitoringpb/uptime_service.pb.go | 295 +-
.../v2/monitoringpb/uptime_service_grpc.pb.go | 331 +
.../apiv3/v2/notification_channel_client.go | 2 +-
.../go/monitoring/apiv3/v2/query_client.go | 2 +-
.../apiv3/v2/service_monitoring_client.go | 2 +-
.../go/monitoring/apiv3/v2/snooze_client.go | 2 +-
.../apiv3/v2/uptime_check_client.go | 2 +-
.../go/monitoring/internal/version.go | 2 +-
.../sdk/azidentity/CHANGELOG.md | 23 +
.../azure-sdk-for-go/sdk/azidentity/README.md | 3 +-
.../sdk/azidentity/TOKEN_CACHING.MD | 1 +
.../sdk/azidentity/TROUBLESHOOTING.md | 29 +
.../azidentity/azure_powershell_credential.go | 234 +
.../azidentity/default_azure_credential.go | 29 +-
.../azidentity/developer_credential_util.go | 10 +-
.../azure-sdk-for-go/sdk/azidentity/errors.go | 2 +
.../sdk/azidentity/version.go | 2 +-
.../sdk/storage/azblob/CHANGELOG.md | 68 +
.../sdk/storage/azblob/README.md | 7 +-
.../sdk/storage/azblob/appendblob/client.go | 4 +-
.../sdk/storage/azblob/assets.json | 2 +-
.../sdk/storage/azblob/blob/client.go | 16 +-
.../sdk/storage/azblob/blob/retry_reader.go | 1 -
.../sdk/storage/azblob/blockblob/client.go | 4 +-
.../sdk/storage/azblob/client.go | 2 +-
.../sdk/storage/azblob/container/models.go | 9 +-
.../exported/shared_key_credential.go | 91 +-
.../azblob/internal/exported/version.go | 2 +-
.../azblob/internal/generated/autorest.md | 82 +-
.../azblob/internal/generated/constants.go | 2 +-
.../generated/zz_appendblob_client.go | 254 +-
.../internal/generated/zz_blob_client.go | 811 +-
.../internal/generated/zz_blockblob_client.go | 402 +-
.../azblob/internal/generated/zz_constants.go | 7 +-
.../internal/generated/zz_container_client.go | 288 +-
.../azblob/internal/generated/zz_models.go | 11 +-
.../internal/generated/zz_models_serde.go | 75 +-
.../azblob/internal/generated/zz_options.go | 86 +-
.../internal/generated/zz_pageblob_client.go | 480 +-
.../{zz_response_types.go => zz_responses.go} | 30 +-
.../internal/generated/zz_service_client.go | 97 +-
.../internal/generated/zz_time_rfc1123.go | 10 +-
.../internal/generated/zz_time_rfc3339.go | 46 +-
.../internal/generated/zz_xml_helper.go | 3 -
.../azblob/internal/shared/batch_transfer.go | 1 -
.../azblob/internal/shared/mmf_unix.go | 4 +-
.../sdk/storage/azblob/pageblob/client.go | 4 +-
.../sdk/storage/azblob/sas/service.go | 4 +-
.../sdk/storage/azblob/sas/url_parts.go | 2 +-
.../Masterminds/semver/v3/CHANGELOG.md | 28 +-
.../Masterminds/semver/v3/README.md | 18 +-
.../Masterminds/semver/v3/constraints.go | 127 +-
.../Masterminds/semver/v3/version.go | 163 +-
.../aws-sdk-go-v2/service/ec2/CHANGELOG.md | 4 +
.../service/ec2/go_module_metadata.go | 2 +-
.../aws-sdk-go-v2/service/ec2/types/enums.go | 84 +
.../docker/go-connections/nat/nat.go | 149 +-
.../docker/go-connections/nat/parse.go | 6 +-
.../docker/go-connections/sockets/README.md | 0
.../docker/go-connections/sockets/proxy.go | 9 +-
.../docker/go-connections/sockets/sockets.go | 31 +-
.../go-connections/sockets/sockets_unix.go | 23 +-
.../go-connections/sockets/sockets_windows.go | 7 +-
.../go-connections/sockets/unix_socket.go | 44 +-
.../sockets/unix_socket_unix.go | 54 +
.../sockets/unix_socket_windows.go | 7 +
.../docker/go-connections/tlsconfig/config.go | 100 +-
.../tlsconfig/config_client_ciphers.go | 14 -
.../influxdata/telegraf/.golangci.yml | 992 +-
.../influxdata/telegraf/.markdownlint.jsonc | 12 +
.../influxdata/telegraf/.markdownlint.yml | 6 -
.../influxdata/telegraf/CHANGELOG-1.13.md | 10 +-
.../influxdata/telegraf/CHANGELOG.md | 794 +-
.../influxdata/telegraf/CONTRIBUTING.md | 75 +-
.../influxdata/telegraf/EXTERNAL_PLUGINS.md | 9 +-
.../github.com/influxdata/telegraf/Makefile | 25 +-
.../influxdata/telegraf/build_version.txt | 2 +-
.../github.com/influxdata/telegraf/metric.go | 5 +
.../telegraf/plugins/inputs/registry.go | 3 +
.../mattn/go-runewidth/runewidth_windows.go | 6 +
.../image-spec/specs-go/version.go | 2 +-
vendor/github.com/pkg/xattr/xattr_darwin.go | 42 +-
vendor/github.com/pkg/xattr/xattr_solaris.go | 19 +-
vendor/github.com/spf13/cast/.editorconfig | 15 +
vendor/github.com/spf13/cast/.golangci.yaml | 39 +
vendor/github.com/spf13/cast/README.md | 12 +-
vendor/github.com/spf13/cast/alias.go | 69 +
vendor/github.com/spf13/cast/basic.go | 131 +
vendor/github.com/spf13/cast/cast.go | 232 +-
vendor/github.com/spf13/cast/caste.go | 1510 --
vendor/github.com/spf13/cast/indirect.go | 37 +
vendor/github.com/spf13/cast/internal/time.go | 79 +
.../cast/internal/timeformattype_string.go | 27 +
vendor/github.com/spf13/cast/map.go | 212 +
vendor/github.com/spf13/cast/number.go | 549 +
vendor/github.com/spf13/cast/slice.go | 106 +
vendor/github.com/spf13/cast/time.go | 116 +
.../spf13/cast/timeformattype_string.go | 27 -
vendor/github.com/spf13/cast/zz_generated.go | 261 +
vendor/github.com/spf13/pflag/README.md | 27 +
vendor/github.com/spf13/pflag/bool_func.go | 40 +
vendor/github.com/spf13/pflag/count.go | 2 +-
vendor/github.com/spf13/pflag/errors.go | 149 +
vendor/github.com/spf13/pflag/flag.go | 121 +-
vendor/github.com/spf13/pflag/func.go | 37 +
vendor/github.com/spf13/pflag/golangflag.go | 56 +
vendor/github.com/spf13/pflag/ipnet_slice.go | 2 +-
.../spf13/pflag/string_to_string.go | 10 +-
vendor/github.com/spf13/pflag/text.go | 81 +
vendor/github.com/spf13/pflag/time.go | 124 +
.../github.com/tinylib/msgp/msgp/autoshim.go | 159 +
vendor/github.com/tinylib/msgp/msgp/errors.go | 9 +
.../github.com/tinylib/msgp/msgp/extension.go | 6 +
vendor/github.com/tinylib/msgp/msgp/json.go | 8 +-
vendor/github.com/tinylib/msgp/msgp/read.go | 81 +-
.../tinylib/msgp/msgp/read_bytes.go | 13 +-
.../proto/otlp/metrics/v1/metrics.pb.go | 40 +
.../proto/otlp/resource/v1/resource.pb.go | 10 +
.../proto/otlp/trace/v1/trace.pb.go | 32 +-
vendor/k8s.io/utils/net/multi_listen.go | 6 +-
vendor/modernc.org/libc/Makefile | 8 +-
...asm_linux_amd64.go => abi0_linux_amd64.go} | 1867 +-
.../{asm_linux_amd64.s => abi0_linux_amd64.s} | 9555 ++++++++-
vendor/modernc.org/libc/ccgo_linux_386.go | 305 +-
vendor/modernc.org/libc/ccgo_linux_amd64.go | 303 +-
vendor/modernc.org/libc/ccgo_linux_arm.go | 311 +-
vendor/modernc.org/libc/ccgo_linux_arm64.go | 297 +-
vendor/modernc.org/libc/ccgo_linux_loong64.go | 241 +-
vendor/modernc.org/libc/ccgo_linux_ppc64le.go | 320 +-
vendor/modernc.org/libc/ccgo_linux_riscv64.go | 241 +-
vendor/modernc.org/libc/ccgo_linux_s390x.go | 297 +-
vendor/modernc.org/libc/libc.go | 6 +-
vendor/modernc.org/libc/libc_all.go | 26 +
vendor/modernc.org/libc/libc_freebsd.go | 8 -
vendor/modernc.org/libc/tls_linux_amd64.go | 14 +
vendor/modernc.org/libc/tls_linux_amd64.s | 16 +
vendor/modernc.org/sqlite/AUTHORS | 1 +
vendor/modernc.org/sqlite/CONTRIBUTORS | 2 +
.../sqlite/lib/sqlite_darwin_amd64.go | 10675 +----------
.../sqlite/lib/sqlite_darwin_arm64.go | 10675 +----------
.../sqlite/lib/sqlite_freebsd_amd64.go | 10635 +---------
.../sqlite/lib/sqlite_freebsd_arm64.go | 10635 +---------
.../sqlite/lib/sqlite_linux_386.go | 10649 +----------
.../sqlite/lib/sqlite_linux_amd64.go | 10651 +----------
.../sqlite/lib/sqlite_linux_arm.go | 10816 +----------
.../sqlite/lib/sqlite_linux_arm64.go | 10651 +----------
.../sqlite/lib/sqlite_linux_loong64.go | 10651 +----------
.../sqlite/lib/sqlite_linux_ppc64le.go | 15956 ++++------------
.../sqlite/lib/sqlite_linux_riscv64.go | 10651 +----------
.../sqlite/lib/sqlite_linux_s390x.go | 10651 +----------
.../modernc.org/sqlite/lib/sqlite_windows.go | 12038 +-----------
.../sqlite/lib/sqlite_windows_386.go | 12178 +-----------
vendor/modules.txt | 51 +-
184 files changed, 37514 insertions(+), 150082 deletions(-)
create mode 100644 vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/alert_service_grpc.pb.go
create mode 100644 vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/group_service_grpc.pb.go
create mode 100644 vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/metric_service_grpc.pb.go
create mode 100644 vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/notification_service_grpc.pb.go
create mode 100644 vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/query_service_grpc.pb.go
create mode 100644 vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/service_service_grpc.pb.go
create mode 100644 vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/snooze_service_grpc.pb.go
create mode 100644 vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/uptime_service_grpc.pb.go
create mode 100644 vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/azure_powershell_credential.go
rename vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/{zz_response_types.go => zz_responses.go} (98%)
delete mode 100644 vendor/github.com/docker/go-connections/sockets/README.md
create mode 100644 vendor/github.com/docker/go-connections/sockets/unix_socket_unix.go
create mode 100644 vendor/github.com/docker/go-connections/sockets/unix_socket_windows.go
delete mode 100644 vendor/github.com/docker/go-connections/tlsconfig/config_client_ciphers.go
create mode 100644 vendor/github.com/influxdata/telegraf/.markdownlint.jsonc
delete mode 100644 vendor/github.com/influxdata/telegraf/.markdownlint.yml
create mode 100644 vendor/github.com/spf13/cast/.editorconfig
create mode 100644 vendor/github.com/spf13/cast/.golangci.yaml
create mode 100644 vendor/github.com/spf13/cast/alias.go
create mode 100644 vendor/github.com/spf13/cast/basic.go
delete mode 100644 vendor/github.com/spf13/cast/caste.go
create mode 100644 vendor/github.com/spf13/cast/indirect.go
create mode 100644 vendor/github.com/spf13/cast/internal/time.go
create mode 100644 vendor/github.com/spf13/cast/internal/timeformattype_string.go
create mode 100644 vendor/github.com/spf13/cast/map.go
create mode 100644 vendor/github.com/spf13/cast/number.go
create mode 100644 vendor/github.com/spf13/cast/slice.go
create mode 100644 vendor/github.com/spf13/cast/time.go
delete mode 100644 vendor/github.com/spf13/cast/timeformattype_string.go
create mode 100644 vendor/github.com/spf13/cast/zz_generated.go
create mode 100644 vendor/github.com/spf13/pflag/bool_func.go
create mode 100644 vendor/github.com/spf13/pflag/errors.go
create mode 100644 vendor/github.com/spf13/pflag/func.go
create mode 100644 vendor/github.com/spf13/pflag/text.go
create mode 100644 vendor/github.com/spf13/pflag/time.go
create mode 100644 vendor/github.com/tinylib/msgp/msgp/autoshim.go
rename vendor/modernc.org/libc/{asm_linux_amd64.go => abi0_linux_amd64.go} (64%)
rename vendor/modernc.org/libc/{asm_linux_amd64.s => abi0_linux_amd64.s} (69%)
diff --git a/go.mod b/go.mod
index 0aad6b360b0f9..9795f98ca1d5d 100644
--- a/go.mod
+++ b/go.mod
@@ -61,7 +61,7 @@ require (
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.3
github.com/hashicorp/consul/api v1.33.0
github.com/hashicorp/golang-lru/v2 v2.0.7
- github.com/influxdata/telegraf v1.34.1
+ github.com/influxdata/telegraf v1.36.3
github.com/jmespath/go-jmespath v0.4.0
github.com/joncrlsn/dque v0.0.0-20211108142734-c2ef48c5192a
github.com/json-iterator/go v1.1.12
@@ -166,7 +166,7 @@ require (
google.golang.org/protobuf v1.36.10
gotest.tools v2.2.0+incompatible
k8s.io/apimachinery v0.34.1
- k8s.io/utils v0.0.0-20250604170112-4c0f3b243397
+ k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d
zombiezen.com/go/sqlite v1.4.2
)
@@ -174,7 +174,7 @@ require (
cel.dev/expr v0.24.0 // indirect
cloud.google.com/go/auth v0.17.0 // indirect
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
- cloud.google.com/go/monitoring v1.24.2 // indirect
+ cloud.google.com/go/monitoring v1.24.3 // indirect
filippo.io/edwards25519 v1.1.0 // indirect
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.29.0 // indirect
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.53.0 // indirect
@@ -185,7 +185,7 @@ require (
github.com/aws/aws-sdk-go v1.55.7 // indirect
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.3 // indirect
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.13 // indirect
- github.com/aws/aws-sdk-go-v2/service/ec2 v1.254.1 // indirect
+ github.com/aws/aws-sdk-go-v2/service/ec2 v1.255.0 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.3 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.4 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.13 // indirect
@@ -242,7 +242,7 @@ require (
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/lufia/plan9stats v0.0.0-20240226150601-1dcf7310316a // indirect
github.com/mattn/go-localereader v0.0.1 // indirect
- github.com/mattn/go-runewidth v0.0.16 // indirect
+ github.com/mattn/go-runewidth v0.0.17 // indirect
github.com/mdlayher/socket v0.5.1 // indirect
github.com/mdlayher/vsock v1.2.1 // indirect
github.com/mfridman/interpolate v0.0.2 // indirect
@@ -262,7 +262,7 @@ require (
github.com/oschwald/maxminddb-golang/v2 v2.0.0 // indirect
github.com/philhofer/fwd v1.2.0 // indirect
github.com/pires/go-proxyproto v0.7.0 // indirect
- github.com/pkg/xattr v0.4.10 // indirect
+ github.com/pkg/xattr v0.4.12 // indirect
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect
github.com/puzpuzpuz/xsync/v3 v3.5.1 // indirect
@@ -272,7 +272,7 @@ require (
github.com/sercand/kuberesolver/v6 v6.0.0 // indirect
github.com/sethvargo/go-retry v0.3.0 // indirect
github.com/spiffe/go-spiffe/v2 v2.5.0 // indirect
- github.com/tinylib/msgp v1.3.0 // indirect
+ github.com/tinylib/msgp v1.4.0 // indirect
github.com/tklauser/go-sysconf v0.3.15 // indirect
github.com/tklauser/numcpus v0.10.0 // indirect
github.com/x448/float16 v0.8.4 // indirect
@@ -311,17 +311,17 @@ require (
go.opentelemetry.io/otel/log v0.14.0 // indirect
go.opentelemetry.io/otel/sdk/log v0.12.2 // indirect
go.opentelemetry.io/otel/sdk/metric v1.38.0 // indirect
- go.opentelemetry.io/proto/otlp v1.7.1 // indirect
+ go.opentelemetry.io/proto/otlp v1.8.0 // indirect
go.yaml.in/yaml/v2 v2.4.3 // indirect
go.yaml.in/yaml/v3 v3.0.4 // indirect
- golang.org/x/exp v0.0.0-20250808145144-a408d31f581a // indirect
+ golang.org/x/exp v0.0.0-20250911091902-df9299821621 // indirect
golang.org/x/telemetry v0.0.0-20251008203120-078029d740a8 // indirect
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
- modernc.org/libc v1.66.3 // indirect
+ modernc.org/libc v1.66.10 // indirect
modernc.org/mathutil v1.7.1 // indirect
modernc.org/memory v1.11.0 // indirect
- modernc.org/sqlite v1.38.2 // indirect
+ modernc.org/sqlite v1.39.1 // indirect
sigs.k8s.io/randfill v1.0.0 // indirect
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect
)
@@ -332,11 +332,11 @@ require (
cloud.google.com/go/iam v1.5.2 // indirect
cloud.google.com/go/longrunning v0.6.7 // indirect
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.19.1 // indirect
- github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.12.0 // indirect
+ github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.0 // indirect
github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2 // indirect
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.7.0 // indirect
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0 // indirect
- github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.3.2 // indirect
+ github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.6.1 // indirect
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 // indirect
@@ -346,7 +346,7 @@ require (
github.com/AzureAD/microsoft-authentication-library-for-go v1.5.0 // indirect
github.com/Code-Hex/go-generics-cache v1.5.1 // indirect
github.com/Masterminds/goutils v1.1.1 // indirect
- github.com/Masterminds/semver/v3 v3.3.1 // indirect
+ github.com/Masterminds/semver/v3 v3.4.0 // indirect
github.com/Microsoft/go-winio v0.6.2 // indirect
github.com/alecthomas/chroma/v2 v2.20.0
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b // indirect
@@ -372,7 +372,7 @@ require (
github.com/digitalocean/godo v1.165.1 // indirect
github.com/dimchansky/utfbom v1.1.1 // indirect
github.com/distribution/reference v0.6.0 // indirect
- github.com/docker/go-connections v0.5.0 // indirect
+ github.com/docker/go-connections v0.6.0 // indirect
github.com/docker/go-metrics v0.0.1 // indirect
github.com/docker/go-units v0.5.0 // indirect
github.com/dolthub/maphash v0.1.0 // indirect
@@ -445,7 +445,7 @@ require (
github.com/morikuni/aec v1.0.0 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
- github.com/opencontainers/image-spec v1.1.0 // indirect
+ github.com/opencontainers/image-spec v1.1.1 // indirect
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/prometheus/exporter-toolkit v0.14.1 // indirect
@@ -455,8 +455,8 @@ require (
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 // indirect
github.com/shopspring/decimal v1.4.0 // indirect
github.com/sirupsen/logrus v1.9.3
- github.com/spf13/cast v1.7.1 // indirect
- github.com/spf13/pflag v1.0.6 // indirect
+ github.com/spf13/cast v1.10.0 // indirect
+ github.com/spf13/pflag v1.0.10 // indirect
github.com/stretchr/objx v0.5.2 // indirect
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
github.com/ugorji/go/codec v1.1.7 // indirect
diff --git a/go.sum b/go.sum
index f48bbd90313a7..46b4d871c7053 100644
--- a/go.sum
+++ b/go.sum
@@ -39,8 +39,8 @@ cloud.google.com/go/logging v1.13.0 h1:7j0HgAp0B94o1YRDqiqm26w4q1rDMH7XNRU34lJXH
cloud.google.com/go/logging v1.13.0/go.mod h1:36CoKh6KA/M0PbhPKMq6/qety2DCAErbhXT62TuXALA=
cloud.google.com/go/longrunning v0.6.7 h1:IGtfDWHhQCgCjwQjV9iiLnUta9LBCo8R9QmAFsS/PrE=
cloud.google.com/go/longrunning v0.6.7/go.mod h1:EAFV3IZAKmM56TyiE6VAP3VoTzhZzySwI/YI1s/nRsY=
-cloud.google.com/go/monitoring v1.24.2 h1:5OTsoJ1dXYIiMiuL+sYscLc9BumrL3CarVLL7dd7lHM=
-cloud.google.com/go/monitoring v1.24.2/go.mod h1:x7yzPWcgDRnPEv3sI+jJGBkwl5qINf+6qY4eq0I9B4U=
+cloud.google.com/go/monitoring v1.24.3 h1:dde+gMNc0UhPZD1Azu6at2e79bfdztVDS5lvhOdsgaE=
+cloud.google.com/go/monitoring v1.24.3/go.mod h1:nYP6W0tm3N9H/bOw8am7t62YTzZY+zUeQ+Bi6+2eonI=
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
@@ -68,8 +68,8 @@ github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl
github.com/Azure/azure-sdk-for-go v68.0.0+incompatible h1:fcYLmCpyNYRnvJbPerq7U0hS+6+I79yEDJBqVNcqUzU=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.19.1 h1:5YTBM8QDVIBN3sxBil89WfdAAqDZbyJTgh688DSxX5w=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.19.1/go.mod h1:YD5h/ldMsG0XiIw7PdyNhLxaM317eFh5yNLccNfGdyw=
-github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.12.0 h1:wL5IEG5zb7BVv1Kv0Xm92orq+5hB5Nipn3B5tn4Rqfk=
-github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.12.0/go.mod h1:J7MUC/wtRpfGVbQ5sIItY5/FuVWmvzlY21WAOfQnq/I=
+github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.0 h1:KpMC6LFL7mqpExyMC9jVOYRiVhLmamjeZfRsUpB7l4s=
+github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.0/go.mod h1:J7MUC/wtRpfGVbQ5sIItY5/FuVWmvzlY21WAOfQnq/I=
github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.2 h1:yz1bePFlP5Vws5+8ez6T3HWXPmwOK7Yvq8QxDBD3SKY=
github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.2/go.mod h1:Pa9ZNPuoNu/GztvBSKk9J1cDJW6vk/n0zLtV4mgd8N8=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2 h1:9iefClla7iYpfYWdzPCRDozdmndjTm8DXdpCzPajMgA=
@@ -82,10 +82,10 @@ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0/go.mod h1:Y/HgrePTmGy9HjdSGTqZNa+apUpTVIEVKXJyARP2lrk=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.2.0 h1:Dd+RhdJn0OTtVGaeDLZpcumkIVCtA/3/Fo42+eoYvVM=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.2.0/go.mod h1:5kakwfW5CjC9KK+Q4wjXAg+ShuIm2mBMua0ZFj2C8PE=
-github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.5.0 h1:AifHbc4mg0x9zW52WOpKbsHaDKuRhlI7TVl47thgQ70=
-github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.5.0/go.mod h1:T5RfihdXtBDxt1Ch2wobif3TvzTdumDy29kahv6AV9A=
-github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.3.2 h1:YUUxeiOWgdAQE3pXt2H7QXzZs0q8UBjgRbl56qo8GYM=
-github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.3.2/go.mod h1:dmXQgZuiSubAecswZE+Sm8jkvEa7kQgTPVRvwL/nd0E=
+github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.8.0 h1:LR0kAX9ykz8G4YgLCaRDVJ3+n43R8MneB5dTy2konZo=
+github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.8.0/go.mod h1:DWAciXemNf++PQJLeXUB4HHH5OpsAh12HZnu2wXE1jA=
+github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.6.1 h1:lhZdRq7TIx0GJQvSyX2Si406vrYsov2FXGp/RnSEtcs=
+github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.6.1/go.mod h1:8cl44BDmi+effbARHMQjgOKA2AYvcohNm7KEt42mSV8=
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8=
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs=
@@ -144,8 +144,8 @@ github.com/MasslessParticle/azure-storage-blob-go v0.14.1-0.20240322194317-34498
github.com/MasslessParticle/azure-storage-blob-go v0.14.1-0.20240322194317-344980fda573/go.mod h1:SMqIBi+SuiQH32bvyjngEewEeXoPfKMgWlBDaYf6fck=
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
-github.com/Masterminds/semver/v3 v3.3.1 h1:QtNSWtVZ3nBfk8mAOu/B6v7FMJ+NHTIgUPi7rj+4nv4=
-github.com/Masterminds/semver/v3 v3.3.1/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
+github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0=
+github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs=
github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0=
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
@@ -213,8 +213,8 @@ github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.13 h1:eg/WYAa12vqTphzIdWMzqYRVKKn
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.13/go.mod h1:/FDdxWhz1486obGrKKC1HONd7krpk38LBt+dutLcN9k=
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.52.4 h1:5nhomXR6eve564BfKNb/2wvBJGicjXHOFW9++Y6jwRg=
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.52.4/go.mod h1:6eUUnWOJ8sucL5Uk8rPkFo8FYioM0CTNGHga8hwzXVc=
-github.com/aws/aws-sdk-go-v2/service/ec2 v1.254.1 h1:7p9bJCZ/b3EJXXARW7JMEs2IhsnI4YFHpfXQfgMh0eg=
-github.com/aws/aws-sdk-go-v2/service/ec2 v1.254.1/go.mod h1:M8WWWIfXmxA4RgTXcI/5cSByxRqjgne32Sh0VIbrn0A=
+github.com/aws/aws-sdk-go-v2/service/ec2 v1.255.0 h1:itmZc+F4yGJdk5mjIfalFjHu6kqz9jRSYtsnnRLjulQ=
+github.com/aws/aws-sdk-go-v2/service/ec2 v1.255.0/go.mod h1:M8WWWIfXmxA4RgTXcI/5cSByxRqjgne32Sh0VIbrn0A=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.3 h1:x2Ibm/Af8Fi+BH+Hsn9TXGdT+hKbDd5XOTZxTMxDk7o=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.3/go.mod h1:IW1jwyrQgMdhisceG8fQLmQIydcT/jWY21rFhzgaKwo=
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.4 h1:NvMjwvv8hpGUILarKw7Z4Q0w1H9anXKsesMxtw++MA4=
@@ -356,8 +356,8 @@ github.com/dlclark/regexp2 v1.11.5 h1:Q/sSnsKerHeCkc/jSTNq1oCm7KiVgUMZRDUoRu0JQZ
github.com/dlclark/regexp2 v1.11.5/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
github.com/docker/docker v28.5.2+incompatible h1:DBX0Y0zAjZbSrm1uzOkdr1onVghKaftjlSWt4AFexzM=
github.com/docker/docker v28.5.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
-github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c=
-github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc=
+github.com/docker/go-connections v0.6.0 h1:LlMG9azAe1TqfR7sO+NJttz1gy6KO7VJBh+pMmjSD94=
+github.com/docker/go-connections v0.6.0/go.mod h1:AahvXYshr6JgfUJGdDCs2b5EZG/vmaMAntpSFH5BFKE=
github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8=
github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw=
github.com/docker/go-plugins-helpers v0.0.0-20240701071450-45e2431495c8 h1:IMfrF5LCzP2Vhw7j4IIH3HxPsCLuZYjDqFAM/C88ulg=
@@ -741,8 +741,8 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:
github.com/ianlancetaylor/demangle v0.0.0-20230524184225-eabc099b10ab/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw=
github.com/influxdata/tdigest v0.0.2-0.20210216194612-fc98d27c9e8b h1:i44CesU68ZBRvtCjBi3QSosCIKrjmMbYlQMFAwVLds4=
github.com/influxdata/tdigest v0.0.2-0.20210216194612-fc98d27c9e8b/go.mod h1:Z0kXnxzbTC2qrx4NaIzYkE1k66+6oEDQTvL95hQFh5Y=
-github.com/influxdata/telegraf v1.34.1 h1:BWnIm52buIBv1hPRoMFNBE/wuoSZ0Yeny4EP0ngMSbE=
-github.com/influxdata/telegraf v1.34.1/go.mod h1:F/4F/nmAKRZlDNhrD5aIQi+AaiHaiNKku0kJFsF6iag=
+github.com/influxdata/telegraf v1.36.3 h1:jjqLBRH4+zWfcItBQQBnQs6o9yPw+vaWs9kauL0hIvQ=
+github.com/influxdata/telegraf v1.36.3/go.mod h1:ikjnUP792bLXLl98Jd0ZyuiNEejXu1aLpeYoMkZHcrM=
github.com/ionos-cloud/sdk-go/v6 v6.3.4 h1:jTvGl4LOF8v8OYoEIBNVwbFoqSGAFqn6vGE7sp7/BqQ=
github.com/ionos-cloud/sdk-go/v6 v6.3.4/go.mod h1:wCVwNJ/21W29FWFUv+fNawOTMlFoP1dS3L+ZuztFW48=
github.com/jaegertracing/jaeger-idl v0.5.0 h1:zFXR5NL3Utu7MhPg8ZorxtCBjHrL3ReM1VoB65FOFGE=
@@ -847,8 +847,8 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4=
github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88=
-github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
-github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
+github.com/mattn/go-runewidth v0.0.17 h1:78v8ZlW0bP43XfmAfPsdXcoNCelfMHsDmd/pkENfrjQ=
+github.com/mattn/go-runewidth v0.0.17/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/mdlayher/socket v0.5.1 h1:VZaqt6RkGkt2OE9l3GcC6nZkqD3xKeQLyfleW/uBcos=
github.com/mdlayher/socket v0.5.1/go.mod h1:TjPLHI1UgwEv5J1B5q0zTZq12A/6H7nKmtTanQE37IQ=
@@ -943,8 +943,8 @@ github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatocumul
github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatocumulativeprocessor v0.136.0/go.mod h1:5LdAGh7nkcym4+EzmzCDNK9Qdp7mL1TPzzQpdPEJtds=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
-github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug=
-github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM=
+github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040=
+github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M=
github.com/opentracing-contrib/go-grpc v0.1.2 h1:MP16Ozc59kqqwn1v18aQxpeGZhsBanJ2iurZYaQSZ+g=
github.com/opentracing-contrib/go-grpc v0.1.2/go.mod h1:glU6rl1Fhfp9aXUHkE36K2mR4ht8vih0ekOVlWKEUHM=
github.com/opentracing-contrib/go-stdlib v1.1.0 h1:cZBWc4pA4e65tqTJddbflK435S0tDImj6c9BMvkdUH0=
@@ -980,8 +980,8 @@ github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pkg/xattr v0.4.10 h1:Qe0mtiNFHQZ296vRgUjRCoPHPqH7VdTOrZx3g0T+pGA=
-github.com/pkg/xattr v0.4.10/go.mod h1:di8WF84zAKk8jzR1UBTEWh9AUlIZZ7M/JNt8e9B6ktU=
+github.com/pkg/xattr v0.4.12 h1:rRTkSyFNTRElv6pkA3zpjHpQ90p/OdHQC1GmGh1aTjM=
+github.com/pkg/xattr v0.4.12/go.mod h1:di8WF84zAKk8jzR1UBTEWh9AUlIZZ7M/JNt8e9B6ktU=
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo=
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
@@ -1088,10 +1088,10 @@ github.com/sony/gobreaker/v2 v2.3.0 h1:7VYxZ69QXRQ2Q4eEawHn6eU4FiuwovzJwsUMA03Lu
github.com/sony/gobreaker/v2 v2.3.0/go.mod h1:pTyFJgcZ3h2tdQVLZZruK2C0eoFL1fb/G83wK1ZQl+s=
github.com/spf13/afero v1.15.0 h1:b/YBCLWAJdFWJTN9cLhiXXcD7mzKn9Dm86dNnfyQw1I=
github.com/spf13/afero v1.15.0/go.mod h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg=
-github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
-github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
-github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
-github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
+github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY=
+github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo=
+github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
+github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spiffe/go-spiffe/v2 v2.5.0 h1:N2I01KCUkv1FAjZXJMwh95KK1ZIQLYbPfhaxw8WS0hE=
github.com/spiffe/go-spiffe/v2 v2.5.0/go.mod h1:P+NxobPc6wXhVtINNtFjNWGBTreew1GBUCwT2wPmb7g=
github.com/stackitcloud/stackit-sdk-go/core v0.17.3 h1:GsZGmRRc/3GJLmCUnsZswirr5wfLRrwavbnL/renOqg=
@@ -1119,8 +1119,8 @@ github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD
github.com/tencentyun/cos-go-sdk-v5 v0.7.40 h1:W6vDGKCHe4wBACI1d2UgE6+50sJFhRWU4O8IB2ozzxM=
github.com/tencentyun/cos-go-sdk-v5 v0.7.40/go.mod h1:4dCEtLHGh8QPxHEkgq+nFaky7yZxQuYwgSJM87icDaw=
github.com/tinylib/msgp v1.1.5/go.mod h1:eQsjooMTnV42mHu917E26IogZ2930nFyBQdofk10Udg=
-github.com/tinylib/msgp v1.3.0 h1:ULuf7GPooDaIlbyvgAxBV/FI7ynli6LZ1/nVUNu+0ww=
-github.com/tinylib/msgp v1.3.0/go.mod h1:ykjzy2wzgrlvpDCRc4LA8UXy6D8bzMSuAF3WD57Gok0=
+github.com/tinylib/msgp v1.4.0 h1:SYOeDRiydzOw9kSiwdYp9UcBgPFtLU2WDHaJXyHruf8=
+github.com/tinylib/msgp v1.4.0/go.mod h1:cvjFkb4RiC8qSBOPMGPSzSAx47nAsfhLVTCZZNuHv5o=
github.com/tjhop/slog-gokit v0.1.5 h1:ayloIUi5EK2QYB8eY4DOPO95/mRtMW42lUkp3quJohc=
github.com/tjhop/slog-gokit v0.1.5/go.mod h1:yA48zAHvV+Sg4z4VRyeFyFUNNXd3JY5Zg84u3USICq0=
github.com/tklauser/go-sysconf v0.3.15 h1:VE89k0criAymJ/Os65CSn1IXaol+1wrsFHEB8Ol49K4=
@@ -1225,8 +1225,8 @@ go.opentelemetry.io/collector/internal/telemetry v0.136.0 h1:3TcnxyUFs6jJZeLo5ju
go.opentelemetry.io/collector/internal/telemetry v0.136.0/go.mod h1:dTykH9zv/zOnlyUvqfGIqpaQZhmayW7NssD7TPU4paE=
go.opentelemetry.io/collector/pdata v1.43.0 h1:zVkj2hcjiMLwX+QDDNwb7iTh3LBjNXKv2qPSgj1Rzb4=
go.opentelemetry.io/collector/pdata v1.43.0/go.mod h1:KsJzdDG9e5BaHlmYr0sqdSEKeEiSfKzoF+rdWU7J//w=
-go.opentelemetry.io/collector/pdata/pprofile v0.136.0 h1:ysyWnVnEzAwUH+MAhEuu7X0y/YnTtjEY1gC7aj05QzA=
-go.opentelemetry.io/collector/pdata/pprofile v0.136.0/go.mod h1:vAvrFj+xpwlSH85QFYGKYQ4xc0Lym5pWNRh1hMUH3TY=
+go.opentelemetry.io/collector/pdata/pprofile v0.137.0 h1:bLVp8p8hpH81eQhhEQBkvLtS00GbnMU+ItNweBJLqZ8=
+go.opentelemetry.io/collector/pdata/pprofile v0.137.0/go.mod h1:QfhMf7NnG+fTuwGGB1mXgcPzcXNxEYSW6CrVouOsF7Q=
go.opentelemetry.io/collector/pdata/testdata v0.136.0 h1:amivoDBK7ALqhwwCkSOYqfT95t1+o/TS6MHycseNs80=
go.opentelemetry.io/collector/pdata/testdata v0.136.0/go.mod h1:KlNRkMO7MZdbGjNJGFS0+yc2gpuraJg6F6gkuqaqA8Y=
go.opentelemetry.io/collector/pipeline v1.42.0 h1:jqn1lPwUdCn+lsyNubCtwzXZLEm+R3kRWxLpDkhlvvs=
@@ -1303,8 +1303,8 @@ go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689Cbtr
go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ=
go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE=
go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs=
-go.opentelemetry.io/proto/otlp v1.7.1 h1:gTOMpGDb0WTBOP8JaO72iL3auEZhVmAQg4ipjOVAtj4=
-go.opentelemetry.io/proto/otlp v1.7.1/go.mod h1:b2rVh6rfI/s2pHWNlB7ILJcRALpcNDzKhACevjI+ZnE=
+go.opentelemetry.io/proto/otlp v1.8.0 h1:fRAZQDcAFHySxpJ1TwlA1cJ4tvcrw7nXl9xWWC8N5CE=
+go.opentelemetry.io/proto/otlp v1.8.0/go.mod h1:tIeYOeNBU4cvmPqpaji1P+KbB4Oloai8wN4rWzRrFF0=
go.opentelemetry.io/proto/slim/otlp v1.8.0 h1:afcLwp2XOeCbGrjufT1qWyruFt+6C9g5SOuymrSPUXQ=
go.opentelemetry.io/proto/slim/otlp v1.8.0/go.mod h1:Yaa5fjYm1SMCq0hG0x/87wV1MP9H5xDuG/1+AhvBcsI=
go.opentelemetry.io/proto/slim/otlp/collector/profiles/v1development v0.1.0 h1:Uc+elixz922LHx5colXGi1ORbsW8DTIGM+gg+D9V7HE=
@@ -1355,8 +1355,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
-golang.org/x/exp v0.0.0-20250808145144-a408d31f581a h1:Y+7uR/b1Mw2iSXZ3G//1haIiSElDQZ8KWh0h+sZPG90=
-golang.org/x/exp v0.0.0-20250808145144-a408d31f581a/go.mod h1:rT6SFzZ7oxADUDx58pcaKFTcZ+inxAa9fTrYx/uVYwg=
+golang.org/x/exp v0.0.0-20250911091902-df9299821621 h1:2id6c1/gto0kaHYyrixvknJ8tUK/Qs5IsmBtrc+FtgU=
+golang.org/x/exp v0.0.0-20250911091902-df9299821621/go.mod h1:TwQYMMnGpvZyc+JpB/UAuTNIsVJifOlSkrZkhcvpVUk=
golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
@@ -1759,20 +1759,20 @@ k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b h1:MloQ9/bdJyIu9lb1PzujOPolHyvO06MXG5TUIj2mNAA=
k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b/go.mod h1:UZ2yyWbFTpuhSbFhv24aGNOdoRdJZgsIObGBUaYVsts=
-k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 h1:hwvWFiBzdWw1FhfY1FooPn3kzWuJ8tmbZBHi4zVsl1Y=
-k8s.io/utils v0.0.0-20250604170112-4c0f3b243397/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
-modernc.org/cc/v4 v4.26.2 h1:991HMkLjJzYBIfha6ECZdjrIYz2/1ayr+FL8GN+CNzM=
-modernc.org/cc/v4 v4.26.2/go.mod h1:uVtb5OGqUKpoLWhqwNQo/8LwvoiEBLvZXIQ/SmO6mL0=
-modernc.org/ccgo/v4 v4.28.0 h1:rjznn6WWehKq7dG4JtLRKxb52Ecv8OUGah8+Z/SfpNU=
-modernc.org/ccgo/v4 v4.28.0/go.mod h1:JygV3+9AV6SmPhDasu4JgquwU81XAKLd3OKTUDNOiKE=
-modernc.org/fileutil v1.3.8 h1:qtzNm7ED75pd1C7WgAGcK4edm4fvhtBsEiI/0NQ54YM=
-modernc.org/fileutil v1.3.8/go.mod h1:HxmghZSZVAz/LXcMNwZPA/DRrQZEVP9VX0V4LQGQFOc=
+k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d h1:wAhiDyZ4Tdtt7e46e9M5ZSAJ/MnPGPs+Ki1gHw4w1R0=
+k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
+modernc.org/cc/v4 v4.26.5 h1:xM3bX7Mve6G8K8b+T11ReenJOT+BmVqQj0FY5T4+5Y4=
+modernc.org/cc/v4 v4.26.5/go.mod h1:uVtb5OGqUKpoLWhqwNQo/8LwvoiEBLvZXIQ/SmO6mL0=
+modernc.org/ccgo/v4 v4.28.1 h1:wPKYn5EC/mYTqBO373jKjvX2n+3+aK7+sICCv4Fjy1A=
+modernc.org/ccgo/v4 v4.28.1/go.mod h1:uD+4RnfrVgE6ec9NGguUNdhqzNIeeomeXf6CL0GTE5Q=
+modernc.org/fileutil v1.3.40 h1:ZGMswMNc9JOCrcrakF1HrvmergNLAmxOPjizirpfqBA=
+modernc.org/fileutil v1.3.40/go.mod h1:HxmghZSZVAz/LXcMNwZPA/DRrQZEVP9VX0V4LQGQFOc=
modernc.org/gc/v2 v2.6.5 h1:nyqdV8q46KvTpZlsw66kWqwXRHdjIlJOhG6kxiV/9xI=
modernc.org/gc/v2 v2.6.5/go.mod h1:YgIahr1ypgfe7chRuJi2gD7DBQiKSLMPgBQe9oIiito=
modernc.org/goabi0 v0.2.0 h1:HvEowk7LxcPd0eq6mVOAEMai46V+i7Jrj13t4AzuNks=
modernc.org/goabi0 v0.2.0/go.mod h1:CEFRnnJhKvWT1c1JTI3Avm+tgOWbkOu5oPA8eH8LnMI=
-modernc.org/libc v1.66.3 h1:cfCbjTUcdsKyyZZfEUKfoHcP3S0Wkvz3jgSzByEWVCQ=
-modernc.org/libc v1.66.3/go.mod h1:XD9zO8kt59cANKvHPXpx7yS2ELPheAey0vjIuZOhOU8=
+modernc.org/libc v1.66.10 h1:yZkb3YeLx4oynyR+iUsXsybsX4Ubx7MQlSYEw4yj59A=
+modernc.org/libc v1.66.10/go.mod h1:8vGSEwvoUoltr4dlywvHqjtAqHBaw0j1jI7iFBTAr2I=
modernc.org/mathutil v1.7.1 h1:GCZVGXdaN8gTqB1Mf/usp1Y/hSqgI2vAGGP4jZMCxOU=
modernc.org/mathutil v1.7.1/go.mod h1:4p5IwJITfppl0G4sUEDtCr4DthTaT47/N3aT6MhfgJg=
modernc.org/memory v1.11.0 h1:o4QC8aMQzmcwCK3t3Ux/ZHmwFPzE6hf2Y5LbkRs+hbI=
@@ -1781,8 +1781,8 @@ modernc.org/opt v0.1.4 h1:2kNGMRiUjrp4LcaPuLY2PzUfqM/w9N23quVwhKt5Qm8=
modernc.org/opt v0.1.4/go.mod h1:03fq9lsNfvkYSfxrfUhZCWPk1lm4cq4N+Bh//bEtgns=
modernc.org/sortutil v1.2.1 h1:+xyoGf15mM3NMlPDnFqrteY07klSFxLElE2PVuWIJ7w=
modernc.org/sortutil v1.2.1/go.mod h1:7ZI3a3REbai7gzCLcotuw9AC4VZVpYMjDzETGsSMqJE=
-modernc.org/sqlite v1.38.2 h1:Aclu7+tgjgcQVShZqim41Bbw9Cho0y/7WzYptXqkEek=
-modernc.org/sqlite v1.38.2/go.mod h1:cPTJYSlgg3Sfg046yBShXENNtPrWrDX8bsbAQBzgQ5E=
+modernc.org/sqlite v1.39.1 h1:H+/wGFzuSCIEVCvXYVHX5RQglwhMOvtHSv+VtidL2r4=
+modernc.org/sqlite v1.39.1/go.mod h1:9fjQZ0mB1LLP0GYrp39oOJXx/I2sxEnZtzCmEQIKvGE=
modernc.org/strutil v1.2.1 h1:UneZBkQA+DX2Rp35KcM69cSsNES9ly8mQWD71HKlOA0=
modernc.org/strutil v1.2.1/go.mod h1:EHkiggD70koQxjVdSBM3JKM7k6L0FbGE5eymy9i3B9A=
modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y=
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/alert_policy_client.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/alert_policy_client.go
index 9a9408f19bffc..cc8c69c240117 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/alert_policy_client.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/alert_policy_client.go
@@ -276,7 +276,7 @@ func (c *alertPolicyGRPCClient) Connection() *grpc.ClientConn {
// use by Google-written clients.
func (c *alertPolicyGRPCClient) setGoogleClientInfo(keyval ...string) {
kv := append([]string{"gl-go", gax.GoVersion}, keyval...)
- kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version)
+ kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version, "pb", protoVersion)
c.xGoogHeaders = []string{
"x-goog-api-client", gax.XGoogHeader(kv...),
}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/group_client.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/group_client.go
index a45e1aec27856..7a9e076093bab 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/group_client.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/group_client.go
@@ -297,7 +297,7 @@ func (c *groupGRPCClient) Connection() *grpc.ClientConn {
// use by Google-written clients.
func (c *groupGRPCClient) setGoogleClientInfo(keyval ...string) {
kv := append([]string{"gl-go", gax.GoVersion}, keyval...)
- kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version)
+ kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version, "pb", protoVersion)
c.xGoogHeaders = []string{
"x-goog-api-client", gax.XGoogHeader(kv...),
}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/helpers.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/helpers.go
index 6719cac863541..b97da685e9d94 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/helpers.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/helpers.go
@@ -18,16 +18,20 @@ package monitoring
import (
"context"
+ "fmt"
"log/slog"
"github.com/googleapis/gax-go/v2/internallog/grpclog"
"google.golang.org/api/option"
"google.golang.org/grpc"
"google.golang.org/protobuf/proto"
+ "google.golang.org/protobuf/runtime/protoimpl"
)
const serviceName = "monitoring.googleapis.com"
+var protoVersion = fmt.Sprintf("1.%d", protoimpl.MaxVersion)
+
// For more information on implementing a client constructor hook, see
// https://github.com/googleapis/google-cloud-go/wiki/Customizing-constructors.
type clientHookParams struct{}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/metric_client.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/metric_client.go
index 29eb4849d230f..2ed8ccc133d58 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/metric_client.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/metric_client.go
@@ -335,7 +335,7 @@ func (c *metricGRPCClient) Connection() *grpc.ClientConn {
// use by Google-written clients.
func (c *metricGRPCClient) setGoogleClientInfo(keyval ...string) {
kv := append([]string{"gl-go", gax.GoVersion}, keyval...)
- kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version)
+ kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version, "pb", protoVersion)
c.xGoogHeaders = []string{
"x-goog-api-client", gax.XGoogHeader(kv...),
}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/alert.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/alert.pb.go
index 24ca1414bb32f..f735f03253432 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/alert.pb.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/alert.pb.go
@@ -15,15 +15,12 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
-// protoc v4.25.3
+// protoc v4.25.7
// source: google/monitoring/v3/alert.proto
package monitoringpb
import (
- reflect "reflect"
- sync "sync"
-
_ "google.golang.org/genproto/googleapis/api/annotations"
status "google.golang.org/genproto/googleapis/rpc/status"
timeofday "google.golang.org/genproto/googleapis/type/timeofday"
@@ -31,6 +28,8 @@ import (
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
durationpb "google.golang.org/protobuf/types/known/durationpb"
wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
+ reflect "reflect"
+ sync "sync"
)
const (
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/alert_service.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/alert_service.pb.go
index ba0c4f65f2cf2..5edc4a06df80d 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/alert_service.pb.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/alert_service.pb.go
@@ -15,24 +15,19 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
-// protoc v4.25.3
+// protoc v4.25.7
// source: google/monitoring/v3/alert_service.proto
package monitoringpb
import (
- context "context"
- reflect "reflect"
- sync "sync"
-
_ "google.golang.org/genproto/googleapis/api/annotations"
- grpc "google.golang.org/grpc"
- codes "google.golang.org/grpc/codes"
- status "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
emptypb "google.golang.org/protobuf/types/known/emptypb"
fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
+ reflect "reflect"
+ sync "sync"
)
const (
@@ -695,267 +690,3 @@ func file_google_monitoring_v3_alert_service_proto_init() {
file_google_monitoring_v3_alert_service_proto_goTypes = nil
file_google_monitoring_v3_alert_service_proto_depIdxs = nil
}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConnInterface
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion6
-
-// AlertPolicyServiceClient is the client API for AlertPolicyService service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
-type AlertPolicyServiceClient interface {
- // Lists the existing alerting policies for the workspace.
- ListAlertPolicies(ctx context.Context, in *ListAlertPoliciesRequest, opts ...grpc.CallOption) (*ListAlertPoliciesResponse, error)
- // Gets a single alerting policy.
- GetAlertPolicy(ctx context.Context, in *GetAlertPolicyRequest, opts ...grpc.CallOption) (*AlertPolicy, error)
- // Creates a new alerting policy.
- //
- // Design your application to single-thread API calls that modify the state of
- // alerting policies in a single project. This includes calls to
- // CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
- CreateAlertPolicy(ctx context.Context, in *CreateAlertPolicyRequest, opts ...grpc.CallOption) (*AlertPolicy, error)
- // Deletes an alerting policy.
- //
- // Design your application to single-thread API calls that modify the state of
- // alerting policies in a single project. This includes calls to
- // CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
- DeleteAlertPolicy(ctx context.Context, in *DeleteAlertPolicyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
- // Updates an alerting policy. You can either replace the entire policy with
- // a new one or replace only certain fields in the current alerting policy by
- // specifying the fields to be updated via `updateMask`. Returns the
- // updated alerting policy.
- //
- // Design your application to single-thread API calls that modify the state of
- // alerting policies in a single project. This includes calls to
- // CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
- UpdateAlertPolicy(ctx context.Context, in *UpdateAlertPolicyRequest, opts ...grpc.CallOption) (*AlertPolicy, error)
-}
-
-type alertPolicyServiceClient struct {
- cc grpc.ClientConnInterface
-}
-
-func NewAlertPolicyServiceClient(cc grpc.ClientConnInterface) AlertPolicyServiceClient {
- return &alertPolicyServiceClient{cc}
-}
-
-func (c *alertPolicyServiceClient) ListAlertPolicies(ctx context.Context, in *ListAlertPoliciesRequest, opts ...grpc.CallOption) (*ListAlertPoliciesResponse, error) {
- out := new(ListAlertPoliciesResponse)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.AlertPolicyService/ListAlertPolicies", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *alertPolicyServiceClient) GetAlertPolicy(ctx context.Context, in *GetAlertPolicyRequest, opts ...grpc.CallOption) (*AlertPolicy, error) {
- out := new(AlertPolicy)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.AlertPolicyService/GetAlertPolicy", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *alertPolicyServiceClient) CreateAlertPolicy(ctx context.Context, in *CreateAlertPolicyRequest, opts ...grpc.CallOption) (*AlertPolicy, error) {
- out := new(AlertPolicy)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.AlertPolicyService/CreateAlertPolicy", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *alertPolicyServiceClient) DeleteAlertPolicy(ctx context.Context, in *DeleteAlertPolicyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
- out := new(emptypb.Empty)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.AlertPolicyService/DeleteAlertPolicy", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *alertPolicyServiceClient) UpdateAlertPolicy(ctx context.Context, in *UpdateAlertPolicyRequest, opts ...grpc.CallOption) (*AlertPolicy, error) {
- out := new(AlertPolicy)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.AlertPolicyService/UpdateAlertPolicy", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-// AlertPolicyServiceServer is the server API for AlertPolicyService service.
-type AlertPolicyServiceServer interface {
- // Lists the existing alerting policies for the workspace.
- ListAlertPolicies(context.Context, *ListAlertPoliciesRequest) (*ListAlertPoliciesResponse, error)
- // Gets a single alerting policy.
- GetAlertPolicy(context.Context, *GetAlertPolicyRequest) (*AlertPolicy, error)
- // Creates a new alerting policy.
- //
- // Design your application to single-thread API calls that modify the state of
- // alerting policies in a single project. This includes calls to
- // CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
- CreateAlertPolicy(context.Context, *CreateAlertPolicyRequest) (*AlertPolicy, error)
- // Deletes an alerting policy.
- //
- // Design your application to single-thread API calls that modify the state of
- // alerting policies in a single project. This includes calls to
- // CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
- DeleteAlertPolicy(context.Context, *DeleteAlertPolicyRequest) (*emptypb.Empty, error)
- // Updates an alerting policy. You can either replace the entire policy with
- // a new one or replace only certain fields in the current alerting policy by
- // specifying the fields to be updated via `updateMask`. Returns the
- // updated alerting policy.
- //
- // Design your application to single-thread API calls that modify the state of
- // alerting policies in a single project. This includes calls to
- // CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
- UpdateAlertPolicy(context.Context, *UpdateAlertPolicyRequest) (*AlertPolicy, error)
-}
-
-// UnimplementedAlertPolicyServiceServer can be embedded to have forward compatible implementations.
-type UnimplementedAlertPolicyServiceServer struct {
-}
-
-func (*UnimplementedAlertPolicyServiceServer) ListAlertPolicies(context.Context, *ListAlertPoliciesRequest) (*ListAlertPoliciesResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method ListAlertPolicies not implemented")
-}
-func (*UnimplementedAlertPolicyServiceServer) GetAlertPolicy(context.Context, *GetAlertPolicyRequest) (*AlertPolicy, error) {
- return nil, status.Errorf(codes.Unimplemented, "method GetAlertPolicy not implemented")
-}
-func (*UnimplementedAlertPolicyServiceServer) CreateAlertPolicy(context.Context, *CreateAlertPolicyRequest) (*AlertPolicy, error) {
- return nil, status.Errorf(codes.Unimplemented, "method CreateAlertPolicy not implemented")
-}
-func (*UnimplementedAlertPolicyServiceServer) DeleteAlertPolicy(context.Context, *DeleteAlertPolicyRequest) (*emptypb.Empty, error) {
- return nil, status.Errorf(codes.Unimplemented, "method DeleteAlertPolicy not implemented")
-}
-func (*UnimplementedAlertPolicyServiceServer) UpdateAlertPolicy(context.Context, *UpdateAlertPolicyRequest) (*AlertPolicy, error) {
- return nil, status.Errorf(codes.Unimplemented, "method UpdateAlertPolicy not implemented")
-}
-
-func RegisterAlertPolicyServiceServer(s *grpc.Server, srv AlertPolicyServiceServer) {
- s.RegisterService(&_AlertPolicyService_serviceDesc, srv)
-}
-
-func _AlertPolicyService_ListAlertPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ListAlertPoliciesRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(AlertPolicyServiceServer).ListAlertPolicies(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.AlertPolicyService/ListAlertPolicies",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(AlertPolicyServiceServer).ListAlertPolicies(ctx, req.(*ListAlertPoliciesRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _AlertPolicyService_GetAlertPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(GetAlertPolicyRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(AlertPolicyServiceServer).GetAlertPolicy(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.AlertPolicyService/GetAlertPolicy",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(AlertPolicyServiceServer).GetAlertPolicy(ctx, req.(*GetAlertPolicyRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _AlertPolicyService_CreateAlertPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(CreateAlertPolicyRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(AlertPolicyServiceServer).CreateAlertPolicy(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.AlertPolicyService/CreateAlertPolicy",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(AlertPolicyServiceServer).CreateAlertPolicy(ctx, req.(*CreateAlertPolicyRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _AlertPolicyService_DeleteAlertPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(DeleteAlertPolicyRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(AlertPolicyServiceServer).DeleteAlertPolicy(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.AlertPolicyService/DeleteAlertPolicy",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(AlertPolicyServiceServer).DeleteAlertPolicy(ctx, req.(*DeleteAlertPolicyRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _AlertPolicyService_UpdateAlertPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(UpdateAlertPolicyRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(AlertPolicyServiceServer).UpdateAlertPolicy(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.AlertPolicyService/UpdateAlertPolicy",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(AlertPolicyServiceServer).UpdateAlertPolicy(ctx, req.(*UpdateAlertPolicyRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-var _AlertPolicyService_serviceDesc = grpc.ServiceDesc{
- ServiceName: "google.monitoring.v3.AlertPolicyService",
- HandlerType: (*AlertPolicyServiceServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "ListAlertPolicies",
- Handler: _AlertPolicyService_ListAlertPolicies_Handler,
- },
- {
- MethodName: "GetAlertPolicy",
- Handler: _AlertPolicyService_GetAlertPolicy_Handler,
- },
- {
- MethodName: "CreateAlertPolicy",
- Handler: _AlertPolicyService_CreateAlertPolicy_Handler,
- },
- {
- MethodName: "DeleteAlertPolicy",
- Handler: _AlertPolicyService_DeleteAlertPolicy_Handler,
- },
- {
- MethodName: "UpdateAlertPolicy",
- Handler: _AlertPolicyService_UpdateAlertPolicy_Handler,
- },
- },
- Streams: []grpc.StreamDesc{},
- Metadata: "google/monitoring/v3/alert_service.proto",
-}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/alert_service_grpc.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/alert_service_grpc.pb.go
new file mode 100644
index 0000000000000..ff3412fb4cae5
--- /dev/null
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/alert_service_grpc.pb.go
@@ -0,0 +1,310 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+// versions:
+// - protoc-gen-go-grpc v1.3.0
+// - protoc v4.25.7
+// source: google/monitoring/v3/alert_service.proto
+
+package monitoringpb
+
+import (
+ context "context"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
+ emptypb "google.golang.org/protobuf/types/known/emptypb"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+// Requires gRPC-Go v1.32.0 or later.
+const _ = grpc.SupportPackageIsVersion7
+
+const (
+ AlertPolicyService_ListAlertPolicies_FullMethodName = "/google.monitoring.v3.AlertPolicyService/ListAlertPolicies"
+ AlertPolicyService_GetAlertPolicy_FullMethodName = "/google.monitoring.v3.AlertPolicyService/GetAlertPolicy"
+ AlertPolicyService_CreateAlertPolicy_FullMethodName = "/google.monitoring.v3.AlertPolicyService/CreateAlertPolicy"
+ AlertPolicyService_DeleteAlertPolicy_FullMethodName = "/google.monitoring.v3.AlertPolicyService/DeleteAlertPolicy"
+ AlertPolicyService_UpdateAlertPolicy_FullMethodName = "/google.monitoring.v3.AlertPolicyService/UpdateAlertPolicy"
+)
+
+// AlertPolicyServiceClient is the client API for AlertPolicyService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+type AlertPolicyServiceClient interface {
+ // Lists the existing alerting policies for the workspace.
+ ListAlertPolicies(ctx context.Context, in *ListAlertPoliciesRequest, opts ...grpc.CallOption) (*ListAlertPoliciesResponse, error)
+ // Gets a single alerting policy.
+ GetAlertPolicy(ctx context.Context, in *GetAlertPolicyRequest, opts ...grpc.CallOption) (*AlertPolicy, error)
+ // Creates a new alerting policy.
+ //
+ // Design your application to single-thread API calls that modify the state of
+ // alerting policies in a single project. This includes calls to
+ // CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
+ CreateAlertPolicy(ctx context.Context, in *CreateAlertPolicyRequest, opts ...grpc.CallOption) (*AlertPolicy, error)
+ // Deletes an alerting policy.
+ //
+ // Design your application to single-thread API calls that modify the state of
+ // alerting policies in a single project. This includes calls to
+ // CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
+ DeleteAlertPolicy(ctx context.Context, in *DeleteAlertPolicyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ // Updates an alerting policy. You can either replace the entire policy with
+ // a new one or replace only certain fields in the current alerting policy by
+ // specifying the fields to be updated via `updateMask`. Returns the
+ // updated alerting policy.
+ //
+ // Design your application to single-thread API calls that modify the state of
+ // alerting policies in a single project. This includes calls to
+ // CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
+ UpdateAlertPolicy(ctx context.Context, in *UpdateAlertPolicyRequest, opts ...grpc.CallOption) (*AlertPolicy, error)
+}
+
+type alertPolicyServiceClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewAlertPolicyServiceClient(cc grpc.ClientConnInterface) AlertPolicyServiceClient {
+ return &alertPolicyServiceClient{cc}
+}
+
+func (c *alertPolicyServiceClient) ListAlertPolicies(ctx context.Context, in *ListAlertPoliciesRequest, opts ...grpc.CallOption) (*ListAlertPoliciesResponse, error) {
+ out := new(ListAlertPoliciesResponse)
+ err := c.cc.Invoke(ctx, AlertPolicyService_ListAlertPolicies_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *alertPolicyServiceClient) GetAlertPolicy(ctx context.Context, in *GetAlertPolicyRequest, opts ...grpc.CallOption) (*AlertPolicy, error) {
+ out := new(AlertPolicy)
+ err := c.cc.Invoke(ctx, AlertPolicyService_GetAlertPolicy_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *alertPolicyServiceClient) CreateAlertPolicy(ctx context.Context, in *CreateAlertPolicyRequest, opts ...grpc.CallOption) (*AlertPolicy, error) {
+ out := new(AlertPolicy)
+ err := c.cc.Invoke(ctx, AlertPolicyService_CreateAlertPolicy_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *alertPolicyServiceClient) DeleteAlertPolicy(ctx context.Context, in *DeleteAlertPolicyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, AlertPolicyService_DeleteAlertPolicy_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *alertPolicyServiceClient) UpdateAlertPolicy(ctx context.Context, in *UpdateAlertPolicyRequest, opts ...grpc.CallOption) (*AlertPolicy, error) {
+ out := new(AlertPolicy)
+ err := c.cc.Invoke(ctx, AlertPolicyService_UpdateAlertPolicy_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// AlertPolicyServiceServer is the server API for AlertPolicyService service.
+// All implementations should embed UnimplementedAlertPolicyServiceServer
+// for forward compatibility
+type AlertPolicyServiceServer interface {
+ // Lists the existing alerting policies for the workspace.
+ ListAlertPolicies(context.Context, *ListAlertPoliciesRequest) (*ListAlertPoliciesResponse, error)
+ // Gets a single alerting policy.
+ GetAlertPolicy(context.Context, *GetAlertPolicyRequest) (*AlertPolicy, error)
+ // Creates a new alerting policy.
+ //
+ // Design your application to single-thread API calls that modify the state of
+ // alerting policies in a single project. This includes calls to
+ // CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
+ CreateAlertPolicy(context.Context, *CreateAlertPolicyRequest) (*AlertPolicy, error)
+ // Deletes an alerting policy.
+ //
+ // Design your application to single-thread API calls that modify the state of
+ // alerting policies in a single project. This includes calls to
+ // CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
+ DeleteAlertPolicy(context.Context, *DeleteAlertPolicyRequest) (*emptypb.Empty, error)
+ // Updates an alerting policy. You can either replace the entire policy with
+ // a new one or replace only certain fields in the current alerting policy by
+ // specifying the fields to be updated via `updateMask`. Returns the
+ // updated alerting policy.
+ //
+ // Design your application to single-thread API calls that modify the state of
+ // alerting policies in a single project. This includes calls to
+ // CreateAlertPolicy, DeleteAlertPolicy and UpdateAlertPolicy.
+ UpdateAlertPolicy(context.Context, *UpdateAlertPolicyRequest) (*AlertPolicy, error)
+}
+
+// UnimplementedAlertPolicyServiceServer should be embedded to have forward compatible implementations.
+type UnimplementedAlertPolicyServiceServer struct {
+}
+
+func (UnimplementedAlertPolicyServiceServer) ListAlertPolicies(context.Context, *ListAlertPoliciesRequest) (*ListAlertPoliciesResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListAlertPolicies not implemented")
+}
+func (UnimplementedAlertPolicyServiceServer) GetAlertPolicy(context.Context, *GetAlertPolicyRequest) (*AlertPolicy, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetAlertPolicy not implemented")
+}
+func (UnimplementedAlertPolicyServiceServer) CreateAlertPolicy(context.Context, *CreateAlertPolicyRequest) (*AlertPolicy, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CreateAlertPolicy not implemented")
+}
+func (UnimplementedAlertPolicyServiceServer) DeleteAlertPolicy(context.Context, *DeleteAlertPolicyRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method DeleteAlertPolicy not implemented")
+}
+func (UnimplementedAlertPolicyServiceServer) UpdateAlertPolicy(context.Context, *UpdateAlertPolicyRequest) (*AlertPolicy, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UpdateAlertPolicy not implemented")
+}
+
+// UnsafeAlertPolicyServiceServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to AlertPolicyServiceServer will
+// result in compilation errors.
+type UnsafeAlertPolicyServiceServer interface {
+ mustEmbedUnimplementedAlertPolicyServiceServer()
+}
+
+func RegisterAlertPolicyServiceServer(s grpc.ServiceRegistrar, srv AlertPolicyServiceServer) {
+ s.RegisterService(&AlertPolicyService_ServiceDesc, srv)
+}
+
+func _AlertPolicyService_ListAlertPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListAlertPoliciesRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(AlertPolicyServiceServer).ListAlertPolicies(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: AlertPolicyService_ListAlertPolicies_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(AlertPolicyServiceServer).ListAlertPolicies(ctx, req.(*ListAlertPoliciesRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _AlertPolicyService_GetAlertPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetAlertPolicyRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(AlertPolicyServiceServer).GetAlertPolicy(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: AlertPolicyService_GetAlertPolicy_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(AlertPolicyServiceServer).GetAlertPolicy(ctx, req.(*GetAlertPolicyRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _AlertPolicyService_CreateAlertPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreateAlertPolicyRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(AlertPolicyServiceServer).CreateAlertPolicy(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: AlertPolicyService_CreateAlertPolicy_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(AlertPolicyServiceServer).CreateAlertPolicy(ctx, req.(*CreateAlertPolicyRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _AlertPolicyService_DeleteAlertPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeleteAlertPolicyRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(AlertPolicyServiceServer).DeleteAlertPolicy(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: AlertPolicyService_DeleteAlertPolicy_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(AlertPolicyServiceServer).DeleteAlertPolicy(ctx, req.(*DeleteAlertPolicyRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _AlertPolicyService_UpdateAlertPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(UpdateAlertPolicyRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(AlertPolicyServiceServer).UpdateAlertPolicy(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: AlertPolicyService_UpdateAlertPolicy_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(AlertPolicyServiceServer).UpdateAlertPolicy(ctx, req.(*UpdateAlertPolicyRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+// AlertPolicyService_ServiceDesc is the grpc.ServiceDesc for AlertPolicyService service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var AlertPolicyService_ServiceDesc = grpc.ServiceDesc{
+ ServiceName: "google.monitoring.v3.AlertPolicyService",
+ HandlerType: (*AlertPolicyServiceServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "ListAlertPolicies",
+ Handler: _AlertPolicyService_ListAlertPolicies_Handler,
+ },
+ {
+ MethodName: "GetAlertPolicy",
+ Handler: _AlertPolicyService_GetAlertPolicy_Handler,
+ },
+ {
+ MethodName: "CreateAlertPolicy",
+ Handler: _AlertPolicyService_CreateAlertPolicy_Handler,
+ },
+ {
+ MethodName: "DeleteAlertPolicy",
+ Handler: _AlertPolicyService_DeleteAlertPolicy_Handler,
+ },
+ {
+ MethodName: "UpdateAlertPolicy",
+ Handler: _AlertPolicyService_UpdateAlertPolicy_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "google/monitoring/v3/alert_service.proto",
+}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/common.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/common.pb.go
index 81b8c8f5e46be..d6d2047b67548 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/common.pb.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/common.pb.go
@@ -15,20 +15,19 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
-// protoc v4.25.3
+// protoc v4.25.7
// source: google/monitoring/v3/common.proto
package monitoringpb
import (
- reflect "reflect"
- sync "sync"
-
distribution "google.golang.org/genproto/googleapis/api/distribution"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
durationpb "google.golang.org/protobuf/types/known/durationpb"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
+ reflect "reflect"
+ sync "sync"
)
const (
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/dropped_labels.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/dropped_labels.pb.go
index 0c3ac5a1c8aad..b9161423cb9ae 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/dropped_labels.pb.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/dropped_labels.pb.go
@@ -15,17 +15,16 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
-// protoc v4.25.3
+// protoc v4.25.7
// source: google/monitoring/v3/dropped_labels.proto
package monitoringpb
import (
- reflect "reflect"
- sync "sync"
-
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
)
const (
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/group.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/group.pb.go
index c35046ac71c07..6cb42d2922d2e 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/group.pb.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/group.pb.go
@@ -15,18 +15,17 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
-// protoc v4.25.3
+// protoc v4.25.7
// source: google/monitoring/v3/group.proto
package monitoringpb
import (
- reflect "reflect"
- sync "sync"
-
_ "google.golang.org/genproto/googleapis/api/annotations"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
)
const (
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/group_service.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/group_service.pb.go
index fbdf9ef54f11a..a0552019c27d3 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/group_service.pb.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/group_service.pb.go
@@ -15,24 +15,19 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
-// protoc v4.25.3
+// protoc v4.25.7
// source: google/monitoring/v3/group_service.proto
package monitoringpb
import (
- context "context"
- reflect "reflect"
- sync "sync"
-
_ "google.golang.org/genproto/googleapis/api/annotations"
monitoredres "google.golang.org/genproto/googleapis/api/monitoredres"
- grpc "google.golang.org/grpc"
- codes "google.golang.org/grpc/codes"
- status "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
emptypb "google.golang.org/protobuf/types/known/emptypb"
+ reflect "reflect"
+ sync "sync"
)
const (
@@ -929,277 +924,3 @@ func file_google_monitoring_v3_group_service_proto_init() {
file_google_monitoring_v3_group_service_proto_goTypes = nil
file_google_monitoring_v3_group_service_proto_depIdxs = nil
}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConnInterface
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion6
-
-// GroupServiceClient is the client API for GroupService service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
-type GroupServiceClient interface {
- // Lists the existing groups.
- ListGroups(ctx context.Context, in *ListGroupsRequest, opts ...grpc.CallOption) (*ListGroupsResponse, error)
- // Gets a single group.
- GetGroup(ctx context.Context, in *GetGroupRequest, opts ...grpc.CallOption) (*Group, error)
- // Creates a new group.
- CreateGroup(ctx context.Context, in *CreateGroupRequest, opts ...grpc.CallOption) (*Group, error)
- // Updates an existing group.
- // You can change any group attributes except `name`.
- UpdateGroup(ctx context.Context, in *UpdateGroupRequest, opts ...grpc.CallOption) (*Group, error)
- // Deletes an existing group.
- DeleteGroup(ctx context.Context, in *DeleteGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
- // Lists the monitored resources that are members of a group.
- ListGroupMembers(ctx context.Context, in *ListGroupMembersRequest, opts ...grpc.CallOption) (*ListGroupMembersResponse, error)
-}
-
-type groupServiceClient struct {
- cc grpc.ClientConnInterface
-}
-
-func NewGroupServiceClient(cc grpc.ClientConnInterface) GroupServiceClient {
- return &groupServiceClient{cc}
-}
-
-func (c *groupServiceClient) ListGroups(ctx context.Context, in *ListGroupsRequest, opts ...grpc.CallOption) (*ListGroupsResponse, error) {
- out := new(ListGroupsResponse)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.GroupService/ListGroups", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *groupServiceClient) GetGroup(ctx context.Context, in *GetGroupRequest, opts ...grpc.CallOption) (*Group, error) {
- out := new(Group)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.GroupService/GetGroup", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *groupServiceClient) CreateGroup(ctx context.Context, in *CreateGroupRequest, opts ...grpc.CallOption) (*Group, error) {
- out := new(Group)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.GroupService/CreateGroup", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *groupServiceClient) UpdateGroup(ctx context.Context, in *UpdateGroupRequest, opts ...grpc.CallOption) (*Group, error) {
- out := new(Group)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.GroupService/UpdateGroup", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *groupServiceClient) DeleteGroup(ctx context.Context, in *DeleteGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
- out := new(emptypb.Empty)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.GroupService/DeleteGroup", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *groupServiceClient) ListGroupMembers(ctx context.Context, in *ListGroupMembersRequest, opts ...grpc.CallOption) (*ListGroupMembersResponse, error) {
- out := new(ListGroupMembersResponse)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.GroupService/ListGroupMembers", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-// GroupServiceServer is the server API for GroupService service.
-type GroupServiceServer interface {
- // Lists the existing groups.
- ListGroups(context.Context, *ListGroupsRequest) (*ListGroupsResponse, error)
- // Gets a single group.
- GetGroup(context.Context, *GetGroupRequest) (*Group, error)
- // Creates a new group.
- CreateGroup(context.Context, *CreateGroupRequest) (*Group, error)
- // Updates an existing group.
- // You can change any group attributes except `name`.
- UpdateGroup(context.Context, *UpdateGroupRequest) (*Group, error)
- // Deletes an existing group.
- DeleteGroup(context.Context, *DeleteGroupRequest) (*emptypb.Empty, error)
- // Lists the monitored resources that are members of a group.
- ListGroupMembers(context.Context, *ListGroupMembersRequest) (*ListGroupMembersResponse, error)
-}
-
-// UnimplementedGroupServiceServer can be embedded to have forward compatible implementations.
-type UnimplementedGroupServiceServer struct {
-}
-
-func (*UnimplementedGroupServiceServer) ListGroups(context.Context, *ListGroupsRequest) (*ListGroupsResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method ListGroups not implemented")
-}
-func (*UnimplementedGroupServiceServer) GetGroup(context.Context, *GetGroupRequest) (*Group, error) {
- return nil, status.Errorf(codes.Unimplemented, "method GetGroup not implemented")
-}
-func (*UnimplementedGroupServiceServer) CreateGroup(context.Context, *CreateGroupRequest) (*Group, error) {
- return nil, status.Errorf(codes.Unimplemented, "method CreateGroup not implemented")
-}
-func (*UnimplementedGroupServiceServer) UpdateGroup(context.Context, *UpdateGroupRequest) (*Group, error) {
- return nil, status.Errorf(codes.Unimplemented, "method UpdateGroup not implemented")
-}
-func (*UnimplementedGroupServiceServer) DeleteGroup(context.Context, *DeleteGroupRequest) (*emptypb.Empty, error) {
- return nil, status.Errorf(codes.Unimplemented, "method DeleteGroup not implemented")
-}
-func (*UnimplementedGroupServiceServer) ListGroupMembers(context.Context, *ListGroupMembersRequest) (*ListGroupMembersResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method ListGroupMembers not implemented")
-}
-
-func RegisterGroupServiceServer(s *grpc.Server, srv GroupServiceServer) {
- s.RegisterService(&_GroupService_serviceDesc, srv)
-}
-
-func _GroupService_ListGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ListGroupsRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(GroupServiceServer).ListGroups(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.GroupService/ListGroups",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(GroupServiceServer).ListGroups(ctx, req.(*ListGroupsRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _GroupService_GetGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(GetGroupRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(GroupServiceServer).GetGroup(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.GroupService/GetGroup",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(GroupServiceServer).GetGroup(ctx, req.(*GetGroupRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _GroupService_CreateGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(CreateGroupRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(GroupServiceServer).CreateGroup(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.GroupService/CreateGroup",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(GroupServiceServer).CreateGroup(ctx, req.(*CreateGroupRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _GroupService_UpdateGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(UpdateGroupRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(GroupServiceServer).UpdateGroup(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.GroupService/UpdateGroup",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(GroupServiceServer).UpdateGroup(ctx, req.(*UpdateGroupRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _GroupService_DeleteGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(DeleteGroupRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(GroupServiceServer).DeleteGroup(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.GroupService/DeleteGroup",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(GroupServiceServer).DeleteGroup(ctx, req.(*DeleteGroupRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _GroupService_ListGroupMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ListGroupMembersRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(GroupServiceServer).ListGroupMembers(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.GroupService/ListGroupMembers",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(GroupServiceServer).ListGroupMembers(ctx, req.(*ListGroupMembersRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-var _GroupService_serviceDesc = grpc.ServiceDesc{
- ServiceName: "google.monitoring.v3.GroupService",
- HandlerType: (*GroupServiceServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "ListGroups",
- Handler: _GroupService_ListGroups_Handler,
- },
- {
- MethodName: "GetGroup",
- Handler: _GroupService_GetGroup_Handler,
- },
- {
- MethodName: "CreateGroup",
- Handler: _GroupService_CreateGroup_Handler,
- },
- {
- MethodName: "UpdateGroup",
- Handler: _GroupService_UpdateGroup_Handler,
- },
- {
- MethodName: "DeleteGroup",
- Handler: _GroupService_DeleteGroup_Handler,
- },
- {
- MethodName: "ListGroupMembers",
- Handler: _GroupService_ListGroupMembers_Handler,
- },
- },
- Streams: []grpc.StreamDesc{},
- Metadata: "google/monitoring/v3/group_service.proto",
-}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/group_service_grpc.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/group_service_grpc.pb.go
new file mode 100644
index 0000000000000..2828587eae199
--- /dev/null
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/group_service_grpc.pb.go
@@ -0,0 +1,321 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+// versions:
+// - protoc-gen-go-grpc v1.3.0
+// - protoc v4.25.7
+// source: google/monitoring/v3/group_service.proto
+
+package monitoringpb
+
+import (
+ context "context"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
+ emptypb "google.golang.org/protobuf/types/known/emptypb"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+// Requires gRPC-Go v1.32.0 or later.
+const _ = grpc.SupportPackageIsVersion7
+
+const (
+ GroupService_ListGroups_FullMethodName = "/google.monitoring.v3.GroupService/ListGroups"
+ GroupService_GetGroup_FullMethodName = "/google.monitoring.v3.GroupService/GetGroup"
+ GroupService_CreateGroup_FullMethodName = "/google.monitoring.v3.GroupService/CreateGroup"
+ GroupService_UpdateGroup_FullMethodName = "/google.monitoring.v3.GroupService/UpdateGroup"
+ GroupService_DeleteGroup_FullMethodName = "/google.monitoring.v3.GroupService/DeleteGroup"
+ GroupService_ListGroupMembers_FullMethodName = "/google.monitoring.v3.GroupService/ListGroupMembers"
+)
+
+// GroupServiceClient is the client API for GroupService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+type GroupServiceClient interface {
+ // Lists the existing groups.
+ ListGroups(ctx context.Context, in *ListGroupsRequest, opts ...grpc.CallOption) (*ListGroupsResponse, error)
+ // Gets a single group.
+ GetGroup(ctx context.Context, in *GetGroupRequest, opts ...grpc.CallOption) (*Group, error)
+ // Creates a new group.
+ CreateGroup(ctx context.Context, in *CreateGroupRequest, opts ...grpc.CallOption) (*Group, error)
+ // Updates an existing group.
+ // You can change any group attributes except `name`.
+ UpdateGroup(ctx context.Context, in *UpdateGroupRequest, opts ...grpc.CallOption) (*Group, error)
+ // Deletes an existing group.
+ DeleteGroup(ctx context.Context, in *DeleteGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ // Lists the monitored resources that are members of a group.
+ ListGroupMembers(ctx context.Context, in *ListGroupMembersRequest, opts ...grpc.CallOption) (*ListGroupMembersResponse, error)
+}
+
+type groupServiceClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewGroupServiceClient(cc grpc.ClientConnInterface) GroupServiceClient {
+ return &groupServiceClient{cc}
+}
+
+func (c *groupServiceClient) ListGroups(ctx context.Context, in *ListGroupsRequest, opts ...grpc.CallOption) (*ListGroupsResponse, error) {
+ out := new(ListGroupsResponse)
+ err := c.cc.Invoke(ctx, GroupService_ListGroups_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *groupServiceClient) GetGroup(ctx context.Context, in *GetGroupRequest, opts ...grpc.CallOption) (*Group, error) {
+ out := new(Group)
+ err := c.cc.Invoke(ctx, GroupService_GetGroup_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *groupServiceClient) CreateGroup(ctx context.Context, in *CreateGroupRequest, opts ...grpc.CallOption) (*Group, error) {
+ out := new(Group)
+ err := c.cc.Invoke(ctx, GroupService_CreateGroup_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *groupServiceClient) UpdateGroup(ctx context.Context, in *UpdateGroupRequest, opts ...grpc.CallOption) (*Group, error) {
+ out := new(Group)
+ err := c.cc.Invoke(ctx, GroupService_UpdateGroup_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *groupServiceClient) DeleteGroup(ctx context.Context, in *DeleteGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, GroupService_DeleteGroup_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *groupServiceClient) ListGroupMembers(ctx context.Context, in *ListGroupMembersRequest, opts ...grpc.CallOption) (*ListGroupMembersResponse, error) {
+ out := new(ListGroupMembersResponse)
+ err := c.cc.Invoke(ctx, GroupService_ListGroupMembers_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// GroupServiceServer is the server API for GroupService service.
+// All implementations should embed UnimplementedGroupServiceServer
+// for forward compatibility
+type GroupServiceServer interface {
+ // Lists the existing groups.
+ ListGroups(context.Context, *ListGroupsRequest) (*ListGroupsResponse, error)
+ // Gets a single group.
+ GetGroup(context.Context, *GetGroupRequest) (*Group, error)
+ // Creates a new group.
+ CreateGroup(context.Context, *CreateGroupRequest) (*Group, error)
+ // Updates an existing group.
+ // You can change any group attributes except `name`.
+ UpdateGroup(context.Context, *UpdateGroupRequest) (*Group, error)
+ // Deletes an existing group.
+ DeleteGroup(context.Context, *DeleteGroupRequest) (*emptypb.Empty, error)
+ // Lists the monitored resources that are members of a group.
+ ListGroupMembers(context.Context, *ListGroupMembersRequest) (*ListGroupMembersResponse, error)
+}
+
+// UnimplementedGroupServiceServer should be embedded to have forward compatible implementations.
+type UnimplementedGroupServiceServer struct {
+}
+
+func (UnimplementedGroupServiceServer) ListGroups(context.Context, *ListGroupsRequest) (*ListGroupsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListGroups not implemented")
+}
+func (UnimplementedGroupServiceServer) GetGroup(context.Context, *GetGroupRequest) (*Group, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetGroup not implemented")
+}
+func (UnimplementedGroupServiceServer) CreateGroup(context.Context, *CreateGroupRequest) (*Group, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CreateGroup not implemented")
+}
+func (UnimplementedGroupServiceServer) UpdateGroup(context.Context, *UpdateGroupRequest) (*Group, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UpdateGroup not implemented")
+}
+func (UnimplementedGroupServiceServer) DeleteGroup(context.Context, *DeleteGroupRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method DeleteGroup not implemented")
+}
+func (UnimplementedGroupServiceServer) ListGroupMembers(context.Context, *ListGroupMembersRequest) (*ListGroupMembersResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListGroupMembers not implemented")
+}
+
+// UnsafeGroupServiceServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to GroupServiceServer will
+// result in compilation errors.
+type UnsafeGroupServiceServer interface {
+ mustEmbedUnimplementedGroupServiceServer()
+}
+
+func RegisterGroupServiceServer(s grpc.ServiceRegistrar, srv GroupServiceServer) {
+ s.RegisterService(&GroupService_ServiceDesc, srv)
+}
+
+func _GroupService_ListGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListGroupsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(GroupServiceServer).ListGroups(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: GroupService_ListGroups_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(GroupServiceServer).ListGroups(ctx, req.(*ListGroupsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _GroupService_GetGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetGroupRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(GroupServiceServer).GetGroup(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: GroupService_GetGroup_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(GroupServiceServer).GetGroup(ctx, req.(*GetGroupRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _GroupService_CreateGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreateGroupRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(GroupServiceServer).CreateGroup(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: GroupService_CreateGroup_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(GroupServiceServer).CreateGroup(ctx, req.(*CreateGroupRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _GroupService_UpdateGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(UpdateGroupRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(GroupServiceServer).UpdateGroup(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: GroupService_UpdateGroup_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(GroupServiceServer).UpdateGroup(ctx, req.(*UpdateGroupRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _GroupService_DeleteGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeleteGroupRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(GroupServiceServer).DeleteGroup(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: GroupService_DeleteGroup_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(GroupServiceServer).DeleteGroup(ctx, req.(*DeleteGroupRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _GroupService_ListGroupMembers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListGroupMembersRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(GroupServiceServer).ListGroupMembers(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: GroupService_ListGroupMembers_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(GroupServiceServer).ListGroupMembers(ctx, req.(*ListGroupMembersRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+// GroupService_ServiceDesc is the grpc.ServiceDesc for GroupService service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var GroupService_ServiceDesc = grpc.ServiceDesc{
+ ServiceName: "google.monitoring.v3.GroupService",
+ HandlerType: (*GroupServiceServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "ListGroups",
+ Handler: _GroupService_ListGroups_Handler,
+ },
+ {
+ MethodName: "GetGroup",
+ Handler: _GroupService_GetGroup_Handler,
+ },
+ {
+ MethodName: "CreateGroup",
+ Handler: _GroupService_CreateGroup_Handler,
+ },
+ {
+ MethodName: "UpdateGroup",
+ Handler: _GroupService_UpdateGroup_Handler,
+ },
+ {
+ MethodName: "DeleteGroup",
+ Handler: _GroupService_DeleteGroup_Handler,
+ },
+ {
+ MethodName: "ListGroupMembers",
+ Handler: _GroupService_ListGroupMembers_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "google/monitoring/v3/group_service.proto",
+}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/metric.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/metric.pb.go
index ae7eea5b6fa3e..7aefb0a5ec617 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/metric.pb.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/metric.pb.go
@@ -15,20 +15,19 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
-// protoc v4.25.3
+// protoc v4.25.7
// source: google/monitoring/v3/metric.proto
package monitoringpb
import (
- reflect "reflect"
- sync "sync"
-
label "google.golang.org/genproto/googleapis/api/label"
metric "google.golang.org/genproto/googleapis/api/metric"
monitoredres "google.golang.org/genproto/googleapis/api/monitoredres"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
)
const (
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/metric_service.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/metric_service.pb.go
index 39b9595241bee..d4067d859494e 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/metric_service.pb.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/metric_service.pb.go
@@ -15,26 +15,21 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
-// protoc v4.25.3
+// protoc v4.25.7
// source: google/monitoring/v3/metric_service.proto
package monitoringpb
import (
- context "context"
- reflect "reflect"
- sync "sync"
-
_ "google.golang.org/genproto/googleapis/api/annotations"
metric "google.golang.org/genproto/googleapis/api/metric"
monitoredres "google.golang.org/genproto/googleapis/api/monitoredres"
status "google.golang.org/genproto/googleapis/rpc/status"
- grpc "google.golang.org/grpc"
- codes "google.golang.org/grpc/codes"
- status1 "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
emptypb "google.golang.org/protobuf/types/known/emptypb"
+ reflect "reflect"
+ sync "sync"
)
const (
@@ -1863,431 +1858,3 @@ func file_google_monitoring_v3_metric_service_proto_init() {
file_google_monitoring_v3_metric_service_proto_goTypes = nil
file_google_monitoring_v3_metric_service_proto_depIdxs = nil
}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConnInterface
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion6
-
-// MetricServiceClient is the client API for MetricService service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
-type MetricServiceClient interface {
- // Lists monitored resource descriptors that match a filter.
- ListMonitoredResourceDescriptors(ctx context.Context, in *ListMonitoredResourceDescriptorsRequest, opts ...grpc.CallOption) (*ListMonitoredResourceDescriptorsResponse, error)
- // Gets a single monitored resource descriptor.
- GetMonitoredResourceDescriptor(ctx context.Context, in *GetMonitoredResourceDescriptorRequest, opts ...grpc.CallOption) (*monitoredres.MonitoredResourceDescriptor, error)
- // Lists metric descriptors that match a filter.
- ListMetricDescriptors(ctx context.Context, in *ListMetricDescriptorsRequest, opts ...grpc.CallOption) (*ListMetricDescriptorsResponse, error)
- // Gets a single metric descriptor.
- GetMetricDescriptor(ctx context.Context, in *GetMetricDescriptorRequest, opts ...grpc.CallOption) (*metric.MetricDescriptor, error)
- // Creates a new metric descriptor.
- // The creation is executed asynchronously.
- // User-created metric descriptors define
- // [custom metrics](https://cloud.google.com/monitoring/custom-metrics).
- // The metric descriptor is updated if it already exists,
- // except that metric labels are never removed.
- CreateMetricDescriptor(ctx context.Context, in *CreateMetricDescriptorRequest, opts ...grpc.CallOption) (*metric.MetricDescriptor, error)
- // Deletes a metric descriptor. Only user-created
- // [custom metrics](https://cloud.google.com/monitoring/custom-metrics) can be
- // deleted.
- DeleteMetricDescriptor(ctx context.Context, in *DeleteMetricDescriptorRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
- // Lists time series that match a filter.
- ListTimeSeries(ctx context.Context, in *ListTimeSeriesRequest, opts ...grpc.CallOption) (*ListTimeSeriesResponse, error)
- // Creates or adds data to one or more time series.
- // The response is empty if all time series in the request were written.
- // If any time series could not be written, a corresponding failure message is
- // included in the error response.
- // This method does not support
- // [resource locations constraint of an organization
- // policy](https://cloud.google.com/resource-manager/docs/organization-policy/defining-locations#setting_the_organization_policy).
- CreateTimeSeries(ctx context.Context, in *CreateTimeSeriesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
- // Creates or adds data to one or more service time series. A service time
- // series is a time series for a metric from a Google Cloud service. The
- // response is empty if all time series in the request were written. If any
- // time series could not be written, a corresponding failure message is
- // included in the error response. This endpoint rejects writes to
- // user-defined metrics.
- // This method is only for use by Google Cloud services. Use
- // [projects.timeSeries.create][google.monitoring.v3.MetricService.CreateTimeSeries]
- // instead.
- CreateServiceTimeSeries(ctx context.Context, in *CreateTimeSeriesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
-}
-
-type metricServiceClient struct {
- cc grpc.ClientConnInterface
-}
-
-func NewMetricServiceClient(cc grpc.ClientConnInterface) MetricServiceClient {
- return &metricServiceClient{cc}
-}
-
-func (c *metricServiceClient) ListMonitoredResourceDescriptors(ctx context.Context, in *ListMonitoredResourceDescriptorsRequest, opts ...grpc.CallOption) (*ListMonitoredResourceDescriptorsResponse, error) {
- out := new(ListMonitoredResourceDescriptorsResponse)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.MetricService/ListMonitoredResourceDescriptors", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *metricServiceClient) GetMonitoredResourceDescriptor(ctx context.Context, in *GetMonitoredResourceDescriptorRequest, opts ...grpc.CallOption) (*monitoredres.MonitoredResourceDescriptor, error) {
- out := new(monitoredres.MonitoredResourceDescriptor)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.MetricService/GetMonitoredResourceDescriptor", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *metricServiceClient) ListMetricDescriptors(ctx context.Context, in *ListMetricDescriptorsRequest, opts ...grpc.CallOption) (*ListMetricDescriptorsResponse, error) {
- out := new(ListMetricDescriptorsResponse)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.MetricService/ListMetricDescriptors", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *metricServiceClient) GetMetricDescriptor(ctx context.Context, in *GetMetricDescriptorRequest, opts ...grpc.CallOption) (*metric.MetricDescriptor, error) {
- out := new(metric.MetricDescriptor)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.MetricService/GetMetricDescriptor", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *metricServiceClient) CreateMetricDescriptor(ctx context.Context, in *CreateMetricDescriptorRequest, opts ...grpc.CallOption) (*metric.MetricDescriptor, error) {
- out := new(metric.MetricDescriptor)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.MetricService/CreateMetricDescriptor", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *metricServiceClient) DeleteMetricDescriptor(ctx context.Context, in *DeleteMetricDescriptorRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
- out := new(emptypb.Empty)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.MetricService/DeleteMetricDescriptor", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *metricServiceClient) ListTimeSeries(ctx context.Context, in *ListTimeSeriesRequest, opts ...grpc.CallOption) (*ListTimeSeriesResponse, error) {
- out := new(ListTimeSeriesResponse)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.MetricService/ListTimeSeries", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *metricServiceClient) CreateTimeSeries(ctx context.Context, in *CreateTimeSeriesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
- out := new(emptypb.Empty)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.MetricService/CreateTimeSeries", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *metricServiceClient) CreateServiceTimeSeries(ctx context.Context, in *CreateTimeSeriesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
- out := new(emptypb.Empty)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.MetricService/CreateServiceTimeSeries", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-// MetricServiceServer is the server API for MetricService service.
-type MetricServiceServer interface {
- // Lists monitored resource descriptors that match a filter.
- ListMonitoredResourceDescriptors(context.Context, *ListMonitoredResourceDescriptorsRequest) (*ListMonitoredResourceDescriptorsResponse, error)
- // Gets a single monitored resource descriptor.
- GetMonitoredResourceDescriptor(context.Context, *GetMonitoredResourceDescriptorRequest) (*monitoredres.MonitoredResourceDescriptor, error)
- // Lists metric descriptors that match a filter.
- ListMetricDescriptors(context.Context, *ListMetricDescriptorsRequest) (*ListMetricDescriptorsResponse, error)
- // Gets a single metric descriptor.
- GetMetricDescriptor(context.Context, *GetMetricDescriptorRequest) (*metric.MetricDescriptor, error)
- // Creates a new metric descriptor.
- // The creation is executed asynchronously.
- // User-created metric descriptors define
- // [custom metrics](https://cloud.google.com/monitoring/custom-metrics).
- // The metric descriptor is updated if it already exists,
- // except that metric labels are never removed.
- CreateMetricDescriptor(context.Context, *CreateMetricDescriptorRequest) (*metric.MetricDescriptor, error)
- // Deletes a metric descriptor. Only user-created
- // [custom metrics](https://cloud.google.com/monitoring/custom-metrics) can be
- // deleted.
- DeleteMetricDescriptor(context.Context, *DeleteMetricDescriptorRequest) (*emptypb.Empty, error)
- // Lists time series that match a filter.
- ListTimeSeries(context.Context, *ListTimeSeriesRequest) (*ListTimeSeriesResponse, error)
- // Creates or adds data to one or more time series.
- // The response is empty if all time series in the request were written.
- // If any time series could not be written, a corresponding failure message is
- // included in the error response.
- // This method does not support
- // [resource locations constraint of an organization
- // policy](https://cloud.google.com/resource-manager/docs/organization-policy/defining-locations#setting_the_organization_policy).
- CreateTimeSeries(context.Context, *CreateTimeSeriesRequest) (*emptypb.Empty, error)
- // Creates or adds data to one or more service time series. A service time
- // series is a time series for a metric from a Google Cloud service. The
- // response is empty if all time series in the request were written. If any
- // time series could not be written, a corresponding failure message is
- // included in the error response. This endpoint rejects writes to
- // user-defined metrics.
- // This method is only for use by Google Cloud services. Use
- // [projects.timeSeries.create][google.monitoring.v3.MetricService.CreateTimeSeries]
- // instead.
- CreateServiceTimeSeries(context.Context, *CreateTimeSeriesRequest) (*emptypb.Empty, error)
-}
-
-// UnimplementedMetricServiceServer can be embedded to have forward compatible implementations.
-type UnimplementedMetricServiceServer struct {
-}
-
-func (*UnimplementedMetricServiceServer) ListMonitoredResourceDescriptors(context.Context, *ListMonitoredResourceDescriptorsRequest) (*ListMonitoredResourceDescriptorsResponse, error) {
- return nil, status1.Errorf(codes.Unimplemented, "method ListMonitoredResourceDescriptors not implemented")
-}
-func (*UnimplementedMetricServiceServer) GetMonitoredResourceDescriptor(context.Context, *GetMonitoredResourceDescriptorRequest) (*monitoredres.MonitoredResourceDescriptor, error) {
- return nil, status1.Errorf(codes.Unimplemented, "method GetMonitoredResourceDescriptor not implemented")
-}
-func (*UnimplementedMetricServiceServer) ListMetricDescriptors(context.Context, *ListMetricDescriptorsRequest) (*ListMetricDescriptorsResponse, error) {
- return nil, status1.Errorf(codes.Unimplemented, "method ListMetricDescriptors not implemented")
-}
-func (*UnimplementedMetricServiceServer) GetMetricDescriptor(context.Context, *GetMetricDescriptorRequest) (*metric.MetricDescriptor, error) {
- return nil, status1.Errorf(codes.Unimplemented, "method GetMetricDescriptor not implemented")
-}
-func (*UnimplementedMetricServiceServer) CreateMetricDescriptor(context.Context, *CreateMetricDescriptorRequest) (*metric.MetricDescriptor, error) {
- return nil, status1.Errorf(codes.Unimplemented, "method CreateMetricDescriptor not implemented")
-}
-func (*UnimplementedMetricServiceServer) DeleteMetricDescriptor(context.Context, *DeleteMetricDescriptorRequest) (*emptypb.Empty, error) {
- return nil, status1.Errorf(codes.Unimplemented, "method DeleteMetricDescriptor not implemented")
-}
-func (*UnimplementedMetricServiceServer) ListTimeSeries(context.Context, *ListTimeSeriesRequest) (*ListTimeSeriesResponse, error) {
- return nil, status1.Errorf(codes.Unimplemented, "method ListTimeSeries not implemented")
-}
-func (*UnimplementedMetricServiceServer) CreateTimeSeries(context.Context, *CreateTimeSeriesRequest) (*emptypb.Empty, error) {
- return nil, status1.Errorf(codes.Unimplemented, "method CreateTimeSeries not implemented")
-}
-func (*UnimplementedMetricServiceServer) CreateServiceTimeSeries(context.Context, *CreateTimeSeriesRequest) (*emptypb.Empty, error) {
- return nil, status1.Errorf(codes.Unimplemented, "method CreateServiceTimeSeries not implemented")
-}
-
-func RegisterMetricServiceServer(s *grpc.Server, srv MetricServiceServer) {
- s.RegisterService(&_MetricService_serviceDesc, srv)
-}
-
-func _MetricService_ListMonitoredResourceDescriptors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ListMonitoredResourceDescriptorsRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(MetricServiceServer).ListMonitoredResourceDescriptors(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.MetricService/ListMonitoredResourceDescriptors",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(MetricServiceServer).ListMonitoredResourceDescriptors(ctx, req.(*ListMonitoredResourceDescriptorsRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _MetricService_GetMonitoredResourceDescriptor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(GetMonitoredResourceDescriptorRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(MetricServiceServer).GetMonitoredResourceDescriptor(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.MetricService/GetMonitoredResourceDescriptor",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(MetricServiceServer).GetMonitoredResourceDescriptor(ctx, req.(*GetMonitoredResourceDescriptorRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _MetricService_ListMetricDescriptors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ListMetricDescriptorsRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(MetricServiceServer).ListMetricDescriptors(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.MetricService/ListMetricDescriptors",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(MetricServiceServer).ListMetricDescriptors(ctx, req.(*ListMetricDescriptorsRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _MetricService_GetMetricDescriptor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(GetMetricDescriptorRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(MetricServiceServer).GetMetricDescriptor(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.MetricService/GetMetricDescriptor",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(MetricServiceServer).GetMetricDescriptor(ctx, req.(*GetMetricDescriptorRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _MetricService_CreateMetricDescriptor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(CreateMetricDescriptorRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(MetricServiceServer).CreateMetricDescriptor(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.MetricService/CreateMetricDescriptor",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(MetricServiceServer).CreateMetricDescriptor(ctx, req.(*CreateMetricDescriptorRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _MetricService_DeleteMetricDescriptor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(DeleteMetricDescriptorRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(MetricServiceServer).DeleteMetricDescriptor(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.MetricService/DeleteMetricDescriptor",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(MetricServiceServer).DeleteMetricDescriptor(ctx, req.(*DeleteMetricDescriptorRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _MetricService_ListTimeSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ListTimeSeriesRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(MetricServiceServer).ListTimeSeries(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.MetricService/ListTimeSeries",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(MetricServiceServer).ListTimeSeries(ctx, req.(*ListTimeSeriesRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _MetricService_CreateTimeSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(CreateTimeSeriesRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(MetricServiceServer).CreateTimeSeries(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.MetricService/CreateTimeSeries",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(MetricServiceServer).CreateTimeSeries(ctx, req.(*CreateTimeSeriesRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _MetricService_CreateServiceTimeSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(CreateTimeSeriesRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(MetricServiceServer).CreateServiceTimeSeries(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.MetricService/CreateServiceTimeSeries",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(MetricServiceServer).CreateServiceTimeSeries(ctx, req.(*CreateTimeSeriesRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-var _MetricService_serviceDesc = grpc.ServiceDesc{
- ServiceName: "google.monitoring.v3.MetricService",
- HandlerType: (*MetricServiceServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "ListMonitoredResourceDescriptors",
- Handler: _MetricService_ListMonitoredResourceDescriptors_Handler,
- },
- {
- MethodName: "GetMonitoredResourceDescriptor",
- Handler: _MetricService_GetMonitoredResourceDescriptor_Handler,
- },
- {
- MethodName: "ListMetricDescriptors",
- Handler: _MetricService_ListMetricDescriptors_Handler,
- },
- {
- MethodName: "GetMetricDescriptor",
- Handler: _MetricService_GetMetricDescriptor_Handler,
- },
- {
- MethodName: "CreateMetricDescriptor",
- Handler: _MetricService_CreateMetricDescriptor_Handler,
- },
- {
- MethodName: "DeleteMetricDescriptor",
- Handler: _MetricService_DeleteMetricDescriptor_Handler,
- },
- {
- MethodName: "ListTimeSeries",
- Handler: _MetricService_ListTimeSeries_Handler,
- },
- {
- MethodName: "CreateTimeSeries",
- Handler: _MetricService_CreateTimeSeries_Handler,
- },
- {
- MethodName: "CreateServiceTimeSeries",
- Handler: _MetricService_CreateServiceTimeSeries_Handler,
- },
- },
- Streams: []grpc.StreamDesc{},
- Metadata: "google/monitoring/v3/metric_service.proto",
-}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/metric_service_grpc.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/metric_service_grpc.pb.go
new file mode 100644
index 0000000000000..b4a5478cf61a7
--- /dev/null
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/metric_service_grpc.pb.go
@@ -0,0 +1,480 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+// versions:
+// - protoc-gen-go-grpc v1.3.0
+// - protoc v4.25.7
+// source: google/monitoring/v3/metric_service.proto
+
+package monitoringpb
+
+import (
+ context "context"
+ metric "google.golang.org/genproto/googleapis/api/metric"
+ monitoredres "google.golang.org/genproto/googleapis/api/monitoredres"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
+ emptypb "google.golang.org/protobuf/types/known/emptypb"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+// Requires gRPC-Go v1.32.0 or later.
+const _ = grpc.SupportPackageIsVersion7
+
+const (
+ MetricService_ListMonitoredResourceDescriptors_FullMethodName = "/google.monitoring.v3.MetricService/ListMonitoredResourceDescriptors"
+ MetricService_GetMonitoredResourceDescriptor_FullMethodName = "/google.monitoring.v3.MetricService/GetMonitoredResourceDescriptor"
+ MetricService_ListMetricDescriptors_FullMethodName = "/google.monitoring.v3.MetricService/ListMetricDescriptors"
+ MetricService_GetMetricDescriptor_FullMethodName = "/google.monitoring.v3.MetricService/GetMetricDescriptor"
+ MetricService_CreateMetricDescriptor_FullMethodName = "/google.monitoring.v3.MetricService/CreateMetricDescriptor"
+ MetricService_DeleteMetricDescriptor_FullMethodName = "/google.monitoring.v3.MetricService/DeleteMetricDescriptor"
+ MetricService_ListTimeSeries_FullMethodName = "/google.monitoring.v3.MetricService/ListTimeSeries"
+ MetricService_CreateTimeSeries_FullMethodName = "/google.monitoring.v3.MetricService/CreateTimeSeries"
+ MetricService_CreateServiceTimeSeries_FullMethodName = "/google.monitoring.v3.MetricService/CreateServiceTimeSeries"
+)
+
+// MetricServiceClient is the client API for MetricService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+type MetricServiceClient interface {
+ // Lists monitored resource descriptors that match a filter.
+ ListMonitoredResourceDescriptors(ctx context.Context, in *ListMonitoredResourceDescriptorsRequest, opts ...grpc.CallOption) (*ListMonitoredResourceDescriptorsResponse, error)
+ // Gets a single monitored resource descriptor.
+ GetMonitoredResourceDescriptor(ctx context.Context, in *GetMonitoredResourceDescriptorRequest, opts ...grpc.CallOption) (*monitoredres.MonitoredResourceDescriptor, error)
+ // Lists metric descriptors that match a filter.
+ ListMetricDescriptors(ctx context.Context, in *ListMetricDescriptorsRequest, opts ...grpc.CallOption) (*ListMetricDescriptorsResponse, error)
+ // Gets a single metric descriptor.
+ GetMetricDescriptor(ctx context.Context, in *GetMetricDescriptorRequest, opts ...grpc.CallOption) (*metric.MetricDescriptor, error)
+ // Creates a new metric descriptor.
+ // The creation is executed asynchronously.
+ // User-created metric descriptors define
+ // [custom metrics](https://cloud.google.com/monitoring/custom-metrics).
+ // The metric descriptor is updated if it already exists,
+ // except that metric labels are never removed.
+ CreateMetricDescriptor(ctx context.Context, in *CreateMetricDescriptorRequest, opts ...grpc.CallOption) (*metric.MetricDescriptor, error)
+ // Deletes a metric descriptor. Only user-created
+ // [custom metrics](https://cloud.google.com/monitoring/custom-metrics) can be
+ // deleted.
+ DeleteMetricDescriptor(ctx context.Context, in *DeleteMetricDescriptorRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ // Lists time series that match a filter.
+ ListTimeSeries(ctx context.Context, in *ListTimeSeriesRequest, opts ...grpc.CallOption) (*ListTimeSeriesResponse, error)
+ // Creates or adds data to one or more time series.
+ // The response is empty if all time series in the request were written.
+ // If any time series could not be written, a corresponding failure message is
+ // included in the error response.
+ // This method does not support
+ // [resource locations constraint of an organization
+ // policy](https://cloud.google.com/resource-manager/docs/organization-policy/defining-locations#setting_the_organization_policy).
+ CreateTimeSeries(ctx context.Context, in *CreateTimeSeriesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ // Creates or adds data to one or more service time series. A service time
+ // series is a time series for a metric from a Google Cloud service. The
+ // response is empty if all time series in the request were written. If any
+ // time series could not be written, a corresponding failure message is
+ // included in the error response. This endpoint rejects writes to
+ // user-defined metrics.
+ // This method is only for use by Google Cloud services. Use
+ // [projects.timeSeries.create][google.monitoring.v3.MetricService.CreateTimeSeries]
+ // instead.
+ CreateServiceTimeSeries(ctx context.Context, in *CreateTimeSeriesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+}
+
+type metricServiceClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewMetricServiceClient(cc grpc.ClientConnInterface) MetricServiceClient {
+ return &metricServiceClient{cc}
+}
+
+func (c *metricServiceClient) ListMonitoredResourceDescriptors(ctx context.Context, in *ListMonitoredResourceDescriptorsRequest, opts ...grpc.CallOption) (*ListMonitoredResourceDescriptorsResponse, error) {
+ out := new(ListMonitoredResourceDescriptorsResponse)
+ err := c.cc.Invoke(ctx, MetricService_ListMonitoredResourceDescriptors_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *metricServiceClient) GetMonitoredResourceDescriptor(ctx context.Context, in *GetMonitoredResourceDescriptorRequest, opts ...grpc.CallOption) (*monitoredres.MonitoredResourceDescriptor, error) {
+ out := new(monitoredres.MonitoredResourceDescriptor)
+ err := c.cc.Invoke(ctx, MetricService_GetMonitoredResourceDescriptor_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *metricServiceClient) ListMetricDescriptors(ctx context.Context, in *ListMetricDescriptorsRequest, opts ...grpc.CallOption) (*ListMetricDescriptorsResponse, error) {
+ out := new(ListMetricDescriptorsResponse)
+ err := c.cc.Invoke(ctx, MetricService_ListMetricDescriptors_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *metricServiceClient) GetMetricDescriptor(ctx context.Context, in *GetMetricDescriptorRequest, opts ...grpc.CallOption) (*metric.MetricDescriptor, error) {
+ out := new(metric.MetricDescriptor)
+ err := c.cc.Invoke(ctx, MetricService_GetMetricDescriptor_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *metricServiceClient) CreateMetricDescriptor(ctx context.Context, in *CreateMetricDescriptorRequest, opts ...grpc.CallOption) (*metric.MetricDescriptor, error) {
+ out := new(metric.MetricDescriptor)
+ err := c.cc.Invoke(ctx, MetricService_CreateMetricDescriptor_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *metricServiceClient) DeleteMetricDescriptor(ctx context.Context, in *DeleteMetricDescriptorRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, MetricService_DeleteMetricDescriptor_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *metricServiceClient) ListTimeSeries(ctx context.Context, in *ListTimeSeriesRequest, opts ...grpc.CallOption) (*ListTimeSeriesResponse, error) {
+ out := new(ListTimeSeriesResponse)
+ err := c.cc.Invoke(ctx, MetricService_ListTimeSeries_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *metricServiceClient) CreateTimeSeries(ctx context.Context, in *CreateTimeSeriesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, MetricService_CreateTimeSeries_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *metricServiceClient) CreateServiceTimeSeries(ctx context.Context, in *CreateTimeSeriesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, MetricService_CreateServiceTimeSeries_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// MetricServiceServer is the server API for MetricService service.
+// All implementations should embed UnimplementedMetricServiceServer
+// for forward compatibility
+type MetricServiceServer interface {
+ // Lists monitored resource descriptors that match a filter.
+ ListMonitoredResourceDescriptors(context.Context, *ListMonitoredResourceDescriptorsRequest) (*ListMonitoredResourceDescriptorsResponse, error)
+ // Gets a single monitored resource descriptor.
+ GetMonitoredResourceDescriptor(context.Context, *GetMonitoredResourceDescriptorRequest) (*monitoredres.MonitoredResourceDescriptor, error)
+ // Lists metric descriptors that match a filter.
+ ListMetricDescriptors(context.Context, *ListMetricDescriptorsRequest) (*ListMetricDescriptorsResponse, error)
+ // Gets a single metric descriptor.
+ GetMetricDescriptor(context.Context, *GetMetricDescriptorRequest) (*metric.MetricDescriptor, error)
+ // Creates a new metric descriptor.
+ // The creation is executed asynchronously.
+ // User-created metric descriptors define
+ // [custom metrics](https://cloud.google.com/monitoring/custom-metrics).
+ // The metric descriptor is updated if it already exists,
+ // except that metric labels are never removed.
+ CreateMetricDescriptor(context.Context, *CreateMetricDescriptorRequest) (*metric.MetricDescriptor, error)
+ // Deletes a metric descriptor. Only user-created
+ // [custom metrics](https://cloud.google.com/monitoring/custom-metrics) can be
+ // deleted.
+ DeleteMetricDescriptor(context.Context, *DeleteMetricDescriptorRequest) (*emptypb.Empty, error)
+ // Lists time series that match a filter.
+ ListTimeSeries(context.Context, *ListTimeSeriesRequest) (*ListTimeSeriesResponse, error)
+ // Creates or adds data to one or more time series.
+ // The response is empty if all time series in the request were written.
+ // If any time series could not be written, a corresponding failure message is
+ // included in the error response.
+ // This method does not support
+ // [resource locations constraint of an organization
+ // policy](https://cloud.google.com/resource-manager/docs/organization-policy/defining-locations#setting_the_organization_policy).
+ CreateTimeSeries(context.Context, *CreateTimeSeriesRequest) (*emptypb.Empty, error)
+ // Creates or adds data to one or more service time series. A service time
+ // series is a time series for a metric from a Google Cloud service. The
+ // response is empty if all time series in the request were written. If any
+ // time series could not be written, a corresponding failure message is
+ // included in the error response. This endpoint rejects writes to
+ // user-defined metrics.
+ // This method is only for use by Google Cloud services. Use
+ // [projects.timeSeries.create][google.monitoring.v3.MetricService.CreateTimeSeries]
+ // instead.
+ CreateServiceTimeSeries(context.Context, *CreateTimeSeriesRequest) (*emptypb.Empty, error)
+}
+
+// UnimplementedMetricServiceServer should be embedded to have forward compatible implementations.
+type UnimplementedMetricServiceServer struct {
+}
+
+func (UnimplementedMetricServiceServer) ListMonitoredResourceDescriptors(context.Context, *ListMonitoredResourceDescriptorsRequest) (*ListMonitoredResourceDescriptorsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListMonitoredResourceDescriptors not implemented")
+}
+func (UnimplementedMetricServiceServer) GetMonitoredResourceDescriptor(context.Context, *GetMonitoredResourceDescriptorRequest) (*monitoredres.MonitoredResourceDescriptor, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetMonitoredResourceDescriptor not implemented")
+}
+func (UnimplementedMetricServiceServer) ListMetricDescriptors(context.Context, *ListMetricDescriptorsRequest) (*ListMetricDescriptorsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListMetricDescriptors not implemented")
+}
+func (UnimplementedMetricServiceServer) GetMetricDescriptor(context.Context, *GetMetricDescriptorRequest) (*metric.MetricDescriptor, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetMetricDescriptor not implemented")
+}
+func (UnimplementedMetricServiceServer) CreateMetricDescriptor(context.Context, *CreateMetricDescriptorRequest) (*metric.MetricDescriptor, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CreateMetricDescriptor not implemented")
+}
+func (UnimplementedMetricServiceServer) DeleteMetricDescriptor(context.Context, *DeleteMetricDescriptorRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method DeleteMetricDescriptor not implemented")
+}
+func (UnimplementedMetricServiceServer) ListTimeSeries(context.Context, *ListTimeSeriesRequest) (*ListTimeSeriesResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListTimeSeries not implemented")
+}
+func (UnimplementedMetricServiceServer) CreateTimeSeries(context.Context, *CreateTimeSeriesRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CreateTimeSeries not implemented")
+}
+func (UnimplementedMetricServiceServer) CreateServiceTimeSeries(context.Context, *CreateTimeSeriesRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CreateServiceTimeSeries not implemented")
+}
+
+// UnsafeMetricServiceServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to MetricServiceServer will
+// result in compilation errors.
+type UnsafeMetricServiceServer interface {
+ mustEmbedUnimplementedMetricServiceServer()
+}
+
+func RegisterMetricServiceServer(s grpc.ServiceRegistrar, srv MetricServiceServer) {
+ s.RegisterService(&MetricService_ServiceDesc, srv)
+}
+
+func _MetricService_ListMonitoredResourceDescriptors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListMonitoredResourceDescriptorsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(MetricServiceServer).ListMonitoredResourceDescriptors(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: MetricService_ListMonitoredResourceDescriptors_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(MetricServiceServer).ListMonitoredResourceDescriptors(ctx, req.(*ListMonitoredResourceDescriptorsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _MetricService_GetMonitoredResourceDescriptor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetMonitoredResourceDescriptorRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(MetricServiceServer).GetMonitoredResourceDescriptor(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: MetricService_GetMonitoredResourceDescriptor_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(MetricServiceServer).GetMonitoredResourceDescriptor(ctx, req.(*GetMonitoredResourceDescriptorRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _MetricService_ListMetricDescriptors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListMetricDescriptorsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(MetricServiceServer).ListMetricDescriptors(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: MetricService_ListMetricDescriptors_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(MetricServiceServer).ListMetricDescriptors(ctx, req.(*ListMetricDescriptorsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _MetricService_GetMetricDescriptor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetMetricDescriptorRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(MetricServiceServer).GetMetricDescriptor(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: MetricService_GetMetricDescriptor_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(MetricServiceServer).GetMetricDescriptor(ctx, req.(*GetMetricDescriptorRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _MetricService_CreateMetricDescriptor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreateMetricDescriptorRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(MetricServiceServer).CreateMetricDescriptor(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: MetricService_CreateMetricDescriptor_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(MetricServiceServer).CreateMetricDescriptor(ctx, req.(*CreateMetricDescriptorRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _MetricService_DeleteMetricDescriptor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeleteMetricDescriptorRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(MetricServiceServer).DeleteMetricDescriptor(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: MetricService_DeleteMetricDescriptor_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(MetricServiceServer).DeleteMetricDescriptor(ctx, req.(*DeleteMetricDescriptorRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _MetricService_ListTimeSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListTimeSeriesRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(MetricServiceServer).ListTimeSeries(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: MetricService_ListTimeSeries_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(MetricServiceServer).ListTimeSeries(ctx, req.(*ListTimeSeriesRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _MetricService_CreateTimeSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreateTimeSeriesRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(MetricServiceServer).CreateTimeSeries(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: MetricService_CreateTimeSeries_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(MetricServiceServer).CreateTimeSeries(ctx, req.(*CreateTimeSeriesRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _MetricService_CreateServiceTimeSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreateTimeSeriesRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(MetricServiceServer).CreateServiceTimeSeries(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: MetricService_CreateServiceTimeSeries_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(MetricServiceServer).CreateServiceTimeSeries(ctx, req.(*CreateTimeSeriesRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+// MetricService_ServiceDesc is the grpc.ServiceDesc for MetricService service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var MetricService_ServiceDesc = grpc.ServiceDesc{
+ ServiceName: "google.monitoring.v3.MetricService",
+ HandlerType: (*MetricServiceServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "ListMonitoredResourceDescriptors",
+ Handler: _MetricService_ListMonitoredResourceDescriptors_Handler,
+ },
+ {
+ MethodName: "GetMonitoredResourceDescriptor",
+ Handler: _MetricService_GetMonitoredResourceDescriptor_Handler,
+ },
+ {
+ MethodName: "ListMetricDescriptors",
+ Handler: _MetricService_ListMetricDescriptors_Handler,
+ },
+ {
+ MethodName: "GetMetricDescriptor",
+ Handler: _MetricService_GetMetricDescriptor_Handler,
+ },
+ {
+ MethodName: "CreateMetricDescriptor",
+ Handler: _MetricService_CreateMetricDescriptor_Handler,
+ },
+ {
+ MethodName: "DeleteMetricDescriptor",
+ Handler: _MetricService_DeleteMetricDescriptor_Handler,
+ },
+ {
+ MethodName: "ListTimeSeries",
+ Handler: _MetricService_ListTimeSeries_Handler,
+ },
+ {
+ MethodName: "CreateTimeSeries",
+ Handler: _MetricService_CreateTimeSeries_Handler,
+ },
+ {
+ MethodName: "CreateServiceTimeSeries",
+ Handler: _MetricService_CreateServiceTimeSeries_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "google/monitoring/v3/metric_service.proto",
+}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/mutation_record.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/mutation_record.pb.go
index e03d89efe4df1..820101962eb00 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/mutation_record.pb.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/mutation_record.pb.go
@@ -15,18 +15,17 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
-// protoc v4.25.3
+// protoc v4.25.7
// source: google/monitoring/v3/mutation_record.proto
package monitoringpb
import (
- reflect "reflect"
- sync "sync"
-
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
+ reflect "reflect"
+ sync "sync"
)
const (
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/notification.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/notification.pb.go
index 0d5cacbecb012..b2f0806e89325 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/notification.pb.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/notification.pb.go
@@ -15,21 +15,20 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
-// protoc v4.25.3
+// protoc v4.25.7
// source: google/monitoring/v3/notification.proto
package monitoringpb
import (
- reflect "reflect"
- sync "sync"
-
api "google.golang.org/genproto/googleapis/api"
_ "google.golang.org/genproto/googleapis/api/annotations"
label "google.golang.org/genproto/googleapis/api/label"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
+ reflect "reflect"
+ sync "sync"
)
const (
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/notification_service.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/notification_service.pb.go
index fd0230036daee..1270600b38f5b 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/notification_service.pb.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/notification_service.pb.go
@@ -15,25 +15,20 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
-// protoc v4.25.3
+// protoc v4.25.7
// source: google/monitoring/v3/notification_service.proto
package monitoringpb
import (
- context "context"
- reflect "reflect"
- sync "sync"
-
_ "google.golang.org/genproto/googleapis/api/annotations"
- grpc "google.golang.org/grpc"
- codes "google.golang.org/grpc/codes"
- status "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
emptypb "google.golang.org/protobuf/types/known/emptypb"
fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
+ reflect "reflect"
+ sync "sync"
)
const (
@@ -1297,523 +1292,3 @@ func file_google_monitoring_v3_notification_service_proto_init() {
file_google_monitoring_v3_notification_service_proto_goTypes = nil
file_google_monitoring_v3_notification_service_proto_depIdxs = nil
}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConnInterface
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion6
-
-// NotificationChannelServiceClient is the client API for NotificationChannelService service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
-type NotificationChannelServiceClient interface {
- // Lists the descriptors for supported channel types. The use of descriptors
- // makes it possible for new channel types to be dynamically added.
- ListNotificationChannelDescriptors(ctx context.Context, in *ListNotificationChannelDescriptorsRequest, opts ...grpc.CallOption) (*ListNotificationChannelDescriptorsResponse, error)
- // Gets a single channel descriptor. The descriptor indicates which fields
- // are expected / permitted for a notification channel of the given type.
- GetNotificationChannelDescriptor(ctx context.Context, in *GetNotificationChannelDescriptorRequest, opts ...grpc.CallOption) (*NotificationChannelDescriptor, error)
- // Lists the notification channels that have been created for the project.
- // To list the types of notification channels that are supported, use
- // the `ListNotificationChannelDescriptors` method.
- ListNotificationChannels(ctx context.Context, in *ListNotificationChannelsRequest, opts ...grpc.CallOption) (*ListNotificationChannelsResponse, error)
- // Gets a single notification channel. The channel includes the relevant
- // configuration details with which the channel was created. However, the
- // response may truncate or omit passwords, API keys, or other private key
- // matter and thus the response may not be 100% identical to the information
- // that was supplied in the call to the create method.
- GetNotificationChannel(ctx context.Context, in *GetNotificationChannelRequest, opts ...grpc.CallOption) (*NotificationChannel, error)
- // Creates a new notification channel, representing a single notification
- // endpoint such as an email address, SMS number, or PagerDuty service.
- //
- // Design your application to single-thread API calls that modify the state of
- // notification channels in a single project. This includes calls to
- // CreateNotificationChannel, DeleteNotificationChannel and
- // UpdateNotificationChannel.
- CreateNotificationChannel(ctx context.Context, in *CreateNotificationChannelRequest, opts ...grpc.CallOption) (*NotificationChannel, error)
- // Updates a notification channel. Fields not specified in the field mask
- // remain unchanged.
- //
- // Design your application to single-thread API calls that modify the state of
- // notification channels in a single project. This includes calls to
- // CreateNotificationChannel, DeleteNotificationChannel and
- // UpdateNotificationChannel.
- UpdateNotificationChannel(ctx context.Context, in *UpdateNotificationChannelRequest, opts ...grpc.CallOption) (*NotificationChannel, error)
- // Deletes a notification channel.
- //
- // Design your application to single-thread API calls that modify the state of
- // notification channels in a single project. This includes calls to
- // CreateNotificationChannel, DeleteNotificationChannel and
- // UpdateNotificationChannel.
- DeleteNotificationChannel(ctx context.Context, in *DeleteNotificationChannelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
- // Causes a verification code to be delivered to the channel. The code
- // can then be supplied in `VerifyNotificationChannel` to verify the channel.
- SendNotificationChannelVerificationCode(ctx context.Context, in *SendNotificationChannelVerificationCodeRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
- // Requests a verification code for an already verified channel that can then
- // be used in a call to VerifyNotificationChannel() on a different channel
- // with an equivalent identity in the same or in a different project. This
- // makes it possible to copy a channel between projects without requiring
- // manual reverification of the channel. If the channel is not in the
- // verified state, this method will fail (in other words, this may only be
- // used if the SendNotificationChannelVerificationCode and
- // VerifyNotificationChannel paths have already been used to put the given
- // channel into the verified state).
- //
- // There is no guarantee that the verification codes returned by this method
- // will be of a similar structure or form as the ones that are delivered
- // to the channel via SendNotificationChannelVerificationCode; while
- // VerifyNotificationChannel() will recognize both the codes delivered via
- // SendNotificationChannelVerificationCode() and returned from
- // GetNotificationChannelVerificationCode(), it is typically the case that
- // the verification codes delivered via
- // SendNotificationChannelVerificationCode() will be shorter and also
- // have a shorter expiration (e.g. codes such as "G-123456") whereas
- // GetVerificationCode() will typically return a much longer, websafe base
- // 64 encoded string that has a longer expiration time.
- GetNotificationChannelVerificationCode(ctx context.Context, in *GetNotificationChannelVerificationCodeRequest, opts ...grpc.CallOption) (*GetNotificationChannelVerificationCodeResponse, error)
- // Verifies a `NotificationChannel` by proving receipt of the code
- // delivered to the channel as a result of calling
- // `SendNotificationChannelVerificationCode`.
- VerifyNotificationChannel(ctx context.Context, in *VerifyNotificationChannelRequest, opts ...grpc.CallOption) (*NotificationChannel, error)
-}
-
-type notificationChannelServiceClient struct {
- cc grpc.ClientConnInterface
-}
-
-func NewNotificationChannelServiceClient(cc grpc.ClientConnInterface) NotificationChannelServiceClient {
- return ¬ificationChannelServiceClient{cc}
-}
-
-func (c *notificationChannelServiceClient) ListNotificationChannelDescriptors(ctx context.Context, in *ListNotificationChannelDescriptorsRequest, opts ...grpc.CallOption) (*ListNotificationChannelDescriptorsResponse, error) {
- out := new(ListNotificationChannelDescriptorsResponse)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.NotificationChannelService/ListNotificationChannelDescriptors", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *notificationChannelServiceClient) GetNotificationChannelDescriptor(ctx context.Context, in *GetNotificationChannelDescriptorRequest, opts ...grpc.CallOption) (*NotificationChannelDescriptor, error) {
- out := new(NotificationChannelDescriptor)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.NotificationChannelService/GetNotificationChannelDescriptor", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *notificationChannelServiceClient) ListNotificationChannels(ctx context.Context, in *ListNotificationChannelsRequest, opts ...grpc.CallOption) (*ListNotificationChannelsResponse, error) {
- out := new(ListNotificationChannelsResponse)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.NotificationChannelService/ListNotificationChannels", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *notificationChannelServiceClient) GetNotificationChannel(ctx context.Context, in *GetNotificationChannelRequest, opts ...grpc.CallOption) (*NotificationChannel, error) {
- out := new(NotificationChannel)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.NotificationChannelService/GetNotificationChannel", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *notificationChannelServiceClient) CreateNotificationChannel(ctx context.Context, in *CreateNotificationChannelRequest, opts ...grpc.CallOption) (*NotificationChannel, error) {
- out := new(NotificationChannel)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.NotificationChannelService/CreateNotificationChannel", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *notificationChannelServiceClient) UpdateNotificationChannel(ctx context.Context, in *UpdateNotificationChannelRequest, opts ...grpc.CallOption) (*NotificationChannel, error) {
- out := new(NotificationChannel)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.NotificationChannelService/UpdateNotificationChannel", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *notificationChannelServiceClient) DeleteNotificationChannel(ctx context.Context, in *DeleteNotificationChannelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
- out := new(emptypb.Empty)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.NotificationChannelService/DeleteNotificationChannel", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *notificationChannelServiceClient) SendNotificationChannelVerificationCode(ctx context.Context, in *SendNotificationChannelVerificationCodeRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
- out := new(emptypb.Empty)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.NotificationChannelService/SendNotificationChannelVerificationCode", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *notificationChannelServiceClient) GetNotificationChannelVerificationCode(ctx context.Context, in *GetNotificationChannelVerificationCodeRequest, opts ...grpc.CallOption) (*GetNotificationChannelVerificationCodeResponse, error) {
- out := new(GetNotificationChannelVerificationCodeResponse)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.NotificationChannelService/GetNotificationChannelVerificationCode", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *notificationChannelServiceClient) VerifyNotificationChannel(ctx context.Context, in *VerifyNotificationChannelRequest, opts ...grpc.CallOption) (*NotificationChannel, error) {
- out := new(NotificationChannel)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.NotificationChannelService/VerifyNotificationChannel", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-// NotificationChannelServiceServer is the server API for NotificationChannelService service.
-type NotificationChannelServiceServer interface {
- // Lists the descriptors for supported channel types. The use of descriptors
- // makes it possible for new channel types to be dynamically added.
- ListNotificationChannelDescriptors(context.Context, *ListNotificationChannelDescriptorsRequest) (*ListNotificationChannelDescriptorsResponse, error)
- // Gets a single channel descriptor. The descriptor indicates which fields
- // are expected / permitted for a notification channel of the given type.
- GetNotificationChannelDescriptor(context.Context, *GetNotificationChannelDescriptorRequest) (*NotificationChannelDescriptor, error)
- // Lists the notification channels that have been created for the project.
- // To list the types of notification channels that are supported, use
- // the `ListNotificationChannelDescriptors` method.
- ListNotificationChannels(context.Context, *ListNotificationChannelsRequest) (*ListNotificationChannelsResponse, error)
- // Gets a single notification channel. The channel includes the relevant
- // configuration details with which the channel was created. However, the
- // response may truncate or omit passwords, API keys, or other private key
- // matter and thus the response may not be 100% identical to the information
- // that was supplied in the call to the create method.
- GetNotificationChannel(context.Context, *GetNotificationChannelRequest) (*NotificationChannel, error)
- // Creates a new notification channel, representing a single notification
- // endpoint such as an email address, SMS number, or PagerDuty service.
- //
- // Design your application to single-thread API calls that modify the state of
- // notification channels in a single project. This includes calls to
- // CreateNotificationChannel, DeleteNotificationChannel and
- // UpdateNotificationChannel.
- CreateNotificationChannel(context.Context, *CreateNotificationChannelRequest) (*NotificationChannel, error)
- // Updates a notification channel. Fields not specified in the field mask
- // remain unchanged.
- //
- // Design your application to single-thread API calls that modify the state of
- // notification channels in a single project. This includes calls to
- // CreateNotificationChannel, DeleteNotificationChannel and
- // UpdateNotificationChannel.
- UpdateNotificationChannel(context.Context, *UpdateNotificationChannelRequest) (*NotificationChannel, error)
- // Deletes a notification channel.
- //
- // Design your application to single-thread API calls that modify the state of
- // notification channels in a single project. This includes calls to
- // CreateNotificationChannel, DeleteNotificationChannel and
- // UpdateNotificationChannel.
- DeleteNotificationChannel(context.Context, *DeleteNotificationChannelRequest) (*emptypb.Empty, error)
- // Causes a verification code to be delivered to the channel. The code
- // can then be supplied in `VerifyNotificationChannel` to verify the channel.
- SendNotificationChannelVerificationCode(context.Context, *SendNotificationChannelVerificationCodeRequest) (*emptypb.Empty, error)
- // Requests a verification code for an already verified channel that can then
- // be used in a call to VerifyNotificationChannel() on a different channel
- // with an equivalent identity in the same or in a different project. This
- // makes it possible to copy a channel between projects without requiring
- // manual reverification of the channel. If the channel is not in the
- // verified state, this method will fail (in other words, this may only be
- // used if the SendNotificationChannelVerificationCode and
- // VerifyNotificationChannel paths have already been used to put the given
- // channel into the verified state).
- //
- // There is no guarantee that the verification codes returned by this method
- // will be of a similar structure or form as the ones that are delivered
- // to the channel via SendNotificationChannelVerificationCode; while
- // VerifyNotificationChannel() will recognize both the codes delivered via
- // SendNotificationChannelVerificationCode() and returned from
- // GetNotificationChannelVerificationCode(), it is typically the case that
- // the verification codes delivered via
- // SendNotificationChannelVerificationCode() will be shorter and also
- // have a shorter expiration (e.g. codes such as "G-123456") whereas
- // GetVerificationCode() will typically return a much longer, websafe base
- // 64 encoded string that has a longer expiration time.
- GetNotificationChannelVerificationCode(context.Context, *GetNotificationChannelVerificationCodeRequest) (*GetNotificationChannelVerificationCodeResponse, error)
- // Verifies a `NotificationChannel` by proving receipt of the code
- // delivered to the channel as a result of calling
- // `SendNotificationChannelVerificationCode`.
- VerifyNotificationChannel(context.Context, *VerifyNotificationChannelRequest) (*NotificationChannel, error)
-}
-
-// UnimplementedNotificationChannelServiceServer can be embedded to have forward compatible implementations.
-type UnimplementedNotificationChannelServiceServer struct {
-}
-
-func (*UnimplementedNotificationChannelServiceServer) ListNotificationChannelDescriptors(context.Context, *ListNotificationChannelDescriptorsRequest) (*ListNotificationChannelDescriptorsResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method ListNotificationChannelDescriptors not implemented")
-}
-func (*UnimplementedNotificationChannelServiceServer) GetNotificationChannelDescriptor(context.Context, *GetNotificationChannelDescriptorRequest) (*NotificationChannelDescriptor, error) {
- return nil, status.Errorf(codes.Unimplemented, "method GetNotificationChannelDescriptor not implemented")
-}
-func (*UnimplementedNotificationChannelServiceServer) ListNotificationChannels(context.Context, *ListNotificationChannelsRequest) (*ListNotificationChannelsResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method ListNotificationChannels not implemented")
-}
-func (*UnimplementedNotificationChannelServiceServer) GetNotificationChannel(context.Context, *GetNotificationChannelRequest) (*NotificationChannel, error) {
- return nil, status.Errorf(codes.Unimplemented, "method GetNotificationChannel not implemented")
-}
-func (*UnimplementedNotificationChannelServiceServer) CreateNotificationChannel(context.Context, *CreateNotificationChannelRequest) (*NotificationChannel, error) {
- return nil, status.Errorf(codes.Unimplemented, "method CreateNotificationChannel not implemented")
-}
-func (*UnimplementedNotificationChannelServiceServer) UpdateNotificationChannel(context.Context, *UpdateNotificationChannelRequest) (*NotificationChannel, error) {
- return nil, status.Errorf(codes.Unimplemented, "method UpdateNotificationChannel not implemented")
-}
-func (*UnimplementedNotificationChannelServiceServer) DeleteNotificationChannel(context.Context, *DeleteNotificationChannelRequest) (*emptypb.Empty, error) {
- return nil, status.Errorf(codes.Unimplemented, "method DeleteNotificationChannel not implemented")
-}
-func (*UnimplementedNotificationChannelServiceServer) SendNotificationChannelVerificationCode(context.Context, *SendNotificationChannelVerificationCodeRequest) (*emptypb.Empty, error) {
- return nil, status.Errorf(codes.Unimplemented, "method SendNotificationChannelVerificationCode not implemented")
-}
-func (*UnimplementedNotificationChannelServiceServer) GetNotificationChannelVerificationCode(context.Context, *GetNotificationChannelVerificationCodeRequest) (*GetNotificationChannelVerificationCodeResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method GetNotificationChannelVerificationCode not implemented")
-}
-func (*UnimplementedNotificationChannelServiceServer) VerifyNotificationChannel(context.Context, *VerifyNotificationChannelRequest) (*NotificationChannel, error) {
- return nil, status.Errorf(codes.Unimplemented, "method VerifyNotificationChannel not implemented")
-}
-
-func RegisterNotificationChannelServiceServer(s *grpc.Server, srv NotificationChannelServiceServer) {
- s.RegisterService(&_NotificationChannelService_serviceDesc, srv)
-}
-
-func _NotificationChannelService_ListNotificationChannelDescriptors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ListNotificationChannelDescriptorsRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(NotificationChannelServiceServer).ListNotificationChannelDescriptors(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.NotificationChannelService/ListNotificationChannelDescriptors",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(NotificationChannelServiceServer).ListNotificationChannelDescriptors(ctx, req.(*ListNotificationChannelDescriptorsRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _NotificationChannelService_GetNotificationChannelDescriptor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(GetNotificationChannelDescriptorRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(NotificationChannelServiceServer).GetNotificationChannelDescriptor(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.NotificationChannelService/GetNotificationChannelDescriptor",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(NotificationChannelServiceServer).GetNotificationChannelDescriptor(ctx, req.(*GetNotificationChannelDescriptorRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _NotificationChannelService_ListNotificationChannels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ListNotificationChannelsRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(NotificationChannelServiceServer).ListNotificationChannels(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.NotificationChannelService/ListNotificationChannels",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(NotificationChannelServiceServer).ListNotificationChannels(ctx, req.(*ListNotificationChannelsRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _NotificationChannelService_GetNotificationChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(GetNotificationChannelRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(NotificationChannelServiceServer).GetNotificationChannel(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.NotificationChannelService/GetNotificationChannel",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(NotificationChannelServiceServer).GetNotificationChannel(ctx, req.(*GetNotificationChannelRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _NotificationChannelService_CreateNotificationChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(CreateNotificationChannelRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(NotificationChannelServiceServer).CreateNotificationChannel(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.NotificationChannelService/CreateNotificationChannel",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(NotificationChannelServiceServer).CreateNotificationChannel(ctx, req.(*CreateNotificationChannelRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _NotificationChannelService_UpdateNotificationChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(UpdateNotificationChannelRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(NotificationChannelServiceServer).UpdateNotificationChannel(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.NotificationChannelService/UpdateNotificationChannel",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(NotificationChannelServiceServer).UpdateNotificationChannel(ctx, req.(*UpdateNotificationChannelRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _NotificationChannelService_DeleteNotificationChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(DeleteNotificationChannelRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(NotificationChannelServiceServer).DeleteNotificationChannel(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.NotificationChannelService/DeleteNotificationChannel",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(NotificationChannelServiceServer).DeleteNotificationChannel(ctx, req.(*DeleteNotificationChannelRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _NotificationChannelService_SendNotificationChannelVerificationCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(SendNotificationChannelVerificationCodeRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(NotificationChannelServiceServer).SendNotificationChannelVerificationCode(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.NotificationChannelService/SendNotificationChannelVerificationCode",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(NotificationChannelServiceServer).SendNotificationChannelVerificationCode(ctx, req.(*SendNotificationChannelVerificationCodeRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _NotificationChannelService_GetNotificationChannelVerificationCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(GetNotificationChannelVerificationCodeRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(NotificationChannelServiceServer).GetNotificationChannelVerificationCode(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.NotificationChannelService/GetNotificationChannelVerificationCode",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(NotificationChannelServiceServer).GetNotificationChannelVerificationCode(ctx, req.(*GetNotificationChannelVerificationCodeRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _NotificationChannelService_VerifyNotificationChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(VerifyNotificationChannelRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(NotificationChannelServiceServer).VerifyNotificationChannel(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.NotificationChannelService/VerifyNotificationChannel",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(NotificationChannelServiceServer).VerifyNotificationChannel(ctx, req.(*VerifyNotificationChannelRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-var _NotificationChannelService_serviceDesc = grpc.ServiceDesc{
- ServiceName: "google.monitoring.v3.NotificationChannelService",
- HandlerType: (*NotificationChannelServiceServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "ListNotificationChannelDescriptors",
- Handler: _NotificationChannelService_ListNotificationChannelDescriptors_Handler,
- },
- {
- MethodName: "GetNotificationChannelDescriptor",
- Handler: _NotificationChannelService_GetNotificationChannelDescriptor_Handler,
- },
- {
- MethodName: "ListNotificationChannels",
- Handler: _NotificationChannelService_ListNotificationChannels_Handler,
- },
- {
- MethodName: "GetNotificationChannel",
- Handler: _NotificationChannelService_GetNotificationChannel_Handler,
- },
- {
- MethodName: "CreateNotificationChannel",
- Handler: _NotificationChannelService_CreateNotificationChannel_Handler,
- },
- {
- MethodName: "UpdateNotificationChannel",
- Handler: _NotificationChannelService_UpdateNotificationChannel_Handler,
- },
- {
- MethodName: "DeleteNotificationChannel",
- Handler: _NotificationChannelService_DeleteNotificationChannel_Handler,
- },
- {
- MethodName: "SendNotificationChannelVerificationCode",
- Handler: _NotificationChannelService_SendNotificationChannelVerificationCode_Handler,
- },
- {
- MethodName: "GetNotificationChannelVerificationCode",
- Handler: _NotificationChannelService_GetNotificationChannelVerificationCode_Handler,
- },
- {
- MethodName: "VerifyNotificationChannel",
- Handler: _NotificationChannelService_VerifyNotificationChannel_Handler,
- },
- },
- Streams: []grpc.StreamDesc{},
- Metadata: "google/monitoring/v3/notification_service.proto",
-}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/notification_service_grpc.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/notification_service_grpc.pb.go
new file mode 100644
index 0000000000000..ec5c2fe16239d
--- /dev/null
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/notification_service_grpc.pb.go
@@ -0,0 +1,571 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+// versions:
+// - protoc-gen-go-grpc v1.3.0
+// - protoc v4.25.7
+// source: google/monitoring/v3/notification_service.proto
+
+package monitoringpb
+
+import (
+ context "context"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
+ emptypb "google.golang.org/protobuf/types/known/emptypb"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+// Requires gRPC-Go v1.32.0 or later.
+const _ = grpc.SupportPackageIsVersion7
+
+const (
+ NotificationChannelService_ListNotificationChannelDescriptors_FullMethodName = "/google.monitoring.v3.NotificationChannelService/ListNotificationChannelDescriptors"
+ NotificationChannelService_GetNotificationChannelDescriptor_FullMethodName = "/google.monitoring.v3.NotificationChannelService/GetNotificationChannelDescriptor"
+ NotificationChannelService_ListNotificationChannels_FullMethodName = "/google.monitoring.v3.NotificationChannelService/ListNotificationChannels"
+ NotificationChannelService_GetNotificationChannel_FullMethodName = "/google.monitoring.v3.NotificationChannelService/GetNotificationChannel"
+ NotificationChannelService_CreateNotificationChannel_FullMethodName = "/google.monitoring.v3.NotificationChannelService/CreateNotificationChannel"
+ NotificationChannelService_UpdateNotificationChannel_FullMethodName = "/google.monitoring.v3.NotificationChannelService/UpdateNotificationChannel"
+ NotificationChannelService_DeleteNotificationChannel_FullMethodName = "/google.monitoring.v3.NotificationChannelService/DeleteNotificationChannel"
+ NotificationChannelService_SendNotificationChannelVerificationCode_FullMethodName = "/google.monitoring.v3.NotificationChannelService/SendNotificationChannelVerificationCode"
+ NotificationChannelService_GetNotificationChannelVerificationCode_FullMethodName = "/google.monitoring.v3.NotificationChannelService/GetNotificationChannelVerificationCode"
+ NotificationChannelService_VerifyNotificationChannel_FullMethodName = "/google.monitoring.v3.NotificationChannelService/VerifyNotificationChannel"
+)
+
+// NotificationChannelServiceClient is the client API for NotificationChannelService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+type NotificationChannelServiceClient interface {
+ // Lists the descriptors for supported channel types. The use of descriptors
+ // makes it possible for new channel types to be dynamically added.
+ ListNotificationChannelDescriptors(ctx context.Context, in *ListNotificationChannelDescriptorsRequest, opts ...grpc.CallOption) (*ListNotificationChannelDescriptorsResponse, error)
+ // Gets a single channel descriptor. The descriptor indicates which fields
+ // are expected / permitted for a notification channel of the given type.
+ GetNotificationChannelDescriptor(ctx context.Context, in *GetNotificationChannelDescriptorRequest, opts ...grpc.CallOption) (*NotificationChannelDescriptor, error)
+ // Lists the notification channels that have been created for the project.
+ // To list the types of notification channels that are supported, use
+ // the `ListNotificationChannelDescriptors` method.
+ ListNotificationChannels(ctx context.Context, in *ListNotificationChannelsRequest, opts ...grpc.CallOption) (*ListNotificationChannelsResponse, error)
+ // Gets a single notification channel. The channel includes the relevant
+ // configuration details with which the channel was created. However, the
+ // response may truncate or omit passwords, API keys, or other private key
+ // matter and thus the response may not be 100% identical to the information
+ // that was supplied in the call to the create method.
+ GetNotificationChannel(ctx context.Context, in *GetNotificationChannelRequest, opts ...grpc.CallOption) (*NotificationChannel, error)
+ // Creates a new notification channel, representing a single notification
+ // endpoint such as an email address, SMS number, or PagerDuty service.
+ //
+ // Design your application to single-thread API calls that modify the state of
+ // notification channels in a single project. This includes calls to
+ // CreateNotificationChannel, DeleteNotificationChannel and
+ // UpdateNotificationChannel.
+ CreateNotificationChannel(ctx context.Context, in *CreateNotificationChannelRequest, opts ...grpc.CallOption) (*NotificationChannel, error)
+ // Updates a notification channel. Fields not specified in the field mask
+ // remain unchanged.
+ //
+ // Design your application to single-thread API calls that modify the state of
+ // notification channels in a single project. This includes calls to
+ // CreateNotificationChannel, DeleteNotificationChannel and
+ // UpdateNotificationChannel.
+ UpdateNotificationChannel(ctx context.Context, in *UpdateNotificationChannelRequest, opts ...grpc.CallOption) (*NotificationChannel, error)
+ // Deletes a notification channel.
+ //
+ // Design your application to single-thread API calls that modify the state of
+ // notification channels in a single project. This includes calls to
+ // CreateNotificationChannel, DeleteNotificationChannel and
+ // UpdateNotificationChannel.
+ DeleteNotificationChannel(ctx context.Context, in *DeleteNotificationChannelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ // Causes a verification code to be delivered to the channel. The code
+ // can then be supplied in `VerifyNotificationChannel` to verify the channel.
+ SendNotificationChannelVerificationCode(ctx context.Context, in *SendNotificationChannelVerificationCodeRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ // Requests a verification code for an already verified channel that can then
+ // be used in a call to VerifyNotificationChannel() on a different channel
+ // with an equivalent identity in the same or in a different project. This
+ // makes it possible to copy a channel between projects without requiring
+ // manual reverification of the channel. If the channel is not in the
+ // verified state, this method will fail (in other words, this may only be
+ // used if the SendNotificationChannelVerificationCode and
+ // VerifyNotificationChannel paths have already been used to put the given
+ // channel into the verified state).
+ //
+ // There is no guarantee that the verification codes returned by this method
+ // will be of a similar structure or form as the ones that are delivered
+ // to the channel via SendNotificationChannelVerificationCode; while
+ // VerifyNotificationChannel() will recognize both the codes delivered via
+ // SendNotificationChannelVerificationCode() and returned from
+ // GetNotificationChannelVerificationCode(), it is typically the case that
+ // the verification codes delivered via
+ // SendNotificationChannelVerificationCode() will be shorter and also
+ // have a shorter expiration (e.g. codes such as "G-123456") whereas
+ // GetVerificationCode() will typically return a much longer, websafe base
+ // 64 encoded string that has a longer expiration time.
+ GetNotificationChannelVerificationCode(ctx context.Context, in *GetNotificationChannelVerificationCodeRequest, opts ...grpc.CallOption) (*GetNotificationChannelVerificationCodeResponse, error)
+ // Verifies a `NotificationChannel` by proving receipt of the code
+ // delivered to the channel as a result of calling
+ // `SendNotificationChannelVerificationCode`.
+ VerifyNotificationChannel(ctx context.Context, in *VerifyNotificationChannelRequest, opts ...grpc.CallOption) (*NotificationChannel, error)
+}
+
+type notificationChannelServiceClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewNotificationChannelServiceClient(cc grpc.ClientConnInterface) NotificationChannelServiceClient {
+ return ¬ificationChannelServiceClient{cc}
+}
+
+func (c *notificationChannelServiceClient) ListNotificationChannelDescriptors(ctx context.Context, in *ListNotificationChannelDescriptorsRequest, opts ...grpc.CallOption) (*ListNotificationChannelDescriptorsResponse, error) {
+ out := new(ListNotificationChannelDescriptorsResponse)
+ err := c.cc.Invoke(ctx, NotificationChannelService_ListNotificationChannelDescriptors_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *notificationChannelServiceClient) GetNotificationChannelDescriptor(ctx context.Context, in *GetNotificationChannelDescriptorRequest, opts ...grpc.CallOption) (*NotificationChannelDescriptor, error) {
+ out := new(NotificationChannelDescriptor)
+ err := c.cc.Invoke(ctx, NotificationChannelService_GetNotificationChannelDescriptor_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *notificationChannelServiceClient) ListNotificationChannels(ctx context.Context, in *ListNotificationChannelsRequest, opts ...grpc.CallOption) (*ListNotificationChannelsResponse, error) {
+ out := new(ListNotificationChannelsResponse)
+ err := c.cc.Invoke(ctx, NotificationChannelService_ListNotificationChannels_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *notificationChannelServiceClient) GetNotificationChannel(ctx context.Context, in *GetNotificationChannelRequest, opts ...grpc.CallOption) (*NotificationChannel, error) {
+ out := new(NotificationChannel)
+ err := c.cc.Invoke(ctx, NotificationChannelService_GetNotificationChannel_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *notificationChannelServiceClient) CreateNotificationChannel(ctx context.Context, in *CreateNotificationChannelRequest, opts ...grpc.CallOption) (*NotificationChannel, error) {
+ out := new(NotificationChannel)
+ err := c.cc.Invoke(ctx, NotificationChannelService_CreateNotificationChannel_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *notificationChannelServiceClient) UpdateNotificationChannel(ctx context.Context, in *UpdateNotificationChannelRequest, opts ...grpc.CallOption) (*NotificationChannel, error) {
+ out := new(NotificationChannel)
+ err := c.cc.Invoke(ctx, NotificationChannelService_UpdateNotificationChannel_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *notificationChannelServiceClient) DeleteNotificationChannel(ctx context.Context, in *DeleteNotificationChannelRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, NotificationChannelService_DeleteNotificationChannel_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *notificationChannelServiceClient) SendNotificationChannelVerificationCode(ctx context.Context, in *SendNotificationChannelVerificationCodeRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, NotificationChannelService_SendNotificationChannelVerificationCode_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *notificationChannelServiceClient) GetNotificationChannelVerificationCode(ctx context.Context, in *GetNotificationChannelVerificationCodeRequest, opts ...grpc.CallOption) (*GetNotificationChannelVerificationCodeResponse, error) {
+ out := new(GetNotificationChannelVerificationCodeResponse)
+ err := c.cc.Invoke(ctx, NotificationChannelService_GetNotificationChannelVerificationCode_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *notificationChannelServiceClient) VerifyNotificationChannel(ctx context.Context, in *VerifyNotificationChannelRequest, opts ...grpc.CallOption) (*NotificationChannel, error) {
+ out := new(NotificationChannel)
+ err := c.cc.Invoke(ctx, NotificationChannelService_VerifyNotificationChannel_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// NotificationChannelServiceServer is the server API for NotificationChannelService service.
+// All implementations should embed UnimplementedNotificationChannelServiceServer
+// for forward compatibility
+type NotificationChannelServiceServer interface {
+ // Lists the descriptors for supported channel types. The use of descriptors
+ // makes it possible for new channel types to be dynamically added.
+ ListNotificationChannelDescriptors(context.Context, *ListNotificationChannelDescriptorsRequest) (*ListNotificationChannelDescriptorsResponse, error)
+ // Gets a single channel descriptor. The descriptor indicates which fields
+ // are expected / permitted for a notification channel of the given type.
+ GetNotificationChannelDescriptor(context.Context, *GetNotificationChannelDescriptorRequest) (*NotificationChannelDescriptor, error)
+ // Lists the notification channels that have been created for the project.
+ // To list the types of notification channels that are supported, use
+ // the `ListNotificationChannelDescriptors` method.
+ ListNotificationChannels(context.Context, *ListNotificationChannelsRequest) (*ListNotificationChannelsResponse, error)
+ // Gets a single notification channel. The channel includes the relevant
+ // configuration details with which the channel was created. However, the
+ // response may truncate or omit passwords, API keys, or other private key
+ // matter and thus the response may not be 100% identical to the information
+ // that was supplied in the call to the create method.
+ GetNotificationChannel(context.Context, *GetNotificationChannelRequest) (*NotificationChannel, error)
+ // Creates a new notification channel, representing a single notification
+ // endpoint such as an email address, SMS number, or PagerDuty service.
+ //
+ // Design your application to single-thread API calls that modify the state of
+ // notification channels in a single project. This includes calls to
+ // CreateNotificationChannel, DeleteNotificationChannel and
+ // UpdateNotificationChannel.
+ CreateNotificationChannel(context.Context, *CreateNotificationChannelRequest) (*NotificationChannel, error)
+ // Updates a notification channel. Fields not specified in the field mask
+ // remain unchanged.
+ //
+ // Design your application to single-thread API calls that modify the state of
+ // notification channels in a single project. This includes calls to
+ // CreateNotificationChannel, DeleteNotificationChannel and
+ // UpdateNotificationChannel.
+ UpdateNotificationChannel(context.Context, *UpdateNotificationChannelRequest) (*NotificationChannel, error)
+ // Deletes a notification channel.
+ //
+ // Design your application to single-thread API calls that modify the state of
+ // notification channels in a single project. This includes calls to
+ // CreateNotificationChannel, DeleteNotificationChannel and
+ // UpdateNotificationChannel.
+ DeleteNotificationChannel(context.Context, *DeleteNotificationChannelRequest) (*emptypb.Empty, error)
+ // Causes a verification code to be delivered to the channel. The code
+ // can then be supplied in `VerifyNotificationChannel` to verify the channel.
+ SendNotificationChannelVerificationCode(context.Context, *SendNotificationChannelVerificationCodeRequest) (*emptypb.Empty, error)
+ // Requests a verification code for an already verified channel that can then
+ // be used in a call to VerifyNotificationChannel() on a different channel
+ // with an equivalent identity in the same or in a different project. This
+ // makes it possible to copy a channel between projects without requiring
+ // manual reverification of the channel. If the channel is not in the
+ // verified state, this method will fail (in other words, this may only be
+ // used if the SendNotificationChannelVerificationCode and
+ // VerifyNotificationChannel paths have already been used to put the given
+ // channel into the verified state).
+ //
+ // There is no guarantee that the verification codes returned by this method
+ // will be of a similar structure or form as the ones that are delivered
+ // to the channel via SendNotificationChannelVerificationCode; while
+ // VerifyNotificationChannel() will recognize both the codes delivered via
+ // SendNotificationChannelVerificationCode() and returned from
+ // GetNotificationChannelVerificationCode(), it is typically the case that
+ // the verification codes delivered via
+ // SendNotificationChannelVerificationCode() will be shorter and also
+ // have a shorter expiration (e.g. codes such as "G-123456") whereas
+ // GetVerificationCode() will typically return a much longer, websafe base
+ // 64 encoded string that has a longer expiration time.
+ GetNotificationChannelVerificationCode(context.Context, *GetNotificationChannelVerificationCodeRequest) (*GetNotificationChannelVerificationCodeResponse, error)
+ // Verifies a `NotificationChannel` by proving receipt of the code
+ // delivered to the channel as a result of calling
+ // `SendNotificationChannelVerificationCode`.
+ VerifyNotificationChannel(context.Context, *VerifyNotificationChannelRequest) (*NotificationChannel, error)
+}
+
+// UnimplementedNotificationChannelServiceServer should be embedded to have forward compatible implementations.
+type UnimplementedNotificationChannelServiceServer struct {
+}
+
+func (UnimplementedNotificationChannelServiceServer) ListNotificationChannelDescriptors(context.Context, *ListNotificationChannelDescriptorsRequest) (*ListNotificationChannelDescriptorsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListNotificationChannelDescriptors not implemented")
+}
+func (UnimplementedNotificationChannelServiceServer) GetNotificationChannelDescriptor(context.Context, *GetNotificationChannelDescriptorRequest) (*NotificationChannelDescriptor, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetNotificationChannelDescriptor not implemented")
+}
+func (UnimplementedNotificationChannelServiceServer) ListNotificationChannels(context.Context, *ListNotificationChannelsRequest) (*ListNotificationChannelsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListNotificationChannels not implemented")
+}
+func (UnimplementedNotificationChannelServiceServer) GetNotificationChannel(context.Context, *GetNotificationChannelRequest) (*NotificationChannel, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetNotificationChannel not implemented")
+}
+func (UnimplementedNotificationChannelServiceServer) CreateNotificationChannel(context.Context, *CreateNotificationChannelRequest) (*NotificationChannel, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CreateNotificationChannel not implemented")
+}
+func (UnimplementedNotificationChannelServiceServer) UpdateNotificationChannel(context.Context, *UpdateNotificationChannelRequest) (*NotificationChannel, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UpdateNotificationChannel not implemented")
+}
+func (UnimplementedNotificationChannelServiceServer) DeleteNotificationChannel(context.Context, *DeleteNotificationChannelRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method DeleteNotificationChannel not implemented")
+}
+func (UnimplementedNotificationChannelServiceServer) SendNotificationChannelVerificationCode(context.Context, *SendNotificationChannelVerificationCodeRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SendNotificationChannelVerificationCode not implemented")
+}
+func (UnimplementedNotificationChannelServiceServer) GetNotificationChannelVerificationCode(context.Context, *GetNotificationChannelVerificationCodeRequest) (*GetNotificationChannelVerificationCodeResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetNotificationChannelVerificationCode not implemented")
+}
+func (UnimplementedNotificationChannelServiceServer) VerifyNotificationChannel(context.Context, *VerifyNotificationChannelRequest) (*NotificationChannel, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method VerifyNotificationChannel not implemented")
+}
+
+// UnsafeNotificationChannelServiceServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to NotificationChannelServiceServer will
+// result in compilation errors.
+type UnsafeNotificationChannelServiceServer interface {
+ mustEmbedUnimplementedNotificationChannelServiceServer()
+}
+
+func RegisterNotificationChannelServiceServer(s grpc.ServiceRegistrar, srv NotificationChannelServiceServer) {
+ s.RegisterService(&NotificationChannelService_ServiceDesc, srv)
+}
+
+func _NotificationChannelService_ListNotificationChannelDescriptors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListNotificationChannelDescriptorsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(NotificationChannelServiceServer).ListNotificationChannelDescriptors(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: NotificationChannelService_ListNotificationChannelDescriptors_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(NotificationChannelServiceServer).ListNotificationChannelDescriptors(ctx, req.(*ListNotificationChannelDescriptorsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _NotificationChannelService_GetNotificationChannelDescriptor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetNotificationChannelDescriptorRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(NotificationChannelServiceServer).GetNotificationChannelDescriptor(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: NotificationChannelService_GetNotificationChannelDescriptor_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(NotificationChannelServiceServer).GetNotificationChannelDescriptor(ctx, req.(*GetNotificationChannelDescriptorRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _NotificationChannelService_ListNotificationChannels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListNotificationChannelsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(NotificationChannelServiceServer).ListNotificationChannels(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: NotificationChannelService_ListNotificationChannels_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(NotificationChannelServiceServer).ListNotificationChannels(ctx, req.(*ListNotificationChannelsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _NotificationChannelService_GetNotificationChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetNotificationChannelRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(NotificationChannelServiceServer).GetNotificationChannel(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: NotificationChannelService_GetNotificationChannel_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(NotificationChannelServiceServer).GetNotificationChannel(ctx, req.(*GetNotificationChannelRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _NotificationChannelService_CreateNotificationChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreateNotificationChannelRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(NotificationChannelServiceServer).CreateNotificationChannel(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: NotificationChannelService_CreateNotificationChannel_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(NotificationChannelServiceServer).CreateNotificationChannel(ctx, req.(*CreateNotificationChannelRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _NotificationChannelService_UpdateNotificationChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(UpdateNotificationChannelRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(NotificationChannelServiceServer).UpdateNotificationChannel(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: NotificationChannelService_UpdateNotificationChannel_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(NotificationChannelServiceServer).UpdateNotificationChannel(ctx, req.(*UpdateNotificationChannelRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _NotificationChannelService_DeleteNotificationChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeleteNotificationChannelRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(NotificationChannelServiceServer).DeleteNotificationChannel(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: NotificationChannelService_DeleteNotificationChannel_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(NotificationChannelServiceServer).DeleteNotificationChannel(ctx, req.(*DeleteNotificationChannelRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _NotificationChannelService_SendNotificationChannelVerificationCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(SendNotificationChannelVerificationCodeRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(NotificationChannelServiceServer).SendNotificationChannelVerificationCode(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: NotificationChannelService_SendNotificationChannelVerificationCode_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(NotificationChannelServiceServer).SendNotificationChannelVerificationCode(ctx, req.(*SendNotificationChannelVerificationCodeRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _NotificationChannelService_GetNotificationChannelVerificationCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetNotificationChannelVerificationCodeRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(NotificationChannelServiceServer).GetNotificationChannelVerificationCode(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: NotificationChannelService_GetNotificationChannelVerificationCode_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(NotificationChannelServiceServer).GetNotificationChannelVerificationCode(ctx, req.(*GetNotificationChannelVerificationCodeRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _NotificationChannelService_VerifyNotificationChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(VerifyNotificationChannelRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(NotificationChannelServiceServer).VerifyNotificationChannel(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: NotificationChannelService_VerifyNotificationChannel_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(NotificationChannelServiceServer).VerifyNotificationChannel(ctx, req.(*VerifyNotificationChannelRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+// NotificationChannelService_ServiceDesc is the grpc.ServiceDesc for NotificationChannelService service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var NotificationChannelService_ServiceDesc = grpc.ServiceDesc{
+ ServiceName: "google.monitoring.v3.NotificationChannelService",
+ HandlerType: (*NotificationChannelServiceServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "ListNotificationChannelDescriptors",
+ Handler: _NotificationChannelService_ListNotificationChannelDescriptors_Handler,
+ },
+ {
+ MethodName: "GetNotificationChannelDescriptor",
+ Handler: _NotificationChannelService_GetNotificationChannelDescriptor_Handler,
+ },
+ {
+ MethodName: "ListNotificationChannels",
+ Handler: _NotificationChannelService_ListNotificationChannels_Handler,
+ },
+ {
+ MethodName: "GetNotificationChannel",
+ Handler: _NotificationChannelService_GetNotificationChannel_Handler,
+ },
+ {
+ MethodName: "CreateNotificationChannel",
+ Handler: _NotificationChannelService_CreateNotificationChannel_Handler,
+ },
+ {
+ MethodName: "UpdateNotificationChannel",
+ Handler: _NotificationChannelService_UpdateNotificationChannel_Handler,
+ },
+ {
+ MethodName: "DeleteNotificationChannel",
+ Handler: _NotificationChannelService_DeleteNotificationChannel_Handler,
+ },
+ {
+ MethodName: "SendNotificationChannelVerificationCode",
+ Handler: _NotificationChannelService_SendNotificationChannelVerificationCode_Handler,
+ },
+ {
+ MethodName: "GetNotificationChannelVerificationCode",
+ Handler: _NotificationChannelService_GetNotificationChannelVerificationCode_Handler,
+ },
+ {
+ MethodName: "VerifyNotificationChannel",
+ Handler: _NotificationChannelService_VerifyNotificationChannel_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "google/monitoring/v3/notification_service.proto",
+}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/query_service.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/query_service.pb.go
index 6402f18ca11a0..63741c4b6d887 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/query_service.pb.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/query_service.pb.go
@@ -15,21 +15,16 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
-// protoc v4.25.3
+// protoc v4.25.7
// source: google/monitoring/v3/query_service.proto
package monitoringpb
import (
- context "context"
- reflect "reflect"
-
_ "google.golang.org/genproto/googleapis/api/annotations"
- grpc "google.golang.org/grpc"
- codes "google.golang.org/grpc/codes"
- status "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
)
const (
@@ -128,94 +123,3 @@ func file_google_monitoring_v3_query_service_proto_init() {
file_google_monitoring_v3_query_service_proto_goTypes = nil
file_google_monitoring_v3_query_service_proto_depIdxs = nil
}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConnInterface
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion6
-
-// QueryServiceClient is the client API for QueryService service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
-type QueryServiceClient interface {
- // Deprecated: Do not use.
- // Queries time series by using Monitoring Query Language (MQL). We recommend
- // using PromQL instead of MQL. For more information about the status of MQL,
- // see the [MQL deprecation
- // notice](https://cloud.google.com/stackdriver/docs/deprecations/mql).
- QueryTimeSeries(ctx context.Context, in *QueryTimeSeriesRequest, opts ...grpc.CallOption) (*QueryTimeSeriesResponse, error)
-}
-
-type queryServiceClient struct {
- cc grpc.ClientConnInterface
-}
-
-func NewQueryServiceClient(cc grpc.ClientConnInterface) QueryServiceClient {
- return &queryServiceClient{cc}
-}
-
-// Deprecated: Do not use.
-func (c *queryServiceClient) QueryTimeSeries(ctx context.Context, in *QueryTimeSeriesRequest, opts ...grpc.CallOption) (*QueryTimeSeriesResponse, error) {
- out := new(QueryTimeSeriesResponse)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.QueryService/QueryTimeSeries", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-// QueryServiceServer is the server API for QueryService service.
-type QueryServiceServer interface {
- // Deprecated: Do not use.
- // Queries time series by using Monitoring Query Language (MQL). We recommend
- // using PromQL instead of MQL. For more information about the status of MQL,
- // see the [MQL deprecation
- // notice](https://cloud.google.com/stackdriver/docs/deprecations/mql).
- QueryTimeSeries(context.Context, *QueryTimeSeriesRequest) (*QueryTimeSeriesResponse, error)
-}
-
-// UnimplementedQueryServiceServer can be embedded to have forward compatible implementations.
-type UnimplementedQueryServiceServer struct {
-}
-
-func (*UnimplementedQueryServiceServer) QueryTimeSeries(context.Context, *QueryTimeSeriesRequest) (*QueryTimeSeriesResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method QueryTimeSeries not implemented")
-}
-
-func RegisterQueryServiceServer(s *grpc.Server, srv QueryServiceServer) {
- s.RegisterService(&_QueryService_serviceDesc, srv)
-}
-
-func _QueryService_QueryTimeSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(QueryTimeSeriesRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(QueryServiceServer).QueryTimeSeries(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.QueryService/QueryTimeSeries",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(QueryServiceServer).QueryTimeSeries(ctx, req.(*QueryTimeSeriesRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-var _QueryService_serviceDesc = grpc.ServiceDesc{
- ServiceName: "google.monitoring.v3.QueryService",
- HandlerType: (*QueryServiceServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "QueryTimeSeries",
- Handler: _QueryService_QueryTimeSeries_Handler,
- },
- },
- Streams: []grpc.StreamDesc{},
- Metadata: "google/monitoring/v3/query_service.proto",
-}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/query_service_grpc.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/query_service_grpc.pb.go
new file mode 100644
index 0000000000000..403533951f0cf
--- /dev/null
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/query_service_grpc.pb.go
@@ -0,0 +1,132 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+// versions:
+// - protoc-gen-go-grpc v1.3.0
+// - protoc v4.25.7
+// source: google/monitoring/v3/query_service.proto
+
+package monitoringpb
+
+import (
+ context "context"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+// Requires gRPC-Go v1.32.0 or later.
+const _ = grpc.SupportPackageIsVersion7
+
+const (
+ QueryService_QueryTimeSeries_FullMethodName = "/google.monitoring.v3.QueryService/QueryTimeSeries"
+)
+
+// QueryServiceClient is the client API for QueryService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+type QueryServiceClient interface {
+ // Deprecated: Do not use.
+ // Queries time series by using Monitoring Query Language (MQL). We recommend
+ // using PromQL instead of MQL. For more information about the status of MQL,
+ // see the [MQL deprecation
+ // notice](https://cloud.google.com/stackdriver/docs/deprecations/mql).
+ QueryTimeSeries(ctx context.Context, in *QueryTimeSeriesRequest, opts ...grpc.CallOption) (*QueryTimeSeriesResponse, error)
+}
+
+type queryServiceClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewQueryServiceClient(cc grpc.ClientConnInterface) QueryServiceClient {
+ return &queryServiceClient{cc}
+}
+
+// Deprecated: Do not use.
+func (c *queryServiceClient) QueryTimeSeries(ctx context.Context, in *QueryTimeSeriesRequest, opts ...grpc.CallOption) (*QueryTimeSeriesResponse, error) {
+ out := new(QueryTimeSeriesResponse)
+ err := c.cc.Invoke(ctx, QueryService_QueryTimeSeries_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// QueryServiceServer is the server API for QueryService service.
+// All implementations should embed UnimplementedQueryServiceServer
+// for forward compatibility
+type QueryServiceServer interface {
+ // Deprecated: Do not use.
+ // Queries time series by using Monitoring Query Language (MQL). We recommend
+ // using PromQL instead of MQL. For more information about the status of MQL,
+ // see the [MQL deprecation
+ // notice](https://cloud.google.com/stackdriver/docs/deprecations/mql).
+ QueryTimeSeries(context.Context, *QueryTimeSeriesRequest) (*QueryTimeSeriesResponse, error)
+}
+
+// UnimplementedQueryServiceServer should be embedded to have forward compatible implementations.
+type UnimplementedQueryServiceServer struct {
+}
+
+func (UnimplementedQueryServiceServer) QueryTimeSeries(context.Context, *QueryTimeSeriesRequest) (*QueryTimeSeriesResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method QueryTimeSeries not implemented")
+}
+
+// UnsafeQueryServiceServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to QueryServiceServer will
+// result in compilation errors.
+type UnsafeQueryServiceServer interface {
+ mustEmbedUnimplementedQueryServiceServer()
+}
+
+func RegisterQueryServiceServer(s grpc.ServiceRegistrar, srv QueryServiceServer) {
+ s.RegisterService(&QueryService_ServiceDesc, srv)
+}
+
+func _QueryService_QueryTimeSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(QueryTimeSeriesRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(QueryServiceServer).QueryTimeSeries(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: QueryService_QueryTimeSeries_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(QueryServiceServer).QueryTimeSeries(ctx, req.(*QueryTimeSeriesRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+// QueryService_ServiceDesc is the grpc.ServiceDesc for QueryService service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var QueryService_ServiceDesc = grpc.ServiceDesc{
+ ServiceName: "google.monitoring.v3.QueryService",
+ HandlerType: (*QueryServiceServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "QueryTimeSeries",
+ Handler: _QueryService_QueryTimeSeries_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "google/monitoring/v3/query_service.proto",
+}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/service.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/service.pb.go
index a9d2ae8cb67ae..07a209ac19919 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/service.pb.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/service.pb.go
@@ -15,20 +15,19 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
-// protoc v4.25.3
+// protoc v4.25.7
// source: google/monitoring/v3/service.proto
package monitoringpb
import (
- reflect "reflect"
- sync "sync"
-
_ "google.golang.org/genproto/googleapis/api/annotations"
calendarperiod "google.golang.org/genproto/googleapis/type/calendarperiod"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
durationpb "google.golang.org/protobuf/types/known/durationpb"
+ reflect "reflect"
+ sync "sync"
)
const (
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/service_service.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/service_service.pb.go
index 08c2e08e26441..f08dfe56ad383 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/service_service.pb.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/service_service.pb.go
@@ -15,24 +15,19 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
-// protoc v4.25.3
+// protoc v4.25.7
// source: google/monitoring/v3/service_service.proto
package monitoringpb
import (
- context "context"
- reflect "reflect"
- sync "sync"
-
_ "google.golang.org/genproto/googleapis/api/annotations"
- grpc "google.golang.org/grpc"
- codes "google.golang.org/grpc/codes"
- status "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
emptypb "google.golang.org/protobuf/types/known/emptypb"
fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
+ reflect "reflect"
+ sync "sync"
)
const (
@@ -1200,427 +1195,3 @@ func file_google_monitoring_v3_service_service_proto_init() {
file_google_monitoring_v3_service_service_proto_goTypes = nil
file_google_monitoring_v3_service_service_proto_depIdxs = nil
}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConnInterface
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion6
-
-// ServiceMonitoringServiceClient is the client API for ServiceMonitoringService service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
-type ServiceMonitoringServiceClient interface {
- // Create a `Service`.
- CreateService(ctx context.Context, in *CreateServiceRequest, opts ...grpc.CallOption) (*Service, error)
- // Get the named `Service`.
- GetService(ctx context.Context, in *GetServiceRequest, opts ...grpc.CallOption) (*Service, error)
- // List `Service`s for this Metrics Scope.
- ListServices(ctx context.Context, in *ListServicesRequest, opts ...grpc.CallOption) (*ListServicesResponse, error)
- // Update this `Service`.
- UpdateService(ctx context.Context, in *UpdateServiceRequest, opts ...grpc.CallOption) (*Service, error)
- // Soft delete this `Service`.
- DeleteService(ctx context.Context, in *DeleteServiceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
- // Create a `ServiceLevelObjective` for the given `Service`.
- CreateServiceLevelObjective(ctx context.Context, in *CreateServiceLevelObjectiveRequest, opts ...grpc.CallOption) (*ServiceLevelObjective, error)
- // Get a `ServiceLevelObjective` by name.
- GetServiceLevelObjective(ctx context.Context, in *GetServiceLevelObjectiveRequest, opts ...grpc.CallOption) (*ServiceLevelObjective, error)
- // List the `ServiceLevelObjective`s for the given `Service`.
- ListServiceLevelObjectives(ctx context.Context, in *ListServiceLevelObjectivesRequest, opts ...grpc.CallOption) (*ListServiceLevelObjectivesResponse, error)
- // Update the given `ServiceLevelObjective`.
- UpdateServiceLevelObjective(ctx context.Context, in *UpdateServiceLevelObjectiveRequest, opts ...grpc.CallOption) (*ServiceLevelObjective, error)
- // Delete the given `ServiceLevelObjective`.
- DeleteServiceLevelObjective(ctx context.Context, in *DeleteServiceLevelObjectiveRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
-}
-
-type serviceMonitoringServiceClient struct {
- cc grpc.ClientConnInterface
-}
-
-func NewServiceMonitoringServiceClient(cc grpc.ClientConnInterface) ServiceMonitoringServiceClient {
- return &serviceMonitoringServiceClient{cc}
-}
-
-func (c *serviceMonitoringServiceClient) CreateService(ctx context.Context, in *CreateServiceRequest, opts ...grpc.CallOption) (*Service, error) {
- out := new(Service)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.ServiceMonitoringService/CreateService", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *serviceMonitoringServiceClient) GetService(ctx context.Context, in *GetServiceRequest, opts ...grpc.CallOption) (*Service, error) {
- out := new(Service)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.ServiceMonitoringService/GetService", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *serviceMonitoringServiceClient) ListServices(ctx context.Context, in *ListServicesRequest, opts ...grpc.CallOption) (*ListServicesResponse, error) {
- out := new(ListServicesResponse)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.ServiceMonitoringService/ListServices", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *serviceMonitoringServiceClient) UpdateService(ctx context.Context, in *UpdateServiceRequest, opts ...grpc.CallOption) (*Service, error) {
- out := new(Service)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.ServiceMonitoringService/UpdateService", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *serviceMonitoringServiceClient) DeleteService(ctx context.Context, in *DeleteServiceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
- out := new(emptypb.Empty)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.ServiceMonitoringService/DeleteService", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *serviceMonitoringServiceClient) CreateServiceLevelObjective(ctx context.Context, in *CreateServiceLevelObjectiveRequest, opts ...grpc.CallOption) (*ServiceLevelObjective, error) {
- out := new(ServiceLevelObjective)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.ServiceMonitoringService/CreateServiceLevelObjective", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *serviceMonitoringServiceClient) GetServiceLevelObjective(ctx context.Context, in *GetServiceLevelObjectiveRequest, opts ...grpc.CallOption) (*ServiceLevelObjective, error) {
- out := new(ServiceLevelObjective)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.ServiceMonitoringService/GetServiceLevelObjective", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *serviceMonitoringServiceClient) ListServiceLevelObjectives(ctx context.Context, in *ListServiceLevelObjectivesRequest, opts ...grpc.CallOption) (*ListServiceLevelObjectivesResponse, error) {
- out := new(ListServiceLevelObjectivesResponse)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.ServiceMonitoringService/ListServiceLevelObjectives", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *serviceMonitoringServiceClient) UpdateServiceLevelObjective(ctx context.Context, in *UpdateServiceLevelObjectiveRequest, opts ...grpc.CallOption) (*ServiceLevelObjective, error) {
- out := new(ServiceLevelObjective)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.ServiceMonitoringService/UpdateServiceLevelObjective", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *serviceMonitoringServiceClient) DeleteServiceLevelObjective(ctx context.Context, in *DeleteServiceLevelObjectiveRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
- out := new(emptypb.Empty)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.ServiceMonitoringService/DeleteServiceLevelObjective", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-// ServiceMonitoringServiceServer is the server API for ServiceMonitoringService service.
-type ServiceMonitoringServiceServer interface {
- // Create a `Service`.
- CreateService(context.Context, *CreateServiceRequest) (*Service, error)
- // Get the named `Service`.
- GetService(context.Context, *GetServiceRequest) (*Service, error)
- // List `Service`s for this Metrics Scope.
- ListServices(context.Context, *ListServicesRequest) (*ListServicesResponse, error)
- // Update this `Service`.
- UpdateService(context.Context, *UpdateServiceRequest) (*Service, error)
- // Soft delete this `Service`.
- DeleteService(context.Context, *DeleteServiceRequest) (*emptypb.Empty, error)
- // Create a `ServiceLevelObjective` for the given `Service`.
- CreateServiceLevelObjective(context.Context, *CreateServiceLevelObjectiveRequest) (*ServiceLevelObjective, error)
- // Get a `ServiceLevelObjective` by name.
- GetServiceLevelObjective(context.Context, *GetServiceLevelObjectiveRequest) (*ServiceLevelObjective, error)
- // List the `ServiceLevelObjective`s for the given `Service`.
- ListServiceLevelObjectives(context.Context, *ListServiceLevelObjectivesRequest) (*ListServiceLevelObjectivesResponse, error)
- // Update the given `ServiceLevelObjective`.
- UpdateServiceLevelObjective(context.Context, *UpdateServiceLevelObjectiveRequest) (*ServiceLevelObjective, error)
- // Delete the given `ServiceLevelObjective`.
- DeleteServiceLevelObjective(context.Context, *DeleteServiceLevelObjectiveRequest) (*emptypb.Empty, error)
-}
-
-// UnimplementedServiceMonitoringServiceServer can be embedded to have forward compatible implementations.
-type UnimplementedServiceMonitoringServiceServer struct {
-}
-
-func (*UnimplementedServiceMonitoringServiceServer) CreateService(context.Context, *CreateServiceRequest) (*Service, error) {
- return nil, status.Errorf(codes.Unimplemented, "method CreateService not implemented")
-}
-func (*UnimplementedServiceMonitoringServiceServer) GetService(context.Context, *GetServiceRequest) (*Service, error) {
- return nil, status.Errorf(codes.Unimplemented, "method GetService not implemented")
-}
-func (*UnimplementedServiceMonitoringServiceServer) ListServices(context.Context, *ListServicesRequest) (*ListServicesResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method ListServices not implemented")
-}
-func (*UnimplementedServiceMonitoringServiceServer) UpdateService(context.Context, *UpdateServiceRequest) (*Service, error) {
- return nil, status.Errorf(codes.Unimplemented, "method UpdateService not implemented")
-}
-func (*UnimplementedServiceMonitoringServiceServer) DeleteService(context.Context, *DeleteServiceRequest) (*emptypb.Empty, error) {
- return nil, status.Errorf(codes.Unimplemented, "method DeleteService not implemented")
-}
-func (*UnimplementedServiceMonitoringServiceServer) CreateServiceLevelObjective(context.Context, *CreateServiceLevelObjectiveRequest) (*ServiceLevelObjective, error) {
- return nil, status.Errorf(codes.Unimplemented, "method CreateServiceLevelObjective not implemented")
-}
-func (*UnimplementedServiceMonitoringServiceServer) GetServiceLevelObjective(context.Context, *GetServiceLevelObjectiveRequest) (*ServiceLevelObjective, error) {
- return nil, status.Errorf(codes.Unimplemented, "method GetServiceLevelObjective not implemented")
-}
-func (*UnimplementedServiceMonitoringServiceServer) ListServiceLevelObjectives(context.Context, *ListServiceLevelObjectivesRequest) (*ListServiceLevelObjectivesResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method ListServiceLevelObjectives not implemented")
-}
-func (*UnimplementedServiceMonitoringServiceServer) UpdateServiceLevelObjective(context.Context, *UpdateServiceLevelObjectiveRequest) (*ServiceLevelObjective, error) {
- return nil, status.Errorf(codes.Unimplemented, "method UpdateServiceLevelObjective not implemented")
-}
-func (*UnimplementedServiceMonitoringServiceServer) DeleteServiceLevelObjective(context.Context, *DeleteServiceLevelObjectiveRequest) (*emptypb.Empty, error) {
- return nil, status.Errorf(codes.Unimplemented, "method DeleteServiceLevelObjective not implemented")
-}
-
-func RegisterServiceMonitoringServiceServer(s *grpc.Server, srv ServiceMonitoringServiceServer) {
- s.RegisterService(&_ServiceMonitoringService_serviceDesc, srv)
-}
-
-func _ServiceMonitoringService_CreateService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(CreateServiceRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(ServiceMonitoringServiceServer).CreateService(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.ServiceMonitoringService/CreateService",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ServiceMonitoringServiceServer).CreateService(ctx, req.(*CreateServiceRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _ServiceMonitoringService_GetService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(GetServiceRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(ServiceMonitoringServiceServer).GetService(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.ServiceMonitoringService/GetService",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ServiceMonitoringServiceServer).GetService(ctx, req.(*GetServiceRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _ServiceMonitoringService_ListServices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ListServicesRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(ServiceMonitoringServiceServer).ListServices(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.ServiceMonitoringService/ListServices",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ServiceMonitoringServiceServer).ListServices(ctx, req.(*ListServicesRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _ServiceMonitoringService_UpdateService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(UpdateServiceRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(ServiceMonitoringServiceServer).UpdateService(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.ServiceMonitoringService/UpdateService",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ServiceMonitoringServiceServer).UpdateService(ctx, req.(*UpdateServiceRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _ServiceMonitoringService_DeleteService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(DeleteServiceRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(ServiceMonitoringServiceServer).DeleteService(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.ServiceMonitoringService/DeleteService",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ServiceMonitoringServiceServer).DeleteService(ctx, req.(*DeleteServiceRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _ServiceMonitoringService_CreateServiceLevelObjective_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(CreateServiceLevelObjectiveRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(ServiceMonitoringServiceServer).CreateServiceLevelObjective(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.ServiceMonitoringService/CreateServiceLevelObjective",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ServiceMonitoringServiceServer).CreateServiceLevelObjective(ctx, req.(*CreateServiceLevelObjectiveRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _ServiceMonitoringService_GetServiceLevelObjective_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(GetServiceLevelObjectiveRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(ServiceMonitoringServiceServer).GetServiceLevelObjective(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.ServiceMonitoringService/GetServiceLevelObjective",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ServiceMonitoringServiceServer).GetServiceLevelObjective(ctx, req.(*GetServiceLevelObjectiveRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _ServiceMonitoringService_ListServiceLevelObjectives_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ListServiceLevelObjectivesRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(ServiceMonitoringServiceServer).ListServiceLevelObjectives(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.ServiceMonitoringService/ListServiceLevelObjectives",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ServiceMonitoringServiceServer).ListServiceLevelObjectives(ctx, req.(*ListServiceLevelObjectivesRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _ServiceMonitoringService_UpdateServiceLevelObjective_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(UpdateServiceLevelObjectiveRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(ServiceMonitoringServiceServer).UpdateServiceLevelObjective(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.ServiceMonitoringService/UpdateServiceLevelObjective",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ServiceMonitoringServiceServer).UpdateServiceLevelObjective(ctx, req.(*UpdateServiceLevelObjectiveRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _ServiceMonitoringService_DeleteServiceLevelObjective_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(DeleteServiceLevelObjectiveRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(ServiceMonitoringServiceServer).DeleteServiceLevelObjective(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.ServiceMonitoringService/DeleteServiceLevelObjective",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(ServiceMonitoringServiceServer).DeleteServiceLevelObjective(ctx, req.(*DeleteServiceLevelObjectiveRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-var _ServiceMonitoringService_serviceDesc = grpc.ServiceDesc{
- ServiceName: "google.monitoring.v3.ServiceMonitoringService",
- HandlerType: (*ServiceMonitoringServiceServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "CreateService",
- Handler: _ServiceMonitoringService_CreateService_Handler,
- },
- {
- MethodName: "GetService",
- Handler: _ServiceMonitoringService_GetService_Handler,
- },
- {
- MethodName: "ListServices",
- Handler: _ServiceMonitoringService_ListServices_Handler,
- },
- {
- MethodName: "UpdateService",
- Handler: _ServiceMonitoringService_UpdateService_Handler,
- },
- {
- MethodName: "DeleteService",
- Handler: _ServiceMonitoringService_DeleteService_Handler,
- },
- {
- MethodName: "CreateServiceLevelObjective",
- Handler: _ServiceMonitoringService_CreateServiceLevelObjective_Handler,
- },
- {
- MethodName: "GetServiceLevelObjective",
- Handler: _ServiceMonitoringService_GetServiceLevelObjective_Handler,
- },
- {
- MethodName: "ListServiceLevelObjectives",
- Handler: _ServiceMonitoringService_ListServiceLevelObjectives_Handler,
- },
- {
- MethodName: "UpdateServiceLevelObjective",
- Handler: _ServiceMonitoringService_UpdateServiceLevelObjective_Handler,
- },
- {
- MethodName: "DeleteServiceLevelObjective",
- Handler: _ServiceMonitoringService_DeleteServiceLevelObjective_Handler,
- },
- },
- Streams: []grpc.StreamDesc{},
- Metadata: "google/monitoring/v3/service_service.proto",
-}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/service_service_grpc.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/service_service_grpc.pb.go
new file mode 100644
index 0000000000000..bd7692b95026c
--- /dev/null
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/service_service_grpc.pb.go
@@ -0,0 +1,475 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+// versions:
+// - protoc-gen-go-grpc v1.3.0
+// - protoc v4.25.7
+// source: google/monitoring/v3/service_service.proto
+
+package monitoringpb
+
+import (
+ context "context"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
+ emptypb "google.golang.org/protobuf/types/known/emptypb"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+// Requires gRPC-Go v1.32.0 or later.
+const _ = grpc.SupportPackageIsVersion7
+
+const (
+ ServiceMonitoringService_CreateService_FullMethodName = "/google.monitoring.v3.ServiceMonitoringService/CreateService"
+ ServiceMonitoringService_GetService_FullMethodName = "/google.monitoring.v3.ServiceMonitoringService/GetService"
+ ServiceMonitoringService_ListServices_FullMethodName = "/google.monitoring.v3.ServiceMonitoringService/ListServices"
+ ServiceMonitoringService_UpdateService_FullMethodName = "/google.monitoring.v3.ServiceMonitoringService/UpdateService"
+ ServiceMonitoringService_DeleteService_FullMethodName = "/google.monitoring.v3.ServiceMonitoringService/DeleteService"
+ ServiceMonitoringService_CreateServiceLevelObjective_FullMethodName = "/google.monitoring.v3.ServiceMonitoringService/CreateServiceLevelObjective"
+ ServiceMonitoringService_GetServiceLevelObjective_FullMethodName = "/google.monitoring.v3.ServiceMonitoringService/GetServiceLevelObjective"
+ ServiceMonitoringService_ListServiceLevelObjectives_FullMethodName = "/google.monitoring.v3.ServiceMonitoringService/ListServiceLevelObjectives"
+ ServiceMonitoringService_UpdateServiceLevelObjective_FullMethodName = "/google.monitoring.v3.ServiceMonitoringService/UpdateServiceLevelObjective"
+ ServiceMonitoringService_DeleteServiceLevelObjective_FullMethodName = "/google.monitoring.v3.ServiceMonitoringService/DeleteServiceLevelObjective"
+)
+
+// ServiceMonitoringServiceClient is the client API for ServiceMonitoringService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+type ServiceMonitoringServiceClient interface {
+ // Create a `Service`.
+ CreateService(ctx context.Context, in *CreateServiceRequest, opts ...grpc.CallOption) (*Service, error)
+ // Get the named `Service`.
+ GetService(ctx context.Context, in *GetServiceRequest, opts ...grpc.CallOption) (*Service, error)
+ // List `Service`s for this Metrics Scope.
+ ListServices(ctx context.Context, in *ListServicesRequest, opts ...grpc.CallOption) (*ListServicesResponse, error)
+ // Update this `Service`.
+ UpdateService(ctx context.Context, in *UpdateServiceRequest, opts ...grpc.CallOption) (*Service, error)
+ // Soft delete this `Service`.
+ DeleteService(ctx context.Context, in *DeleteServiceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ // Create a `ServiceLevelObjective` for the given `Service`.
+ CreateServiceLevelObjective(ctx context.Context, in *CreateServiceLevelObjectiveRequest, opts ...grpc.CallOption) (*ServiceLevelObjective, error)
+ // Get a `ServiceLevelObjective` by name.
+ GetServiceLevelObjective(ctx context.Context, in *GetServiceLevelObjectiveRequest, opts ...grpc.CallOption) (*ServiceLevelObjective, error)
+ // List the `ServiceLevelObjective`s for the given `Service`.
+ ListServiceLevelObjectives(ctx context.Context, in *ListServiceLevelObjectivesRequest, opts ...grpc.CallOption) (*ListServiceLevelObjectivesResponse, error)
+ // Update the given `ServiceLevelObjective`.
+ UpdateServiceLevelObjective(ctx context.Context, in *UpdateServiceLevelObjectiveRequest, opts ...grpc.CallOption) (*ServiceLevelObjective, error)
+ // Delete the given `ServiceLevelObjective`.
+ DeleteServiceLevelObjective(ctx context.Context, in *DeleteServiceLevelObjectiveRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+}
+
+type serviceMonitoringServiceClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewServiceMonitoringServiceClient(cc grpc.ClientConnInterface) ServiceMonitoringServiceClient {
+ return &serviceMonitoringServiceClient{cc}
+}
+
+func (c *serviceMonitoringServiceClient) CreateService(ctx context.Context, in *CreateServiceRequest, opts ...grpc.CallOption) (*Service, error) {
+ out := new(Service)
+ err := c.cc.Invoke(ctx, ServiceMonitoringService_CreateService_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceMonitoringServiceClient) GetService(ctx context.Context, in *GetServiceRequest, opts ...grpc.CallOption) (*Service, error) {
+ out := new(Service)
+ err := c.cc.Invoke(ctx, ServiceMonitoringService_GetService_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceMonitoringServiceClient) ListServices(ctx context.Context, in *ListServicesRequest, opts ...grpc.CallOption) (*ListServicesResponse, error) {
+ out := new(ListServicesResponse)
+ err := c.cc.Invoke(ctx, ServiceMonitoringService_ListServices_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceMonitoringServiceClient) UpdateService(ctx context.Context, in *UpdateServiceRequest, opts ...grpc.CallOption) (*Service, error) {
+ out := new(Service)
+ err := c.cc.Invoke(ctx, ServiceMonitoringService_UpdateService_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceMonitoringServiceClient) DeleteService(ctx context.Context, in *DeleteServiceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, ServiceMonitoringService_DeleteService_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceMonitoringServiceClient) CreateServiceLevelObjective(ctx context.Context, in *CreateServiceLevelObjectiveRequest, opts ...grpc.CallOption) (*ServiceLevelObjective, error) {
+ out := new(ServiceLevelObjective)
+ err := c.cc.Invoke(ctx, ServiceMonitoringService_CreateServiceLevelObjective_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceMonitoringServiceClient) GetServiceLevelObjective(ctx context.Context, in *GetServiceLevelObjectiveRequest, opts ...grpc.CallOption) (*ServiceLevelObjective, error) {
+ out := new(ServiceLevelObjective)
+ err := c.cc.Invoke(ctx, ServiceMonitoringService_GetServiceLevelObjective_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceMonitoringServiceClient) ListServiceLevelObjectives(ctx context.Context, in *ListServiceLevelObjectivesRequest, opts ...grpc.CallOption) (*ListServiceLevelObjectivesResponse, error) {
+ out := new(ListServiceLevelObjectivesResponse)
+ err := c.cc.Invoke(ctx, ServiceMonitoringService_ListServiceLevelObjectives_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceMonitoringServiceClient) UpdateServiceLevelObjective(ctx context.Context, in *UpdateServiceLevelObjectiveRequest, opts ...grpc.CallOption) (*ServiceLevelObjective, error) {
+ out := new(ServiceLevelObjective)
+ err := c.cc.Invoke(ctx, ServiceMonitoringService_UpdateServiceLevelObjective_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *serviceMonitoringServiceClient) DeleteServiceLevelObjective(ctx context.Context, in *DeleteServiceLevelObjectiveRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, ServiceMonitoringService_DeleteServiceLevelObjective_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// ServiceMonitoringServiceServer is the server API for ServiceMonitoringService service.
+// All implementations should embed UnimplementedServiceMonitoringServiceServer
+// for forward compatibility
+type ServiceMonitoringServiceServer interface {
+ // Create a `Service`.
+ CreateService(context.Context, *CreateServiceRequest) (*Service, error)
+ // Get the named `Service`.
+ GetService(context.Context, *GetServiceRequest) (*Service, error)
+ // List `Service`s for this Metrics Scope.
+ ListServices(context.Context, *ListServicesRequest) (*ListServicesResponse, error)
+ // Update this `Service`.
+ UpdateService(context.Context, *UpdateServiceRequest) (*Service, error)
+ // Soft delete this `Service`.
+ DeleteService(context.Context, *DeleteServiceRequest) (*emptypb.Empty, error)
+ // Create a `ServiceLevelObjective` for the given `Service`.
+ CreateServiceLevelObjective(context.Context, *CreateServiceLevelObjectiveRequest) (*ServiceLevelObjective, error)
+ // Get a `ServiceLevelObjective` by name.
+ GetServiceLevelObjective(context.Context, *GetServiceLevelObjectiveRequest) (*ServiceLevelObjective, error)
+ // List the `ServiceLevelObjective`s for the given `Service`.
+ ListServiceLevelObjectives(context.Context, *ListServiceLevelObjectivesRequest) (*ListServiceLevelObjectivesResponse, error)
+ // Update the given `ServiceLevelObjective`.
+ UpdateServiceLevelObjective(context.Context, *UpdateServiceLevelObjectiveRequest) (*ServiceLevelObjective, error)
+ // Delete the given `ServiceLevelObjective`.
+ DeleteServiceLevelObjective(context.Context, *DeleteServiceLevelObjectiveRequest) (*emptypb.Empty, error)
+}
+
+// UnimplementedServiceMonitoringServiceServer should be embedded to have forward compatible implementations.
+type UnimplementedServiceMonitoringServiceServer struct {
+}
+
+func (UnimplementedServiceMonitoringServiceServer) CreateService(context.Context, *CreateServiceRequest) (*Service, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CreateService not implemented")
+}
+func (UnimplementedServiceMonitoringServiceServer) GetService(context.Context, *GetServiceRequest) (*Service, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetService not implemented")
+}
+func (UnimplementedServiceMonitoringServiceServer) ListServices(context.Context, *ListServicesRequest) (*ListServicesResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListServices not implemented")
+}
+func (UnimplementedServiceMonitoringServiceServer) UpdateService(context.Context, *UpdateServiceRequest) (*Service, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UpdateService not implemented")
+}
+func (UnimplementedServiceMonitoringServiceServer) DeleteService(context.Context, *DeleteServiceRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method DeleteService not implemented")
+}
+func (UnimplementedServiceMonitoringServiceServer) CreateServiceLevelObjective(context.Context, *CreateServiceLevelObjectiveRequest) (*ServiceLevelObjective, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CreateServiceLevelObjective not implemented")
+}
+func (UnimplementedServiceMonitoringServiceServer) GetServiceLevelObjective(context.Context, *GetServiceLevelObjectiveRequest) (*ServiceLevelObjective, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetServiceLevelObjective not implemented")
+}
+func (UnimplementedServiceMonitoringServiceServer) ListServiceLevelObjectives(context.Context, *ListServiceLevelObjectivesRequest) (*ListServiceLevelObjectivesResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListServiceLevelObjectives not implemented")
+}
+func (UnimplementedServiceMonitoringServiceServer) UpdateServiceLevelObjective(context.Context, *UpdateServiceLevelObjectiveRequest) (*ServiceLevelObjective, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UpdateServiceLevelObjective not implemented")
+}
+func (UnimplementedServiceMonitoringServiceServer) DeleteServiceLevelObjective(context.Context, *DeleteServiceLevelObjectiveRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method DeleteServiceLevelObjective not implemented")
+}
+
+// UnsafeServiceMonitoringServiceServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to ServiceMonitoringServiceServer will
+// result in compilation errors.
+type UnsafeServiceMonitoringServiceServer interface {
+ mustEmbedUnimplementedServiceMonitoringServiceServer()
+}
+
+func RegisterServiceMonitoringServiceServer(s grpc.ServiceRegistrar, srv ServiceMonitoringServiceServer) {
+ s.RegisterService(&ServiceMonitoringService_ServiceDesc, srv)
+}
+
+func _ServiceMonitoringService_CreateService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreateServiceRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceMonitoringServiceServer).CreateService(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: ServiceMonitoringService_CreateService_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceMonitoringServiceServer).CreateService(ctx, req.(*CreateServiceRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceMonitoringService_GetService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetServiceRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceMonitoringServiceServer).GetService(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: ServiceMonitoringService_GetService_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceMonitoringServiceServer).GetService(ctx, req.(*GetServiceRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceMonitoringService_ListServices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListServicesRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceMonitoringServiceServer).ListServices(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: ServiceMonitoringService_ListServices_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceMonitoringServiceServer).ListServices(ctx, req.(*ListServicesRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceMonitoringService_UpdateService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(UpdateServiceRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceMonitoringServiceServer).UpdateService(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: ServiceMonitoringService_UpdateService_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceMonitoringServiceServer).UpdateService(ctx, req.(*UpdateServiceRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceMonitoringService_DeleteService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeleteServiceRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceMonitoringServiceServer).DeleteService(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: ServiceMonitoringService_DeleteService_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceMonitoringServiceServer).DeleteService(ctx, req.(*DeleteServiceRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceMonitoringService_CreateServiceLevelObjective_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreateServiceLevelObjectiveRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceMonitoringServiceServer).CreateServiceLevelObjective(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: ServiceMonitoringService_CreateServiceLevelObjective_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceMonitoringServiceServer).CreateServiceLevelObjective(ctx, req.(*CreateServiceLevelObjectiveRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceMonitoringService_GetServiceLevelObjective_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetServiceLevelObjectiveRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceMonitoringServiceServer).GetServiceLevelObjective(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: ServiceMonitoringService_GetServiceLevelObjective_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceMonitoringServiceServer).GetServiceLevelObjective(ctx, req.(*GetServiceLevelObjectiveRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceMonitoringService_ListServiceLevelObjectives_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListServiceLevelObjectivesRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceMonitoringServiceServer).ListServiceLevelObjectives(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: ServiceMonitoringService_ListServiceLevelObjectives_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceMonitoringServiceServer).ListServiceLevelObjectives(ctx, req.(*ListServiceLevelObjectivesRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceMonitoringService_UpdateServiceLevelObjective_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(UpdateServiceLevelObjectiveRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceMonitoringServiceServer).UpdateServiceLevelObjective(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: ServiceMonitoringService_UpdateServiceLevelObjective_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceMonitoringServiceServer).UpdateServiceLevelObjective(ctx, req.(*UpdateServiceLevelObjectiveRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceMonitoringService_DeleteServiceLevelObjective_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeleteServiceLevelObjectiveRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(ServiceMonitoringServiceServer).DeleteServiceLevelObjective(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: ServiceMonitoringService_DeleteServiceLevelObjective_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(ServiceMonitoringServiceServer).DeleteServiceLevelObjective(ctx, req.(*DeleteServiceLevelObjectiveRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+// ServiceMonitoringService_ServiceDesc is the grpc.ServiceDesc for ServiceMonitoringService service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var ServiceMonitoringService_ServiceDesc = grpc.ServiceDesc{
+ ServiceName: "google.monitoring.v3.ServiceMonitoringService",
+ HandlerType: (*ServiceMonitoringServiceServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "CreateService",
+ Handler: _ServiceMonitoringService_CreateService_Handler,
+ },
+ {
+ MethodName: "GetService",
+ Handler: _ServiceMonitoringService_GetService_Handler,
+ },
+ {
+ MethodName: "ListServices",
+ Handler: _ServiceMonitoringService_ListServices_Handler,
+ },
+ {
+ MethodName: "UpdateService",
+ Handler: _ServiceMonitoringService_UpdateService_Handler,
+ },
+ {
+ MethodName: "DeleteService",
+ Handler: _ServiceMonitoringService_DeleteService_Handler,
+ },
+ {
+ MethodName: "CreateServiceLevelObjective",
+ Handler: _ServiceMonitoringService_CreateServiceLevelObjective_Handler,
+ },
+ {
+ MethodName: "GetServiceLevelObjective",
+ Handler: _ServiceMonitoringService_GetServiceLevelObjective_Handler,
+ },
+ {
+ MethodName: "ListServiceLevelObjectives",
+ Handler: _ServiceMonitoringService_ListServiceLevelObjectives_Handler,
+ },
+ {
+ MethodName: "UpdateServiceLevelObjective",
+ Handler: _ServiceMonitoringService_UpdateServiceLevelObjective_Handler,
+ },
+ {
+ MethodName: "DeleteServiceLevelObjective",
+ Handler: _ServiceMonitoringService_DeleteServiceLevelObjective_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "google/monitoring/v3/service_service.proto",
+}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/snooze.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/snooze.pb.go
index 861e045f2d4da..39a2dc9f98e98 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/snooze.pb.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/snooze.pb.go
@@ -15,18 +15,17 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
-// protoc v4.25.3
+// protoc v4.25.7
// source: google/monitoring/v3/snooze.proto
package monitoringpb
import (
- reflect "reflect"
- sync "sync"
-
_ "google.golang.org/genproto/googleapis/api/annotations"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
)
const (
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/snooze_service.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/snooze_service.pb.go
index c562d60bcc70e..094ab0d01e96b 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/snooze_service.pb.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/snooze_service.pb.go
@@ -15,23 +15,18 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
-// protoc v4.25.3
+// protoc v4.25.7
// source: google/monitoring/v3/snooze_service.proto
package monitoringpb
import (
- context "context"
- reflect "reflect"
- sync "sync"
-
_ "google.golang.org/genproto/googleapis/api/annotations"
- grpc "google.golang.org/grpc"
- codes "google.golang.org/grpc/codes"
- status "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
+ reflect "reflect"
+ sync "sync"
)
const (
@@ -587,207 +582,3 @@ func file_google_monitoring_v3_snooze_service_proto_init() {
file_google_monitoring_v3_snooze_service_proto_goTypes = nil
file_google_monitoring_v3_snooze_service_proto_depIdxs = nil
}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConnInterface
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion6
-
-// SnoozeServiceClient is the client API for SnoozeService service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
-type SnoozeServiceClient interface {
- // Creates a `Snooze` that will prevent alerts, which match the provided
- // criteria, from being opened. The `Snooze` applies for a specific time
- // interval.
- CreateSnooze(ctx context.Context, in *CreateSnoozeRequest, opts ...grpc.CallOption) (*Snooze, error)
- // Lists the `Snooze`s associated with a project. Can optionally pass in
- // `filter`, which specifies predicates to match `Snooze`s.
- ListSnoozes(ctx context.Context, in *ListSnoozesRequest, opts ...grpc.CallOption) (*ListSnoozesResponse, error)
- // Retrieves a `Snooze` by `name`.
- GetSnooze(ctx context.Context, in *GetSnoozeRequest, opts ...grpc.CallOption) (*Snooze, error)
- // Updates a `Snooze`, identified by its `name`, with the parameters in the
- // given `Snooze` object.
- UpdateSnooze(ctx context.Context, in *UpdateSnoozeRequest, opts ...grpc.CallOption) (*Snooze, error)
-}
-
-type snoozeServiceClient struct {
- cc grpc.ClientConnInterface
-}
-
-func NewSnoozeServiceClient(cc grpc.ClientConnInterface) SnoozeServiceClient {
- return &snoozeServiceClient{cc}
-}
-
-func (c *snoozeServiceClient) CreateSnooze(ctx context.Context, in *CreateSnoozeRequest, opts ...grpc.CallOption) (*Snooze, error) {
- out := new(Snooze)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.SnoozeService/CreateSnooze", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *snoozeServiceClient) ListSnoozes(ctx context.Context, in *ListSnoozesRequest, opts ...grpc.CallOption) (*ListSnoozesResponse, error) {
- out := new(ListSnoozesResponse)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.SnoozeService/ListSnoozes", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *snoozeServiceClient) GetSnooze(ctx context.Context, in *GetSnoozeRequest, opts ...grpc.CallOption) (*Snooze, error) {
- out := new(Snooze)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.SnoozeService/GetSnooze", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *snoozeServiceClient) UpdateSnooze(ctx context.Context, in *UpdateSnoozeRequest, opts ...grpc.CallOption) (*Snooze, error) {
- out := new(Snooze)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.SnoozeService/UpdateSnooze", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-// SnoozeServiceServer is the server API for SnoozeService service.
-type SnoozeServiceServer interface {
- // Creates a `Snooze` that will prevent alerts, which match the provided
- // criteria, from being opened. The `Snooze` applies for a specific time
- // interval.
- CreateSnooze(context.Context, *CreateSnoozeRequest) (*Snooze, error)
- // Lists the `Snooze`s associated with a project. Can optionally pass in
- // `filter`, which specifies predicates to match `Snooze`s.
- ListSnoozes(context.Context, *ListSnoozesRequest) (*ListSnoozesResponse, error)
- // Retrieves a `Snooze` by `name`.
- GetSnooze(context.Context, *GetSnoozeRequest) (*Snooze, error)
- // Updates a `Snooze`, identified by its `name`, with the parameters in the
- // given `Snooze` object.
- UpdateSnooze(context.Context, *UpdateSnoozeRequest) (*Snooze, error)
-}
-
-// UnimplementedSnoozeServiceServer can be embedded to have forward compatible implementations.
-type UnimplementedSnoozeServiceServer struct {
-}
-
-func (*UnimplementedSnoozeServiceServer) CreateSnooze(context.Context, *CreateSnoozeRequest) (*Snooze, error) {
- return nil, status.Errorf(codes.Unimplemented, "method CreateSnooze not implemented")
-}
-func (*UnimplementedSnoozeServiceServer) ListSnoozes(context.Context, *ListSnoozesRequest) (*ListSnoozesResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method ListSnoozes not implemented")
-}
-func (*UnimplementedSnoozeServiceServer) GetSnooze(context.Context, *GetSnoozeRequest) (*Snooze, error) {
- return nil, status.Errorf(codes.Unimplemented, "method GetSnooze not implemented")
-}
-func (*UnimplementedSnoozeServiceServer) UpdateSnooze(context.Context, *UpdateSnoozeRequest) (*Snooze, error) {
- return nil, status.Errorf(codes.Unimplemented, "method UpdateSnooze not implemented")
-}
-
-func RegisterSnoozeServiceServer(s *grpc.Server, srv SnoozeServiceServer) {
- s.RegisterService(&_SnoozeService_serviceDesc, srv)
-}
-
-func _SnoozeService_CreateSnooze_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(CreateSnoozeRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(SnoozeServiceServer).CreateSnooze(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.SnoozeService/CreateSnooze",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(SnoozeServiceServer).CreateSnooze(ctx, req.(*CreateSnoozeRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _SnoozeService_ListSnoozes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ListSnoozesRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(SnoozeServiceServer).ListSnoozes(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.SnoozeService/ListSnoozes",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(SnoozeServiceServer).ListSnoozes(ctx, req.(*ListSnoozesRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _SnoozeService_GetSnooze_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(GetSnoozeRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(SnoozeServiceServer).GetSnooze(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.SnoozeService/GetSnooze",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(SnoozeServiceServer).GetSnooze(ctx, req.(*GetSnoozeRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _SnoozeService_UpdateSnooze_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(UpdateSnoozeRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(SnoozeServiceServer).UpdateSnooze(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.SnoozeService/UpdateSnooze",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(SnoozeServiceServer).UpdateSnooze(ctx, req.(*UpdateSnoozeRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-var _SnoozeService_serviceDesc = grpc.ServiceDesc{
- ServiceName: "google.monitoring.v3.SnoozeService",
- HandlerType: (*SnoozeServiceServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "CreateSnooze",
- Handler: _SnoozeService_CreateSnooze_Handler,
- },
- {
- MethodName: "ListSnoozes",
- Handler: _SnoozeService_ListSnoozes_Handler,
- },
- {
- MethodName: "GetSnooze",
- Handler: _SnoozeService_GetSnooze_Handler,
- },
- {
- MethodName: "UpdateSnooze",
- Handler: _SnoozeService_UpdateSnooze_Handler,
- },
- },
- Streams: []grpc.StreamDesc{},
- Metadata: "google/monitoring/v3/snooze_service.proto",
-}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/snooze_service_grpc.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/snooze_service_grpc.pb.go
new file mode 100644
index 0000000000000..0b7e4fa924c27
--- /dev/null
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/snooze_service_grpc.pb.go
@@ -0,0 +1,248 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+// versions:
+// - protoc-gen-go-grpc v1.3.0
+// - protoc v4.25.7
+// source: google/monitoring/v3/snooze_service.proto
+
+package monitoringpb
+
+import (
+ context "context"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+// Requires gRPC-Go v1.32.0 or later.
+const _ = grpc.SupportPackageIsVersion7
+
+const (
+ SnoozeService_CreateSnooze_FullMethodName = "/google.monitoring.v3.SnoozeService/CreateSnooze"
+ SnoozeService_ListSnoozes_FullMethodName = "/google.monitoring.v3.SnoozeService/ListSnoozes"
+ SnoozeService_GetSnooze_FullMethodName = "/google.monitoring.v3.SnoozeService/GetSnooze"
+ SnoozeService_UpdateSnooze_FullMethodName = "/google.monitoring.v3.SnoozeService/UpdateSnooze"
+)
+
+// SnoozeServiceClient is the client API for SnoozeService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+type SnoozeServiceClient interface {
+ // Creates a `Snooze` that will prevent alerts, which match the provided
+ // criteria, from being opened. The `Snooze` applies for a specific time
+ // interval.
+ CreateSnooze(ctx context.Context, in *CreateSnoozeRequest, opts ...grpc.CallOption) (*Snooze, error)
+ // Lists the `Snooze`s associated with a project. Can optionally pass in
+ // `filter`, which specifies predicates to match `Snooze`s.
+ ListSnoozes(ctx context.Context, in *ListSnoozesRequest, opts ...grpc.CallOption) (*ListSnoozesResponse, error)
+ // Retrieves a `Snooze` by `name`.
+ GetSnooze(ctx context.Context, in *GetSnoozeRequest, opts ...grpc.CallOption) (*Snooze, error)
+ // Updates a `Snooze`, identified by its `name`, with the parameters in the
+ // given `Snooze` object.
+ UpdateSnooze(ctx context.Context, in *UpdateSnoozeRequest, opts ...grpc.CallOption) (*Snooze, error)
+}
+
+type snoozeServiceClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewSnoozeServiceClient(cc grpc.ClientConnInterface) SnoozeServiceClient {
+ return &snoozeServiceClient{cc}
+}
+
+func (c *snoozeServiceClient) CreateSnooze(ctx context.Context, in *CreateSnoozeRequest, opts ...grpc.CallOption) (*Snooze, error) {
+ out := new(Snooze)
+ err := c.cc.Invoke(ctx, SnoozeService_CreateSnooze_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *snoozeServiceClient) ListSnoozes(ctx context.Context, in *ListSnoozesRequest, opts ...grpc.CallOption) (*ListSnoozesResponse, error) {
+ out := new(ListSnoozesResponse)
+ err := c.cc.Invoke(ctx, SnoozeService_ListSnoozes_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *snoozeServiceClient) GetSnooze(ctx context.Context, in *GetSnoozeRequest, opts ...grpc.CallOption) (*Snooze, error) {
+ out := new(Snooze)
+ err := c.cc.Invoke(ctx, SnoozeService_GetSnooze_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *snoozeServiceClient) UpdateSnooze(ctx context.Context, in *UpdateSnoozeRequest, opts ...grpc.CallOption) (*Snooze, error) {
+ out := new(Snooze)
+ err := c.cc.Invoke(ctx, SnoozeService_UpdateSnooze_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// SnoozeServiceServer is the server API for SnoozeService service.
+// All implementations should embed UnimplementedSnoozeServiceServer
+// for forward compatibility
+type SnoozeServiceServer interface {
+ // Creates a `Snooze` that will prevent alerts, which match the provided
+ // criteria, from being opened. The `Snooze` applies for a specific time
+ // interval.
+ CreateSnooze(context.Context, *CreateSnoozeRequest) (*Snooze, error)
+ // Lists the `Snooze`s associated with a project. Can optionally pass in
+ // `filter`, which specifies predicates to match `Snooze`s.
+ ListSnoozes(context.Context, *ListSnoozesRequest) (*ListSnoozesResponse, error)
+ // Retrieves a `Snooze` by `name`.
+ GetSnooze(context.Context, *GetSnoozeRequest) (*Snooze, error)
+ // Updates a `Snooze`, identified by its `name`, with the parameters in the
+ // given `Snooze` object.
+ UpdateSnooze(context.Context, *UpdateSnoozeRequest) (*Snooze, error)
+}
+
+// UnimplementedSnoozeServiceServer should be embedded to have forward compatible implementations.
+type UnimplementedSnoozeServiceServer struct {
+}
+
+func (UnimplementedSnoozeServiceServer) CreateSnooze(context.Context, *CreateSnoozeRequest) (*Snooze, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CreateSnooze not implemented")
+}
+func (UnimplementedSnoozeServiceServer) ListSnoozes(context.Context, *ListSnoozesRequest) (*ListSnoozesResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListSnoozes not implemented")
+}
+func (UnimplementedSnoozeServiceServer) GetSnooze(context.Context, *GetSnoozeRequest) (*Snooze, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetSnooze not implemented")
+}
+func (UnimplementedSnoozeServiceServer) UpdateSnooze(context.Context, *UpdateSnoozeRequest) (*Snooze, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UpdateSnooze not implemented")
+}
+
+// UnsafeSnoozeServiceServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to SnoozeServiceServer will
+// result in compilation errors.
+type UnsafeSnoozeServiceServer interface {
+ mustEmbedUnimplementedSnoozeServiceServer()
+}
+
+func RegisterSnoozeServiceServer(s grpc.ServiceRegistrar, srv SnoozeServiceServer) {
+ s.RegisterService(&SnoozeService_ServiceDesc, srv)
+}
+
+func _SnoozeService_CreateSnooze_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreateSnoozeRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(SnoozeServiceServer).CreateSnooze(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: SnoozeService_CreateSnooze_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(SnoozeServiceServer).CreateSnooze(ctx, req.(*CreateSnoozeRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _SnoozeService_ListSnoozes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListSnoozesRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(SnoozeServiceServer).ListSnoozes(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: SnoozeService_ListSnoozes_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(SnoozeServiceServer).ListSnoozes(ctx, req.(*ListSnoozesRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _SnoozeService_GetSnooze_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetSnoozeRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(SnoozeServiceServer).GetSnooze(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: SnoozeService_GetSnooze_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(SnoozeServiceServer).GetSnooze(ctx, req.(*GetSnoozeRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _SnoozeService_UpdateSnooze_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(UpdateSnoozeRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(SnoozeServiceServer).UpdateSnooze(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: SnoozeService_UpdateSnooze_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(SnoozeServiceServer).UpdateSnooze(ctx, req.(*UpdateSnoozeRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+// SnoozeService_ServiceDesc is the grpc.ServiceDesc for SnoozeService service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var SnoozeService_ServiceDesc = grpc.ServiceDesc{
+ ServiceName: "google.monitoring.v3.SnoozeService",
+ HandlerType: (*SnoozeServiceServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "CreateSnooze",
+ Handler: _SnoozeService_CreateSnooze_Handler,
+ },
+ {
+ MethodName: "ListSnoozes",
+ Handler: _SnoozeService_ListSnoozes_Handler,
+ },
+ {
+ MethodName: "GetSnooze",
+ Handler: _SnoozeService_GetSnooze_Handler,
+ },
+ {
+ MethodName: "UpdateSnooze",
+ Handler: _SnoozeService_UpdateSnooze_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "google/monitoring/v3/snooze_service.proto",
+}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/span_context.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/span_context.pb.go
index 23f42835f1437..b933261241466 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/span_context.pb.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/span_context.pb.go
@@ -15,17 +15,16 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
-// protoc v4.25.3
+// protoc v4.25.7
// source: google/monitoring/v3/span_context.proto
package monitoringpb
import (
- reflect "reflect"
- sync "sync"
-
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ reflect "reflect"
+ sync "sync"
)
const (
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/uptime.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/uptime.pb.go
index f303ac25156b5..2e0fb6420a940 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/uptime.pb.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/uptime.pb.go
@@ -15,20 +15,19 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
-// protoc v4.25.3
+// protoc v4.25.7
// source: google/monitoring/v3/uptime.proto
package monitoringpb
import (
- reflect "reflect"
- sync "sync"
-
_ "google.golang.org/genproto/googleapis/api/annotations"
monitoredres "google.golang.org/genproto/googleapis/api/monitoredres"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
durationpb "google.golang.org/protobuf/types/known/durationpb"
+ reflect "reflect"
+ sync "sync"
)
const (
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/uptime_service.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/uptime_service.pb.go
index 9ea159bbd2d5b..1ff646bc56a59 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/uptime_service.pb.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/uptime_service.pb.go
@@ -15,24 +15,19 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.35.2
-// protoc v4.25.3
+// protoc v4.25.7
// source: google/monitoring/v3/uptime_service.proto
package monitoringpb
import (
- context "context"
- reflect "reflect"
- sync "sync"
-
_ "google.golang.org/genproto/googleapis/api/annotations"
- grpc "google.golang.org/grpc"
- codes "google.golang.org/grpc/codes"
- status "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
emptypb "google.golang.org/protobuf/types/known/emptypb"
fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
+ reflect "reflect"
+ sync "sync"
)
const (
@@ -826,287 +821,3 @@ func file_google_monitoring_v3_uptime_service_proto_init() {
file_google_monitoring_v3_uptime_service_proto_goTypes = nil
file_google_monitoring_v3_uptime_service_proto_depIdxs = nil
}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConnInterface
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion6
-
-// UptimeCheckServiceClient is the client API for UptimeCheckService service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
-type UptimeCheckServiceClient interface {
- // Lists the existing valid Uptime check configurations for the project
- // (leaving out any invalid configurations).
- ListUptimeCheckConfigs(ctx context.Context, in *ListUptimeCheckConfigsRequest, opts ...grpc.CallOption) (*ListUptimeCheckConfigsResponse, error)
- // Gets a single Uptime check configuration.
- GetUptimeCheckConfig(ctx context.Context, in *GetUptimeCheckConfigRequest, opts ...grpc.CallOption) (*UptimeCheckConfig, error)
- // Creates a new Uptime check configuration.
- CreateUptimeCheckConfig(ctx context.Context, in *CreateUptimeCheckConfigRequest, opts ...grpc.CallOption) (*UptimeCheckConfig, error)
- // Updates an Uptime check configuration. You can either replace the entire
- // configuration with a new one or replace only certain fields in the current
- // configuration by specifying the fields to be updated via `updateMask`.
- // Returns the updated configuration.
- UpdateUptimeCheckConfig(ctx context.Context, in *UpdateUptimeCheckConfigRequest, opts ...grpc.CallOption) (*UptimeCheckConfig, error)
- // Deletes an Uptime check configuration. Note that this method will fail
- // if the Uptime check configuration is referenced by an alert policy or
- // other dependent configs that would be rendered invalid by the deletion.
- DeleteUptimeCheckConfig(ctx context.Context, in *DeleteUptimeCheckConfigRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
- // Returns the list of IP addresses that checkers run from.
- ListUptimeCheckIps(ctx context.Context, in *ListUptimeCheckIpsRequest, opts ...grpc.CallOption) (*ListUptimeCheckIpsResponse, error)
-}
-
-type uptimeCheckServiceClient struct {
- cc grpc.ClientConnInterface
-}
-
-func NewUptimeCheckServiceClient(cc grpc.ClientConnInterface) UptimeCheckServiceClient {
- return &uptimeCheckServiceClient{cc}
-}
-
-func (c *uptimeCheckServiceClient) ListUptimeCheckConfigs(ctx context.Context, in *ListUptimeCheckConfigsRequest, opts ...grpc.CallOption) (*ListUptimeCheckConfigsResponse, error) {
- out := new(ListUptimeCheckConfigsResponse)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.UptimeCheckService/ListUptimeCheckConfigs", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *uptimeCheckServiceClient) GetUptimeCheckConfig(ctx context.Context, in *GetUptimeCheckConfigRequest, opts ...grpc.CallOption) (*UptimeCheckConfig, error) {
- out := new(UptimeCheckConfig)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.UptimeCheckService/GetUptimeCheckConfig", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *uptimeCheckServiceClient) CreateUptimeCheckConfig(ctx context.Context, in *CreateUptimeCheckConfigRequest, opts ...grpc.CallOption) (*UptimeCheckConfig, error) {
- out := new(UptimeCheckConfig)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.UptimeCheckService/CreateUptimeCheckConfig", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *uptimeCheckServiceClient) UpdateUptimeCheckConfig(ctx context.Context, in *UpdateUptimeCheckConfigRequest, opts ...grpc.CallOption) (*UptimeCheckConfig, error) {
- out := new(UptimeCheckConfig)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.UptimeCheckService/UpdateUptimeCheckConfig", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *uptimeCheckServiceClient) DeleteUptimeCheckConfig(ctx context.Context, in *DeleteUptimeCheckConfigRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
- out := new(emptypb.Empty)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.UptimeCheckService/DeleteUptimeCheckConfig", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-func (c *uptimeCheckServiceClient) ListUptimeCheckIps(ctx context.Context, in *ListUptimeCheckIpsRequest, opts ...grpc.CallOption) (*ListUptimeCheckIpsResponse, error) {
- out := new(ListUptimeCheckIpsResponse)
- err := c.cc.Invoke(ctx, "/google.monitoring.v3.UptimeCheckService/ListUptimeCheckIps", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-// UptimeCheckServiceServer is the server API for UptimeCheckService service.
-type UptimeCheckServiceServer interface {
- // Lists the existing valid Uptime check configurations for the project
- // (leaving out any invalid configurations).
- ListUptimeCheckConfigs(context.Context, *ListUptimeCheckConfigsRequest) (*ListUptimeCheckConfigsResponse, error)
- // Gets a single Uptime check configuration.
- GetUptimeCheckConfig(context.Context, *GetUptimeCheckConfigRequest) (*UptimeCheckConfig, error)
- // Creates a new Uptime check configuration.
- CreateUptimeCheckConfig(context.Context, *CreateUptimeCheckConfigRequest) (*UptimeCheckConfig, error)
- // Updates an Uptime check configuration. You can either replace the entire
- // configuration with a new one or replace only certain fields in the current
- // configuration by specifying the fields to be updated via `updateMask`.
- // Returns the updated configuration.
- UpdateUptimeCheckConfig(context.Context, *UpdateUptimeCheckConfigRequest) (*UptimeCheckConfig, error)
- // Deletes an Uptime check configuration. Note that this method will fail
- // if the Uptime check configuration is referenced by an alert policy or
- // other dependent configs that would be rendered invalid by the deletion.
- DeleteUptimeCheckConfig(context.Context, *DeleteUptimeCheckConfigRequest) (*emptypb.Empty, error)
- // Returns the list of IP addresses that checkers run from.
- ListUptimeCheckIps(context.Context, *ListUptimeCheckIpsRequest) (*ListUptimeCheckIpsResponse, error)
-}
-
-// UnimplementedUptimeCheckServiceServer can be embedded to have forward compatible implementations.
-type UnimplementedUptimeCheckServiceServer struct {
-}
-
-func (*UnimplementedUptimeCheckServiceServer) ListUptimeCheckConfigs(context.Context, *ListUptimeCheckConfigsRequest) (*ListUptimeCheckConfigsResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method ListUptimeCheckConfigs not implemented")
-}
-func (*UnimplementedUptimeCheckServiceServer) GetUptimeCheckConfig(context.Context, *GetUptimeCheckConfigRequest) (*UptimeCheckConfig, error) {
- return nil, status.Errorf(codes.Unimplemented, "method GetUptimeCheckConfig not implemented")
-}
-func (*UnimplementedUptimeCheckServiceServer) CreateUptimeCheckConfig(context.Context, *CreateUptimeCheckConfigRequest) (*UptimeCheckConfig, error) {
- return nil, status.Errorf(codes.Unimplemented, "method CreateUptimeCheckConfig not implemented")
-}
-func (*UnimplementedUptimeCheckServiceServer) UpdateUptimeCheckConfig(context.Context, *UpdateUptimeCheckConfigRequest) (*UptimeCheckConfig, error) {
- return nil, status.Errorf(codes.Unimplemented, "method UpdateUptimeCheckConfig not implemented")
-}
-func (*UnimplementedUptimeCheckServiceServer) DeleteUptimeCheckConfig(context.Context, *DeleteUptimeCheckConfigRequest) (*emptypb.Empty, error) {
- return nil, status.Errorf(codes.Unimplemented, "method DeleteUptimeCheckConfig not implemented")
-}
-func (*UnimplementedUptimeCheckServiceServer) ListUptimeCheckIps(context.Context, *ListUptimeCheckIpsRequest) (*ListUptimeCheckIpsResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method ListUptimeCheckIps not implemented")
-}
-
-func RegisterUptimeCheckServiceServer(s *grpc.Server, srv UptimeCheckServiceServer) {
- s.RegisterService(&_UptimeCheckService_serviceDesc, srv)
-}
-
-func _UptimeCheckService_ListUptimeCheckConfigs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ListUptimeCheckConfigsRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(UptimeCheckServiceServer).ListUptimeCheckConfigs(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.UptimeCheckService/ListUptimeCheckConfigs",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(UptimeCheckServiceServer).ListUptimeCheckConfigs(ctx, req.(*ListUptimeCheckConfigsRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _UptimeCheckService_GetUptimeCheckConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(GetUptimeCheckConfigRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(UptimeCheckServiceServer).GetUptimeCheckConfig(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.UptimeCheckService/GetUptimeCheckConfig",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(UptimeCheckServiceServer).GetUptimeCheckConfig(ctx, req.(*GetUptimeCheckConfigRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _UptimeCheckService_CreateUptimeCheckConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(CreateUptimeCheckConfigRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(UptimeCheckServiceServer).CreateUptimeCheckConfig(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.UptimeCheckService/CreateUptimeCheckConfig",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(UptimeCheckServiceServer).CreateUptimeCheckConfig(ctx, req.(*CreateUptimeCheckConfigRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _UptimeCheckService_UpdateUptimeCheckConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(UpdateUptimeCheckConfigRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(UptimeCheckServiceServer).UpdateUptimeCheckConfig(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.UptimeCheckService/UpdateUptimeCheckConfig",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(UptimeCheckServiceServer).UpdateUptimeCheckConfig(ctx, req.(*UpdateUptimeCheckConfigRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _UptimeCheckService_DeleteUptimeCheckConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(DeleteUptimeCheckConfigRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(UptimeCheckServiceServer).DeleteUptimeCheckConfig(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.UptimeCheckService/DeleteUptimeCheckConfig",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(UptimeCheckServiceServer).DeleteUptimeCheckConfig(ctx, req.(*DeleteUptimeCheckConfigRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-func _UptimeCheckService_ListUptimeCheckIps_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ListUptimeCheckIpsRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(UptimeCheckServiceServer).ListUptimeCheckIps(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/google.monitoring.v3.UptimeCheckService/ListUptimeCheckIps",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(UptimeCheckServiceServer).ListUptimeCheckIps(ctx, req.(*ListUptimeCheckIpsRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-var _UptimeCheckService_serviceDesc = grpc.ServiceDesc{
- ServiceName: "google.monitoring.v3.UptimeCheckService",
- HandlerType: (*UptimeCheckServiceServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "ListUptimeCheckConfigs",
- Handler: _UptimeCheckService_ListUptimeCheckConfigs_Handler,
- },
- {
- MethodName: "GetUptimeCheckConfig",
- Handler: _UptimeCheckService_GetUptimeCheckConfig_Handler,
- },
- {
- MethodName: "CreateUptimeCheckConfig",
- Handler: _UptimeCheckService_CreateUptimeCheckConfig_Handler,
- },
- {
- MethodName: "UpdateUptimeCheckConfig",
- Handler: _UptimeCheckService_UpdateUptimeCheckConfig_Handler,
- },
- {
- MethodName: "DeleteUptimeCheckConfig",
- Handler: _UptimeCheckService_DeleteUptimeCheckConfig_Handler,
- },
- {
- MethodName: "ListUptimeCheckIps",
- Handler: _UptimeCheckService_ListUptimeCheckIps_Handler,
- },
- },
- Streams: []grpc.StreamDesc{},
- Metadata: "google/monitoring/v3/uptime_service.proto",
-}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/uptime_service_grpc.pb.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/uptime_service_grpc.pb.go
new file mode 100644
index 0000000000000..4fd7c67a3f926
--- /dev/null
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/monitoringpb/uptime_service_grpc.pb.go
@@ -0,0 +1,331 @@
+// Copyright 2025 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
+// versions:
+// - protoc-gen-go-grpc v1.3.0
+// - protoc v4.25.7
+// source: google/monitoring/v3/uptime_service.proto
+
+package monitoringpb
+
+import (
+ context "context"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
+ emptypb "google.golang.org/protobuf/types/known/emptypb"
+)
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+// Requires gRPC-Go v1.32.0 or later.
+const _ = grpc.SupportPackageIsVersion7
+
+const (
+ UptimeCheckService_ListUptimeCheckConfigs_FullMethodName = "/google.monitoring.v3.UptimeCheckService/ListUptimeCheckConfigs"
+ UptimeCheckService_GetUptimeCheckConfig_FullMethodName = "/google.monitoring.v3.UptimeCheckService/GetUptimeCheckConfig"
+ UptimeCheckService_CreateUptimeCheckConfig_FullMethodName = "/google.monitoring.v3.UptimeCheckService/CreateUptimeCheckConfig"
+ UptimeCheckService_UpdateUptimeCheckConfig_FullMethodName = "/google.monitoring.v3.UptimeCheckService/UpdateUptimeCheckConfig"
+ UptimeCheckService_DeleteUptimeCheckConfig_FullMethodName = "/google.monitoring.v3.UptimeCheckService/DeleteUptimeCheckConfig"
+ UptimeCheckService_ListUptimeCheckIps_FullMethodName = "/google.monitoring.v3.UptimeCheckService/ListUptimeCheckIps"
+)
+
+// UptimeCheckServiceClient is the client API for UptimeCheckService service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
+type UptimeCheckServiceClient interface {
+ // Lists the existing valid Uptime check configurations for the project
+ // (leaving out any invalid configurations).
+ ListUptimeCheckConfigs(ctx context.Context, in *ListUptimeCheckConfigsRequest, opts ...grpc.CallOption) (*ListUptimeCheckConfigsResponse, error)
+ // Gets a single Uptime check configuration.
+ GetUptimeCheckConfig(ctx context.Context, in *GetUptimeCheckConfigRequest, opts ...grpc.CallOption) (*UptimeCheckConfig, error)
+ // Creates a new Uptime check configuration.
+ CreateUptimeCheckConfig(ctx context.Context, in *CreateUptimeCheckConfigRequest, opts ...grpc.CallOption) (*UptimeCheckConfig, error)
+ // Updates an Uptime check configuration. You can either replace the entire
+ // configuration with a new one or replace only certain fields in the current
+ // configuration by specifying the fields to be updated via `updateMask`.
+ // Returns the updated configuration.
+ UpdateUptimeCheckConfig(ctx context.Context, in *UpdateUptimeCheckConfigRequest, opts ...grpc.CallOption) (*UptimeCheckConfig, error)
+ // Deletes an Uptime check configuration. Note that this method will fail
+ // if the Uptime check configuration is referenced by an alert policy or
+ // other dependent configs that would be rendered invalid by the deletion.
+ DeleteUptimeCheckConfig(ctx context.Context, in *DeleteUptimeCheckConfigRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ // Returns the list of IP addresses that checkers run from.
+ ListUptimeCheckIps(ctx context.Context, in *ListUptimeCheckIpsRequest, opts ...grpc.CallOption) (*ListUptimeCheckIpsResponse, error)
+}
+
+type uptimeCheckServiceClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewUptimeCheckServiceClient(cc grpc.ClientConnInterface) UptimeCheckServiceClient {
+ return &uptimeCheckServiceClient{cc}
+}
+
+func (c *uptimeCheckServiceClient) ListUptimeCheckConfigs(ctx context.Context, in *ListUptimeCheckConfigsRequest, opts ...grpc.CallOption) (*ListUptimeCheckConfigsResponse, error) {
+ out := new(ListUptimeCheckConfigsResponse)
+ err := c.cc.Invoke(ctx, UptimeCheckService_ListUptimeCheckConfigs_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *uptimeCheckServiceClient) GetUptimeCheckConfig(ctx context.Context, in *GetUptimeCheckConfigRequest, opts ...grpc.CallOption) (*UptimeCheckConfig, error) {
+ out := new(UptimeCheckConfig)
+ err := c.cc.Invoke(ctx, UptimeCheckService_GetUptimeCheckConfig_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *uptimeCheckServiceClient) CreateUptimeCheckConfig(ctx context.Context, in *CreateUptimeCheckConfigRequest, opts ...grpc.CallOption) (*UptimeCheckConfig, error) {
+ out := new(UptimeCheckConfig)
+ err := c.cc.Invoke(ctx, UptimeCheckService_CreateUptimeCheckConfig_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *uptimeCheckServiceClient) UpdateUptimeCheckConfig(ctx context.Context, in *UpdateUptimeCheckConfigRequest, opts ...grpc.CallOption) (*UptimeCheckConfig, error) {
+ out := new(UptimeCheckConfig)
+ err := c.cc.Invoke(ctx, UptimeCheckService_UpdateUptimeCheckConfig_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *uptimeCheckServiceClient) DeleteUptimeCheckConfig(ctx context.Context, in *DeleteUptimeCheckConfigRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, UptimeCheckService_DeleteUptimeCheckConfig_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *uptimeCheckServiceClient) ListUptimeCheckIps(ctx context.Context, in *ListUptimeCheckIpsRequest, opts ...grpc.CallOption) (*ListUptimeCheckIpsResponse, error) {
+ out := new(ListUptimeCheckIpsResponse)
+ err := c.cc.Invoke(ctx, UptimeCheckService_ListUptimeCheckIps_FullMethodName, in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// UptimeCheckServiceServer is the server API for UptimeCheckService service.
+// All implementations should embed UnimplementedUptimeCheckServiceServer
+// for forward compatibility
+type UptimeCheckServiceServer interface {
+ // Lists the existing valid Uptime check configurations for the project
+ // (leaving out any invalid configurations).
+ ListUptimeCheckConfigs(context.Context, *ListUptimeCheckConfigsRequest) (*ListUptimeCheckConfigsResponse, error)
+ // Gets a single Uptime check configuration.
+ GetUptimeCheckConfig(context.Context, *GetUptimeCheckConfigRequest) (*UptimeCheckConfig, error)
+ // Creates a new Uptime check configuration.
+ CreateUptimeCheckConfig(context.Context, *CreateUptimeCheckConfigRequest) (*UptimeCheckConfig, error)
+ // Updates an Uptime check configuration. You can either replace the entire
+ // configuration with a new one or replace only certain fields in the current
+ // configuration by specifying the fields to be updated via `updateMask`.
+ // Returns the updated configuration.
+ UpdateUptimeCheckConfig(context.Context, *UpdateUptimeCheckConfigRequest) (*UptimeCheckConfig, error)
+ // Deletes an Uptime check configuration. Note that this method will fail
+ // if the Uptime check configuration is referenced by an alert policy or
+ // other dependent configs that would be rendered invalid by the deletion.
+ DeleteUptimeCheckConfig(context.Context, *DeleteUptimeCheckConfigRequest) (*emptypb.Empty, error)
+ // Returns the list of IP addresses that checkers run from.
+ ListUptimeCheckIps(context.Context, *ListUptimeCheckIpsRequest) (*ListUptimeCheckIpsResponse, error)
+}
+
+// UnimplementedUptimeCheckServiceServer should be embedded to have forward compatible implementations.
+type UnimplementedUptimeCheckServiceServer struct {
+}
+
+func (UnimplementedUptimeCheckServiceServer) ListUptimeCheckConfigs(context.Context, *ListUptimeCheckConfigsRequest) (*ListUptimeCheckConfigsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListUptimeCheckConfigs not implemented")
+}
+func (UnimplementedUptimeCheckServiceServer) GetUptimeCheckConfig(context.Context, *GetUptimeCheckConfigRequest) (*UptimeCheckConfig, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetUptimeCheckConfig not implemented")
+}
+func (UnimplementedUptimeCheckServiceServer) CreateUptimeCheckConfig(context.Context, *CreateUptimeCheckConfigRequest) (*UptimeCheckConfig, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CreateUptimeCheckConfig not implemented")
+}
+func (UnimplementedUptimeCheckServiceServer) UpdateUptimeCheckConfig(context.Context, *UpdateUptimeCheckConfigRequest) (*UptimeCheckConfig, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UpdateUptimeCheckConfig not implemented")
+}
+func (UnimplementedUptimeCheckServiceServer) DeleteUptimeCheckConfig(context.Context, *DeleteUptimeCheckConfigRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method DeleteUptimeCheckConfig not implemented")
+}
+func (UnimplementedUptimeCheckServiceServer) ListUptimeCheckIps(context.Context, *ListUptimeCheckIpsRequest) (*ListUptimeCheckIpsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListUptimeCheckIps not implemented")
+}
+
+// UnsafeUptimeCheckServiceServer may be embedded to opt out of forward compatibility for this service.
+// Use of this interface is not recommended, as added methods to UptimeCheckServiceServer will
+// result in compilation errors.
+type UnsafeUptimeCheckServiceServer interface {
+ mustEmbedUnimplementedUptimeCheckServiceServer()
+}
+
+func RegisterUptimeCheckServiceServer(s grpc.ServiceRegistrar, srv UptimeCheckServiceServer) {
+ s.RegisterService(&UptimeCheckService_ServiceDesc, srv)
+}
+
+func _UptimeCheckService_ListUptimeCheckConfigs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListUptimeCheckConfigsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(UptimeCheckServiceServer).ListUptimeCheckConfigs(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: UptimeCheckService_ListUptimeCheckConfigs_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(UptimeCheckServiceServer).ListUptimeCheckConfigs(ctx, req.(*ListUptimeCheckConfigsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _UptimeCheckService_GetUptimeCheckConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetUptimeCheckConfigRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(UptimeCheckServiceServer).GetUptimeCheckConfig(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: UptimeCheckService_GetUptimeCheckConfig_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(UptimeCheckServiceServer).GetUptimeCheckConfig(ctx, req.(*GetUptimeCheckConfigRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _UptimeCheckService_CreateUptimeCheckConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreateUptimeCheckConfigRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(UptimeCheckServiceServer).CreateUptimeCheckConfig(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: UptimeCheckService_CreateUptimeCheckConfig_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(UptimeCheckServiceServer).CreateUptimeCheckConfig(ctx, req.(*CreateUptimeCheckConfigRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _UptimeCheckService_UpdateUptimeCheckConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(UpdateUptimeCheckConfigRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(UptimeCheckServiceServer).UpdateUptimeCheckConfig(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: UptimeCheckService_UpdateUptimeCheckConfig_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(UptimeCheckServiceServer).UpdateUptimeCheckConfig(ctx, req.(*UpdateUptimeCheckConfigRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _UptimeCheckService_DeleteUptimeCheckConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeleteUptimeCheckConfigRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(UptimeCheckServiceServer).DeleteUptimeCheckConfig(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: UptimeCheckService_DeleteUptimeCheckConfig_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(UptimeCheckServiceServer).DeleteUptimeCheckConfig(ctx, req.(*DeleteUptimeCheckConfigRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _UptimeCheckService_ListUptimeCheckIps_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListUptimeCheckIpsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(UptimeCheckServiceServer).ListUptimeCheckIps(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: UptimeCheckService_ListUptimeCheckIps_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(UptimeCheckServiceServer).ListUptimeCheckIps(ctx, req.(*ListUptimeCheckIpsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+// UptimeCheckService_ServiceDesc is the grpc.ServiceDesc for UptimeCheckService service.
+// It's only intended for direct use with grpc.RegisterService,
+// and not to be introspected or modified (even as a copy)
+var UptimeCheckService_ServiceDesc = grpc.ServiceDesc{
+ ServiceName: "google.monitoring.v3.UptimeCheckService",
+ HandlerType: (*UptimeCheckServiceServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "ListUptimeCheckConfigs",
+ Handler: _UptimeCheckService_ListUptimeCheckConfigs_Handler,
+ },
+ {
+ MethodName: "GetUptimeCheckConfig",
+ Handler: _UptimeCheckService_GetUptimeCheckConfig_Handler,
+ },
+ {
+ MethodName: "CreateUptimeCheckConfig",
+ Handler: _UptimeCheckService_CreateUptimeCheckConfig_Handler,
+ },
+ {
+ MethodName: "UpdateUptimeCheckConfig",
+ Handler: _UptimeCheckService_UpdateUptimeCheckConfig_Handler,
+ },
+ {
+ MethodName: "DeleteUptimeCheckConfig",
+ Handler: _UptimeCheckService_DeleteUptimeCheckConfig_Handler,
+ },
+ {
+ MethodName: "ListUptimeCheckIps",
+ Handler: _UptimeCheckService_ListUptimeCheckIps_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "google/monitoring/v3/uptime_service.proto",
+}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/notification_channel_client.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/notification_channel_client.go
index 3b36b219e537d..6eac8ffe5ef05 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/notification_channel_client.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/notification_channel_client.go
@@ -381,7 +381,7 @@ func (c *notificationChannelGRPCClient) Connection() *grpc.ClientConn {
// use by Google-written clients.
func (c *notificationChannelGRPCClient) setGoogleClientInfo(keyval ...string) {
kv := append([]string{"gl-go", gax.GoVersion}, keyval...)
- kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version)
+ kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version, "pb", protoVersion)
c.xGoogHeaders = []string{
"x-goog-api-client", gax.XGoogHeader(kv...),
}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/query_client.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/query_client.go
index f792f2bd7e6cb..97fb19974d86d 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/query_client.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/query_client.go
@@ -183,7 +183,7 @@ func (c *queryGRPCClient) Connection() *grpc.ClientConn {
// use by Google-written clients.
func (c *queryGRPCClient) setGoogleClientInfo(keyval ...string) {
kv := append([]string{"gl-go", gax.GoVersion}, keyval...)
- kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version)
+ kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version, "pb", protoVersion)
c.xGoogHeaders = []string{
"x-goog-api-client", gax.XGoogHeader(kv...),
}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/service_monitoring_client.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/service_monitoring_client.go
index 7dc66e3730736..580f76a2a29e7 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/service_monitoring_client.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/service_monitoring_client.go
@@ -328,7 +328,7 @@ func (c *serviceMonitoringGRPCClient) Connection() *grpc.ClientConn {
// use by Google-written clients.
func (c *serviceMonitoringGRPCClient) setGoogleClientInfo(keyval ...string) {
kv := append([]string{"gl-go", gax.GoVersion}, keyval...)
- kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version)
+ kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version, "pb", protoVersion)
c.xGoogHeaders = []string{
"x-goog-api-client", gax.XGoogHeader(kv...),
}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/snooze_client.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/snooze_client.go
index 5b76a486bb137..52f36302facc3 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/snooze_client.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/snooze_client.go
@@ -234,7 +234,7 @@ func (c *snoozeGRPCClient) Connection() *grpc.ClientConn {
// use by Google-written clients.
func (c *snoozeGRPCClient) setGoogleClientInfo(keyval ...string) {
kv := append([]string{"gl-go", gax.GoVersion}, keyval...)
- kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version)
+ kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version, "pb", protoVersion)
c.xGoogHeaders = []string{
"x-goog-api-client", gax.XGoogHeader(kv...),
}
diff --git a/vendor/cloud.google.com/go/monitoring/apiv3/v2/uptime_check_client.go b/vendor/cloud.google.com/go/monitoring/apiv3/v2/uptime_check_client.go
index df0ec29575fdf..7e2aed8c800c0 100644
--- a/vendor/cloud.google.com/go/monitoring/apiv3/v2/uptime_check_client.go
+++ b/vendor/cloud.google.com/go/monitoring/apiv3/v2/uptime_check_client.go
@@ -284,7 +284,7 @@ func (c *uptimeCheckGRPCClient) Connection() *grpc.ClientConn {
// use by Google-written clients.
func (c *uptimeCheckGRPCClient) setGoogleClientInfo(keyval ...string) {
kv := append([]string{"gl-go", gax.GoVersion}, keyval...)
- kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version)
+ kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "grpc", grpc.Version, "pb", protoVersion)
c.xGoogHeaders = []string{
"x-goog-api-client", gax.XGoogHeader(kv...),
}
diff --git a/vendor/cloud.google.com/go/monitoring/internal/version.go b/vendor/cloud.google.com/go/monitoring/internal/version.go
index e199c1168a152..e68e82194351a 100644
--- a/vendor/cloud.google.com/go/monitoring/internal/version.go
+++ b/vendor/cloud.google.com/go/monitoring/internal/version.go
@@ -15,4 +15,4 @@
package internal
// Version is the current tagged release of the library.
-const Version = "1.24.2"
+const Version = "1.24.3"
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/CHANGELOG.md b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/CHANGELOG.md
index ab63f9c031b7a..217d279fd4fb7 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/CHANGELOG.md
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/CHANGELOG.md
@@ -1,5 +1,28 @@
# Release History
+## 1.13.0 (2025-10-07)
+
+### Features Added
+
+- Added `AzurePowerShellCredential`, which authenticates as the identity logged in to Azure PowerShell
+ (thanks [ArmaanMcleod](https://github.com/ArmaanMcleod))
+- When `AZURE_TOKEN_CREDENTIALS` is set to `ManagedIdentityCredential`, `DefaultAzureCredential` behaves the same as
+ does `ManagedIdentityCredential` when used directly. It doesn't apply special retry configuration or attempt to
+ determine whether IMDS is available. ([#25265](https://github.com/Azure/azure-sdk-for-go/issues/25265))
+
+### Breaking Changes
+
+* Removed the `WorkloadIdentityCredential` support for identity binding mode added in v1.13.0-beta.1.
+ It will return in v1.14.0-beta.1
+
+## 1.13.0-beta.1 (2025-09-17)
+
+### Features Added
+
+- Added `AzurePowerShellCredential`, which authenticates as the identity logged in to Azure PowerShell
+ (thanks [ArmaanMcleod](https://github.com/ArmaanMcleod))
+- `WorkloadIdentityCredential` supports identity binding mode ([#25056](https://github.com/Azure/azure-sdk-for-go/issues/25056))
+
## 1.12.0 (2025-09-16)
### Features Added
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/README.md b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/README.md
index 069bc688d52f5..127c25b72cf4d 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/README.md
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/README.md
@@ -1,6 +1,6 @@
# Azure Identity Client Module for Go
-The Azure Identity module provides Microsoft Entra ID ([formerly Azure Active Directory](https://learn.microsoft.com/entra/fundamentals/new-name)) token authentication support across the Azure SDK. It includes a set of `TokenCredential` implementations, which can be used with Azure SDK clients supporting token authentication.
+The Azure Identity module provides [Microsoft Entra ID](https://learn.microsoft.com/entra/fundamentals/whatis) token-based authentication support across the Azure SDK. It includes a set of `TokenCredential` implementations, which can be used with Azure SDK clients supporting token authentication.
[](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity)
| [Microsoft Entra ID documentation](https://learn.microsoft.com/entra/identity/)
@@ -153,6 +153,7 @@ client := armresources.NewResourceGroupsClient("subscription ID", chain, nil)
|-|-
|[AzureCLICredential](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity#AzureCLICredential)|Authenticate as the user signed in to the Azure CLI
|[AzureDeveloperCLICredential](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity#AzureDeveloperCLICredential)|Authenticates as the user signed in to the Azure Developer CLI
+|[AzurePowerShellCredential](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity#AzurePowerShellCredential)|Authenticates as the user signed in to Azure PowerShell
## Environment Variables
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/TOKEN_CACHING.MD b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/TOKEN_CACHING.MD
index da2094e36b1ba..8bdaf816515b9 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/TOKEN_CACHING.MD
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/TOKEN_CACHING.MD
@@ -40,6 +40,7 @@ The following table indicates the state of in-memory and persistent caching in e
| ------------------------------ | ------------------------------------------------------------------- | ------------------------ |
| `AzureCLICredential` | Not Supported | Not Supported |
| `AzureDeveloperCLICredential` | Not Supported | Not Supported |
+| `AzurePowerShellCredential` | Not Supported | Not Supported |
| `AzurePipelinesCredential` | Supported | Supported |
| `ClientAssertionCredential` | Supported | Supported |
| `ClientCertificateCredential` | Supported | Supported |
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/TROUBLESHOOTING.md b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/TROUBLESHOOTING.md
index 838601d69c80a..517006a424fd9 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/TROUBLESHOOTING.md
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/TROUBLESHOOTING.md
@@ -12,6 +12,7 @@ This troubleshooting guide covers failure investigation techniques, common error
- [Troubleshoot AzureCLICredential authentication issues](#troubleshoot-azureclicredential-authentication-issues)
- [Troubleshoot AzureDeveloperCLICredential authentication issues](#troubleshoot-azuredeveloperclicredential-authentication-issues)
- [Troubleshoot AzurePipelinesCredential authentication issues](#troubleshoot-azurepipelinescredential-authentication-issues)
+- [Troubleshoot AzurePowerShellCredential authentication issues](#troubleshoot-azurepowershellcredential-authentication-issues)
- [Troubleshoot ClientCertificateCredential authentication issues](#troubleshoot-clientcertificatecredential-authentication-issues)
- [Troubleshoot ClientSecretCredential authentication issues](#troubleshoot-clientsecretcredential-authentication-issues)
- [Troubleshoot DefaultAzureCredential authentication issues](#troubleshoot-defaultazurecredential-authentication-issues)
@@ -205,6 +206,34 @@ azd auth token --output json --scope https://management.core.windows.net/.defaul
```
>Note that output of this command will contain a valid access token, and SHOULD NOT BE SHARED to avoid compromising account security.
+
+## Troubleshoot `AzurePowerShellCredential` authentication issues
+
+| Error Message |Description| Mitigation |
+|---|---|---|
+|executable not found on path|No local installation of PowerShell was found.|Ensure that PowerShell is properly installed on the machine. Instructions for installing PowerShell can be found [here](https://learn.microsoft.com/powershell/scripting/install/installing-powershell).|
+|Az.Accounts module not found|The Az.Account module needed for authentication in Azure PowerShell isn't installed.|Install the latest Az.Account module. Installation instructions can be found [here](https://learn.microsoft.com/powershell/azure/install-az-ps).|
+|Please run "Connect-AzAccount" to set up account.|No account is currently logged into Azure PowerShell.|
- Log in to Azure PowerShell using the `Connect-AzAccount` command. More instructions for authenticating Azure PowerShell can be found at [Sign in with Azure PowerShell](https://learn.microsoft.com/powershell/azure/authenticate-azureps).
- Validate that Azure PowerShell can obtain tokens. For instructions, see [Verify Azure PowerShell can obtain tokens](#verify-azure-powershell-can-obtain-tokens).
|
+
+#### __Verify Azure PowerShell can obtain tokens__
+
+You can manually verify that Azure PowerShell is authenticated and can obtain tokens. First, use the `Get-AzContext` command to verify the account that is currently logged in to Azure PowerShell.
+
+```
+PS C:\> Get-AzContext
+
+Name Account SubscriptionName Environment TenantId
+---- ------- ---------------- ----------- --------
+Subscription1 (xxxxxxxx-xxxx-xxxx-xxx... test@outlook.com Subscription1 AzureCloud xxxxxxxx-x...
+```
+
+Once you've verified Azure PowerShell is using correct account, validate that it's able to obtain tokens for this account:
+
+```bash
+Get-AzAccessToken -ResourceUrl "https://management.core.windows.net"
+```
+>Note that output of this command will contain a valid access token, and SHOULD NOT BE SHARED to avoid compromising account security.
+
## Troubleshoot `WorkloadIdentityCredential` authentication issues
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/azure_powershell_credential.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/azure_powershell_credential.go
new file mode 100644
index 0000000000000..0829655545f0e
--- /dev/null
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/azure_powershell_credential.go
@@ -0,0 +1,234 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+
+package azidentity
+
+import (
+ "context"
+ "encoding/base64"
+ "encoding/binary"
+ "encoding/json"
+ "errors"
+ "fmt"
+ "os/exec"
+ "runtime"
+ "strings"
+ "sync"
+ "time"
+ "unicode/utf16"
+
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore"
+ "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
+ "github.com/Azure/azure-sdk-for-go/sdk/internal/log"
+)
+
+const (
+ credNameAzurePowerShell = "AzurePowerShellCredential"
+ noAzAccountModule = "Az.Accounts module not found"
+)
+
+// AzurePowerShellCredentialOptions contains optional parameters for AzurePowerShellCredential.
+type AzurePowerShellCredentialOptions struct {
+ // AdditionallyAllowedTenants specifies tenants to which the credential may authenticate, in addition to
+ // TenantID. When TenantID is empty, this option has no effect and the credential will authenticate to
+ // any requested tenant. Add the wildcard value "*" to allow the credential to authenticate to any tenant.
+ AdditionallyAllowedTenants []string
+
+ // TenantID identifies the tenant the credential should authenticate in.
+ // Defaults to Azure PowerShell's default tenant, which is typically the home tenant of the logged in user.
+ TenantID string
+
+ // inDefaultChain is true when the credential is part of DefaultAzureCredential
+ inDefaultChain bool
+
+ // exec is used by tests to fake invoking Azure PowerShell
+ exec executor
+}
+
+// AzurePowerShellCredential authenticates as the identity logged in to Azure PowerShell.
+type AzurePowerShellCredential struct {
+ mu *sync.Mutex
+ opts AzurePowerShellCredentialOptions
+}
+
+// NewAzurePowerShellCredential constructs an AzurePowerShellCredential. Pass nil to accept default options.
+func NewAzurePowerShellCredential(options *AzurePowerShellCredentialOptions) (*AzurePowerShellCredential, error) {
+ cp := AzurePowerShellCredentialOptions{}
+
+ if options != nil {
+ cp = *options
+ }
+
+ if cp.TenantID != "" && !validTenantID(cp.TenantID) {
+ return nil, errInvalidTenantID
+ }
+
+ if cp.exec == nil {
+ cp.exec = shellExec
+ }
+
+ cp.AdditionallyAllowedTenants = resolveAdditionalTenants(cp.AdditionallyAllowedTenants)
+
+ return &AzurePowerShellCredential{mu: &sync.Mutex{}, opts: cp}, nil
+}
+
+// GetToken requests a token from Azure PowerShell. This credential doesn't cache tokens, so every call invokes Azure PowerShell.
+// This method is called automatically by Azure SDK clients.
+func (c *AzurePowerShellCredential) GetToken(ctx context.Context, opts policy.TokenRequestOptions) (azcore.AccessToken, error) {
+ at := azcore.AccessToken{}
+
+ if len(opts.Scopes) != 1 {
+ return at, errors.New(credNameAzurePowerShell + ": GetToken() requires exactly one scope")
+ }
+
+ if !validScope(opts.Scopes[0]) {
+ return at, fmt.Errorf("%s.GetToken(): invalid scope %q", credNameAzurePowerShell, opts.Scopes[0])
+ }
+
+ tenant, err := resolveTenant(c.opts.TenantID, opts.TenantID, credNameAzurePowerShell, c.opts.AdditionallyAllowedTenants)
+ if err != nil {
+ return at, err
+ }
+
+ // Always pass a Microsoft Entra ID v1 resource URI (not a v2 scope) because Get-AzAccessToken only supports v1 resource URIs.
+ resource := strings.TrimSuffix(opts.Scopes[0], defaultSuffix)
+
+ tenantArg := ""
+ if tenant != "" {
+ tenantArg = fmt.Sprintf(" -TenantId '%s'", tenant)
+ }
+
+ if opts.Claims != "" {
+ encoded := base64.StdEncoding.EncodeToString([]byte(opts.Claims))
+ return at, fmt.Errorf(
+ "%s.GetToken(): Azure PowerShell requires multifactor authentication or additional claims. Run this command then retry the operation: Connect-AzAccount%s -ClaimsChallenge '%s'",
+ credNameAzurePowerShell,
+ tenantArg,
+ encoded,
+ )
+ }
+
+ // Inline script to handle Get-AzAccessToken differences between Az.Accounts versions with SecureString handling and minimum version requirement
+ script := fmt.Sprintf(`
+$ErrorActionPreference = 'Stop'
+[version]$minimumVersion = '2.2.0'
+
+$mod = Import-Module Az.Accounts -MinimumVersion $minimumVersion -PassThru -ErrorAction SilentlyContinue
+
+if (-not $mod) {
+ Write-Error '%s'
+}
+
+$params = @{
+ ResourceUrl = '%s'
+ WarningAction = 'Ignore'
+}
+
+# Only force AsSecureString for Az.Accounts versions > 2.17.0 and < 5.0.0 which return plain text token by default.
+# Newer Az.Accounts versions return SecureString token by default and no longer use AsSecureString parameter.
+if ($mod.Version -ge [version]'2.17.0' -and $mod.Version -lt [version]'5.0.0') {
+ $params['AsSecureString'] = $true
+}
+
+$tenantId = '%s'
+if ($tenantId.Length -gt 0) {
+ $params['TenantId'] = '%s'
+}
+
+$token = Get-AzAccessToken @params
+
+$customToken = New-Object -TypeName psobject
+
+# The following .NET interop pattern is supported in all PowerShell versions and safely converts SecureString to plain text.
+if ($token.Token -is [System.Security.SecureString]) {
+ $ssPtr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($token.Token)
+ try {
+ $plainToken = [System.Runtime.InteropServices.Marshal]::PtrToStringBSTR($ssPtr)
+ } finally {
+ [System.Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ssPtr)
+ }
+ $customToken | Add-Member -MemberType NoteProperty -Name Token -Value $plainToken
+} else {
+ $customToken | Add-Member -MemberType NoteProperty -Name Token -Value $token.Token
+}
+$customToken | Add-Member -MemberType NoteProperty -Name ExpiresOn -Value $token.ExpiresOn.ToUnixTimeSeconds()
+
+$jsonToken = $customToken | ConvertTo-Json
+return $jsonToken
+`, noAzAccountModule, resource, tenant, tenant)
+
+ // Windows: prefer pwsh.exe (PowerShell Core), fallback to powershell.exe (Windows PowerShell)
+ // Unix: only support pwsh (PowerShell Core)
+ exe := "pwsh"
+ if runtime.GOOS == "windows" {
+ if _, err := exec.LookPath("pwsh.exe"); err == nil {
+ exe = "pwsh.exe"
+ } else {
+ exe = "powershell.exe"
+ }
+ }
+
+ command := exe + " -NoProfile -NonInteractive -OutputFormat Text -EncodedCommand " + base64EncodeUTF16LE(script)
+
+ c.mu.Lock()
+ defer c.mu.Unlock()
+
+ b, err := c.opts.exec(ctx, credNameAzurePowerShell, command)
+ if err == nil {
+ at, err = c.createAccessToken(b)
+ }
+
+ if err != nil {
+ err = unavailableIfInDAC(err, c.opts.inDefaultChain)
+ return at, err
+ }
+
+ msg := fmt.Sprintf("%s.GetToken() acquired a token for scope %q", credNameAzurePowerShell, strings.Join(opts.Scopes, ", "))
+ log.Write(EventAuthentication, msg)
+
+ return at, nil
+}
+
+func (c *AzurePowerShellCredential) createAccessToken(tk []byte) (azcore.AccessToken, error) {
+ t := struct {
+ Token string `json:"Token"`
+ ExpiresOn int64 `json:"ExpiresOn"`
+ }{}
+
+ err := json.Unmarshal(tk, &t)
+ if err != nil {
+ return azcore.AccessToken{}, err
+ }
+
+ converted := azcore.AccessToken{
+ Token: t.Token,
+ ExpiresOn: time.Unix(t.ExpiresOn, 0).UTC(),
+ }
+
+ return converted, nil
+}
+
+// Encodes a string to Base64 using UTF-16LE encoding
+func base64EncodeUTF16LE(text string) string {
+ u16 := utf16.Encode([]rune(text))
+ buf := make([]byte, len(u16)*2)
+ for i, v := range u16 {
+ binary.LittleEndian.PutUint16(buf[i*2:], v)
+ }
+ return base64.StdEncoding.EncodeToString(buf)
+}
+
+// Decodes a Base64 UTF-16LE string back to string
+func base64DecodeUTF16LE(encoded string) (string, error) {
+ data, err := base64.StdEncoding.DecodeString(encoded)
+ if err != nil {
+ return "", err
+ }
+ u16 := make([]uint16, len(data)/2)
+ for i := range u16 {
+ u16[i] = binary.LittleEndian.Uint16(data[i*2:])
+ }
+ return string(utf16.Decode(u16)), nil
+}
+
+var _ azcore.TokenCredential = (*AzurePowerShellCredential)(nil)
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/default_azure_credential.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/default_azure_credential.go
index c041a52dbbe1a..aaaabc5c2f315 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/default_azure_credential.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/default_azure_credential.go
@@ -26,6 +26,7 @@ const (
managedIdentity
az
azd
+ azurePowerShell
)
// DefaultAzureCredentialOptions contains optional parameters for DefaultAzureCredential.
@@ -71,6 +72,7 @@ type DefaultAzureCredentialOptions struct {
// - [ManagedIdentityCredential]
// - [AzureCLICredential]
// - [AzureDeveloperCLICredential]
+// - [AzurePowerShellCredential]
//
// Consult the documentation for these credential types for more information on how they authenticate.
// Once a credential has successfully authenticated, DefaultAzureCredential will use that credential for
@@ -83,7 +85,7 @@ type DefaultAzureCredentialOptions struct {
// Valid values for AZURE_TOKEN_CREDENTIALS are the name of any single type in the above chain, for example
// "EnvironmentCredential" or "AzureCLICredential", and these special values:
//
-// - "dev": try [AzureCLICredential] and [AzureDeveloperCLICredential], in that order
+// - "dev": try [AzureCLICredential], [AzureDeveloperCLICredential], and [AzurePowerShellCredential], in that order
// - "prod": try [EnvironmentCredential], [WorkloadIdentityCredential], and [ManagedIdentityCredential], in that order
//
// [DefaultAzureCredentialOptions].RequireAzureTokenCredentials controls whether AZURE_TOKEN_CREDENTIALS must be set.
@@ -104,13 +106,13 @@ func NewDefaultAzureCredential(options *DefaultAzureCredentialOptions) (*Default
var (
creds []azcore.TokenCredential
errorMessages []string
- selected = env | workloadIdentity | managedIdentity | az | azd
+ selected = env | workloadIdentity | managedIdentity | az | azd | azurePowerShell
)
if atc, ok := os.LookupEnv(azureTokenCredentials); ok {
switch {
case atc == "dev":
- selected = az | azd
+ selected = az | azd | azurePowerShell
case atc == "prod":
selected = env | workloadIdentity | managedIdentity
case strings.EqualFold(atc, credNameEnvironment):
@@ -123,6 +125,8 @@ func NewDefaultAzureCredential(options *DefaultAzureCredentialOptions) (*Default
selected = az
case strings.EqualFold(atc, credNameAzureDeveloperCLI):
selected = azd
+ case strings.EqualFold(atc, credNameAzurePowerShell):
+ selected = azurePowerShell
default:
return nil, fmt.Errorf(`invalid %s value %q. Valid values are "dev", "prod", or the name of any credential type in the default chain. See https://aka.ms/azsdk/go/identity/docs#DefaultAzureCredential for more information`, azureTokenCredentials, atc)
}
@@ -164,7 +168,11 @@ func NewDefaultAzureCredential(options *DefaultAzureCredentialOptions) (*Default
}
}
if selected&managedIdentity != 0 {
- o := &ManagedIdentityCredentialOptions{ClientOptions: options.ClientOptions, dac: true}
+ o := &ManagedIdentityCredentialOptions{
+ ClientOptions: options.ClientOptions,
+ // enable special DefaultAzureCredential behavior (IMDS probing) only when the chain contains another credential
+ dac: selected^managedIdentity != 0,
+ }
if ID, ok := os.LookupEnv(azureClientID); ok {
o.ID = ClientID(ID)
}
@@ -202,6 +210,19 @@ func NewDefaultAzureCredential(options *DefaultAzureCredentialOptions) (*Default
creds = append(creds, &defaultCredentialErrorReporter{credType: credNameAzureDeveloperCLI, err: err})
}
}
+ if selected&azurePowerShell != 0 {
+ azurePowerShellCred, err := NewAzurePowerShellCredential(&AzurePowerShellCredentialOptions{
+ AdditionallyAllowedTenants: additionalTenants,
+ TenantID: options.TenantID,
+ inDefaultChain: true,
+ })
+ if err == nil {
+ creds = append(creds, azurePowerShellCred)
+ } else {
+ errorMessages = append(errorMessages, credNameAzurePowerShell+": "+err.Error())
+ creds = append(creds, &defaultCredentialErrorReporter{credType: credNameAzurePowerShell, err: err})
+ }
+ }
if len(errorMessages) > 0 {
log.Writef(EventAuthentication, "NewDefaultAzureCredential failed to initialize some credentials:\n\t%s", strings.Join(errorMessages, "\n\t"))
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/developer_credential_util.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/developer_credential_util.go
index 14f8a0312659b..e2ca8bced2cf0 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/developer_credential_util.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/developer_credential_util.go
@@ -57,7 +57,15 @@ var shellExec = func(ctx context.Context, credName, command string) ([]byte, err
msg := stderr.String()
var exErr *exec.ExitError
if errors.As(err, &exErr) && exErr.ExitCode() == 127 || strings.Contains(msg, "' is not recognized") {
- return nil, newCredentialUnavailableError(credName, "CLI executable not found on path")
+ return nil, newCredentialUnavailableError(credName, "executable not found on path")
+ }
+ if credName == credNameAzurePowerShell {
+ if strings.Contains(msg, "Connect-AzAccount") {
+ msg = `Please run "Connect-AzAccount" to set up an account`
+ }
+ if strings.Contains(msg, noAzAccountModule) {
+ msg = noAzAccountModule
+ }
}
if msg == "" {
msg = err.Error()
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/errors.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/errors.go
index a6d7c6cbc78dd..33cb63be09a86 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/errors.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/errors.go
@@ -99,6 +99,8 @@ func (e *AuthenticationFailedError) Error() string {
anchor = "apc"
case credNameCert:
anchor = "client-cert"
+ case credNameAzurePowerShell:
+ anchor = "azure-pwsh"
case credNameSecret:
anchor = "client-secret"
case credNameManagedIdentity:
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/version.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/version.go
index 4c88605366da4..bb8bddb16ea1a 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/version.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azidentity/version.go
@@ -14,5 +14,5 @@ const (
module = "github.com/Azure/azure-sdk-for-go/sdk/" + component
// Version is the semantic version (see http://semver.org) of this module.
- version = "v1.12.0"
+ version = "v1.13.0"
)
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/CHANGELOG.md b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/CHANGELOG.md
index f6c99441ba99c..0056d11241a89 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/CHANGELOG.md
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/CHANGELOG.md
@@ -1,5 +1,73 @@
# Release History
+## 1.6.1 (2025-04-16)
+
+### Bugs Fixed
+* Fixed return value of DownloadBuffer when the HTTPRange count given is greater than the data length. Fixes [#23884](https://github.com/Azure/azure-sdk-for-go/issues/23884)
+
+### Other Changes
+* Updated `azidentity` version to `1.9.0`
+* Updated `azcore` version to `1.18.0`
+
+## 1.6.1-beta.1 (2025-02-12)
+
+### Features Added
+* Upgraded service version to `2025-05-05`.
+
+## 1.6.0 (2025-01-23)
+
+### Features Added
+* Upgraded service version to `2025-01-05`.
+
+## 1.6.0-beta.1 (2025-01-13)
+
+### Features Added
+* Added permissions & resourcetype parameters in listblob response.
+* Added BlobProperties field in BlobPrefix definition in listblob response.
+
+### Bugs Fixed
+* Fix FilterBlob API if Query contains a space character. Fixes [#23546](https://github.com/Azure/azure-sdk-for-go/issues/23546)
+
+## 1.5.0 (2024-11-13)
+
+### Features Added
+* Fix compareHeaders custom sorting algorithm for String To Sign.
+
+## 1.5.0-beta.1 (2024-10-22)
+
+### Other Changes
+* Updated `azcore` version to `1.16.0`
+* Updated `azidentity` version to `1.8.0`
+
+## 1.4.1 (2024-09-18)
+
+### Features Added
+* Added crc64 response header to Put Blob.
+* Upgraded service version to `2024-08-04`.
+
+## 1.4.1-beta.1 (2024-08-27)
+
+### Features Added
+* Upgraded service version to `2024-08-04`.
+
+### Other Changes
+* Updated `azcore` version to `1.14.0`
+
+## 1.4.0 (2024-07-18)
+
+### Other Changes
+* GetProperties() was called twice in DownloadFile method. Enhanced to call it only once, reducing latency.
+* Updated `azcore` version to `1.13.0`
+
+## 1.4.0-beta.1 (2024-06-14)
+
+### Features Added
+* Updated service version to `2024-05-04`.
+
+### Other Changes
+* Updated `azidentity` version to `1.6.0`
+* Updated `azcore` version to `1.12.0`
+
## 1.3.2 (2024-04-09)
### Bugs Fixed
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/README.md b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/README.md
index 1f51959fa3d6a..9fbc90d60de5d 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/README.md
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/README.md
@@ -1,4 +1,7 @@
# Azure Blob Storage module for Go
+[](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob)
+[](https://dev.azure.com/azure-sdk/public/_build/latest?definitionId=2854&branchName=main)
+[](https://img.shields.io/azure-devops/coverage/azure-sdk/public/2854/main)
> Service Version: 2023-11-03
@@ -19,7 +22,7 @@ Key links:
### Prerequisites
-- Go, version 1.18 or higher - [Install Go](https://go.dev/doc/install)
+- [Supported](https://aka.ms/azsdk/go/supported-versions) version of Go - [Install Go](https://go.dev/doc/install)
- Azure subscription - [Create a free account](https://azure.microsoft.com/free/)
- Azure storage account - To create a storage account, use tools including the [Azure portal][storage_account_create_portal],
[Azure PowerShell][storage_account_create_ps], or the [Azure CLI][storage_account_create_cli].
@@ -246,7 +249,7 @@ For more information see the [Code of Conduct FAQ][coc_faq]
or contact [opencode@microsoft.com][coc_contact] with any
additional questions or comments.
-
+
[source]: https://github.com/Azure/azure-sdk-for-go/tree/main/sdk/storage/azblob
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/appendblob/client.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/appendblob/client.go
index 06b0fd419f009..3bf058976a245 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/appendblob/client.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/appendblob/client.go
@@ -292,8 +292,8 @@ func (ab *Client) GetAccountInfo(ctx context.Context, o *blob.GetAccountInfoOpti
// SetHTTPHeaders changes a blob's HTTP headers.
// For more information, see https://docs.microsoft.com/rest/api/storageservices/set-blob-properties.
-func (ab *Client) SetHTTPHeaders(ctx context.Context, HTTPHeaders blob.HTTPHeaders, o *blob.SetHTTPHeadersOptions) (blob.SetHTTPHeadersResponse, error) {
- return ab.BlobClient().SetHTTPHeaders(ctx, HTTPHeaders, o)
+func (ab *Client) SetHTTPHeaders(ctx context.Context, httpHeaders blob.HTTPHeaders, o *blob.SetHTTPHeadersOptions) (blob.SetHTTPHeadersResponse, error) {
+ return ab.BlobClient().SetHTTPHeaders(ctx, httpHeaders, o)
}
// SetMetadata changes a blob's metadata.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/assets.json b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/assets.json
index d971ff1ec8442..11b07dbbc6080 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/assets.json
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/assets.json
@@ -2,5 +2,5 @@
"AssetsRepo": "Azure/azure-sdk-assets",
"AssetsRepoPrefixPath": "go",
"TagPrefix": "go/storage/azblob",
- "Tag": "go/storage/azblob_71b0a04c12"
+ "Tag": "go/storage/azblob_db9a368fe4"
}
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/client.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/client.go
index 7b55cd1431a50..98a624f50567c 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/client.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/client.go
@@ -11,6 +11,7 @@ import (
"io"
"os"
"sync"
+ "sync/atomic"
"time"
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
@@ -185,9 +186,9 @@ func (b *Client) GetProperties(ctx context.Context, options *GetPropertiesOption
// SetHTTPHeaders changes a blob's HTTP headers.
// For more information, see https://docs.microsoft.com/rest/api/storageservices/set-blob-properties.
-func (b *Client) SetHTTPHeaders(ctx context.Context, HTTPHeaders HTTPHeaders, o *SetHTTPHeadersOptions) (SetHTTPHeadersResponse, error) {
+func (b *Client) SetHTTPHeaders(ctx context.Context, httpHeaders HTTPHeaders, o *SetHTTPHeadersOptions) (SetHTTPHeadersResponse, error) {
opts, leaseAccessConditions, modifiedAccessConditions := o.format()
- resp, err := b.generated().SetHTTPHeaders(ctx, opts, &HTTPHeaders, leaseAccessConditions, modifiedAccessConditions)
+ resp, err := b.generated().SetHTTPHeaders(ctx, opts, &httpHeaders, leaseAccessConditions, modifiedAccessConditions)
return resp, err
}
@@ -334,7 +335,8 @@ func (b *Client) downloadBuffer(ctx context.Context, writer io.WriterAt, o downl
if o.BlockSize == 0 {
o.BlockSize = DefaultDownloadBlockSize
}
-
+ dataDownloaded := int64(0)
+ computeReadLength := true
count := o.Range.Count
if count == CountToEnd { // If size not specified, calculate it
// If we don't have the length at all, get it
@@ -343,6 +345,8 @@ func (b *Client) downloadBuffer(ctx context.Context, writer io.WriterAt, o downl
return 0, err
}
count = *gr.ContentLength - o.Range.Offset
+ dataDownloaded = count
+ computeReadLength = false
}
if count <= 0 {
@@ -387,6 +391,9 @@ func (b *Client) downloadBuffer(ctx context.Context, writer io.WriterAt, o downl
if err != nil {
return err
}
+ if computeReadLength {
+ atomic.AddInt64(&dataDownloaded, *dr.ContentLength)
+ }
err = body.Close()
return err
},
@@ -394,7 +401,7 @@ func (b *Client) downloadBuffer(ctx context.Context, writer io.WriterAt, o downl
if err != nil {
return 0, err
}
- return count, nil
+ return dataDownloaded, nil
}
// DownloadStream reads a range of bytes from a blob. The response also includes the blob's properties and metadata.
@@ -448,6 +455,7 @@ func (b *Client) DownloadFile(ctx context.Context, file *os.File, o *DownloadFil
return 0, err
}
size = *props.ContentLength - do.Range.Offset
+ do.Range.Count = size
} else {
size = count
}
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/retry_reader.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/retry_reader.go
index 1deedb5902e13..a625c995327c7 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/retry_reader.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/retry_reader.go
@@ -101,7 +101,6 @@ func (s *RetryReader) setResponse(r io.ReadCloser) {
// Read from retry reader
func (s *RetryReader) Read(p []byte) (n int, err error) {
for try := int32(0); ; try++ {
- //fmt.Println(try) // Comment out for debugging.
if s.countWasBounded && s.info.Range.Count == CountToEnd {
// User specified an original count and the remaining bytes are 0, return 0, EOF
return 0, io.EOF
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob/client.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob/client.go
index 8901f1dbd5150..7a3ab3fe8dc20 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob/client.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob/client.go
@@ -364,8 +364,8 @@ func (bb *Client) GetAccountInfo(ctx context.Context, o *blob.GetAccountInfoOpti
// SetHTTPHeaders changes a blob's HTTP headers.
// For more information, see https://docs.microsoft.com/rest/api/storageservices/set-blob-properties.
-func (bb *Client) SetHTTPHeaders(ctx context.Context, HTTPHeaders blob.HTTPHeaders, o *blob.SetHTTPHeadersOptions) (blob.SetHTTPHeadersResponse, error) {
- return bb.BlobClient().SetHTTPHeaders(ctx, HTTPHeaders, o)
+func (bb *Client) SetHTTPHeaders(ctx context.Context, httpHeaders blob.HTTPHeaders, o *blob.SetHTTPHeadersOptions) (blob.SetHTTPHeadersResponse, error) {
+ return bb.BlobClient().SetHTTPHeaders(ctx, httpHeaders, o)
}
// SetMetadata changes a blob's metadata.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/client.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/client.go
index c511d8a79f208..f36a1624764df 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/client.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/client.go
@@ -95,7 +95,7 @@ func (c *Client) ServiceClient() *service.Client {
}
// CreateContainer is a lifecycle method to creates a new container under the specified account.
-// If the container with the same name already exists, a ResourceExistsError will be raised.
+// If the container with the same name already exists, a ContainerAlreadyExists Error will be raised.
// This method returns a client with which to interact with the newly created container.
func (c *Client) CreateContainer(ctx context.Context, containerName string, o *CreateContainerOptions) (CreateContainerResponse, error) {
return c.svc.CreateContainer(ctx, containerName, o)
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/container/models.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/container/models.go
index 61d936ab73dbc..ccee90dbc5c19 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/container/models.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/container/models.go
@@ -7,10 +7,11 @@
package container
import (
- "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob"
"reflect"
"time"
+ "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob"
+
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported"
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated"
)
@@ -126,7 +127,7 @@ func (o *GetPropertiesOptions) format() (*generated.ContainerClientGetProperties
// ListBlobsInclude indicates what additional information the service should return with each blob.
type ListBlobsInclude struct {
- Copy, Metadata, Snapshots, UncommittedBlobs, Deleted, Tags, Versions, LegalHold, ImmutabilityPolicy, DeletedWithVersions bool
+ Copy, Metadata, Snapshots, UncommittedBlobs, Deleted, Tags, Versions, LegalHold, ImmutabilityPolicy, DeletedWithVersions, Permissions bool
}
func (l ListBlobsInclude) format() []generated.ListBlobsIncludeItem {
@@ -166,7 +167,9 @@ func (l ListBlobsInclude) format() []generated.ListBlobsIncludeItem {
if l.Versions {
include = append(include, generated.ListBlobsIncludeItemVersions)
}
-
+ if l.Permissions {
+ include = append(include, generated.ListBlobsIncludeItemPermissions)
+ }
return include
}
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/shared_key_credential.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/shared_key_credential.go
index adf46b06816e5..b0be323b7b8a6 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/shared_key_credential.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/shared_key_credential.go
@@ -109,6 +109,91 @@ func getHeader(key string, headers map[string][]string) string {
return ""
}
+func getWeightTables() [][]int {
+ tableLv0 := [...]int{
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x71c, 0x0, 0x71f, 0x721, 0x723, 0x725,
+ 0x0, 0x0, 0x0, 0x72d, 0x803, 0x0, 0x0, 0x733, 0x0, 0xd03, 0xd1a, 0xd1c, 0xd1e,
+ 0xd20, 0xd22, 0xd24, 0xd26, 0xd28, 0xd2a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0xe02, 0xe09, 0xe0a, 0xe1a, 0xe21, 0xe23, 0xe25, 0xe2c, 0xe32, 0xe35, 0xe36, 0xe48, 0xe51,
+ 0xe70, 0xe7c, 0xe7e, 0xe89, 0xe8a, 0xe91, 0xe99, 0xe9f, 0xea2, 0xea4, 0xea6, 0xea7, 0xea9,
+ 0x0, 0x0, 0x0, 0x743, 0x744, 0x748, 0xe02, 0xe09, 0xe0a, 0xe1a, 0xe21, 0xe23, 0xe25,
+ 0xe2c, 0xe32, 0xe35, 0xe36, 0xe48, 0xe51, 0xe70, 0xe7c, 0xe7e, 0xe89, 0xe8a, 0xe91, 0xe99,
+ 0xe9f, 0xea2, 0xea4, 0xea6, 0xea7, 0xea9, 0x0, 0x74c, 0x0, 0x750, 0x0,
+ }
+ tableLv2 := [...]int{
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8012, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8212, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ }
+ tables := [][]int{tableLv0[:], tableLv2[:]}
+ return tables
+}
+
+// NewHeaderStringComparer performs a multi-level, weight-based comparison of two strings
+func compareHeaders(lhs, rhs string, tables [][]int) int {
+ currLevel, i, j := 0, 0, 0
+ n := len(tables)
+ lhsLen := len(lhs)
+ rhsLen := len(rhs)
+
+ for currLevel < n {
+ if currLevel == (n-1) && i != j {
+ if i > j {
+ return -1
+ }
+ if i < j {
+ return 1
+ }
+ return 0
+ }
+
+ var w1, w2 int
+
+ // Check bounds before accessing lhs[i]
+ if i < lhsLen {
+ w1 = tables[currLevel][lhs[i]]
+ } else {
+ w1 = 0x1
+ }
+
+ // Check bounds before accessing rhs[j]
+ if j < rhsLen {
+ w2 = tables[currLevel][rhs[j]]
+ } else {
+ w2 = 0x1
+ }
+
+ if w1 == 0x1 && w2 == 0x1 {
+ i = 0
+ j = 0
+ currLevel++
+ } else if w1 == w2 {
+ i++
+ j++
+ } else if w1 == 0 {
+ i++
+ } else if w2 == 0 {
+ j++
+ } else {
+ if w1 < w2 {
+ return -1
+ }
+ if w1 > w2 {
+ return 1
+ }
+ return 0
+ }
+ }
+ return 0
+}
+
func (c *SharedKeyCredential) buildCanonicalizedHeader(headers http.Header) string {
cm := map[string][]string{}
for k, v := range headers {
@@ -125,7 +210,11 @@ func (c *SharedKeyCredential) buildCanonicalizedHeader(headers http.Header) stri
for key := range cm {
keys = append(keys, key)
}
- sort.Strings(keys)
+ tables := getWeightTables()
+ // Sort the keys using the custom comparator
+ sort.Slice(keys, func(i, j int) bool {
+ return compareHeaders(keys[i], keys[j], tables) < 0
+ })
ch := bytes.NewBufferString("")
for i, key := range keys {
if i > 0 {
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/version.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/version.go
index 720d6e8fdbdde..a18d0c670d0a6 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/version.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/version.go
@@ -8,5 +8,5 @@ package exported
const (
ModuleName = "github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
- ModuleVersion = "v1.3.2"
+ ModuleVersion = "v1.6.1"
)
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/autorest.md b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/autorest.md
index 92dc7e2d31e5d..96d47c4adf2ca 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/autorest.md
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/autorest.md
@@ -7,7 +7,7 @@ go: true
clear-output-folder: false
version: "^3.0.0"
license-header: MICROSOFT_MIT_NO_VERSION
-input-file: "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/a32d0b2423d19835246bb2ef92941503bfd5e734/specification/storage/data-plane/Microsoft.BlobStorage/preview/2021-12-02/blob.json"
+input-file: "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/ae95eb6a4701d844bada7d1c4f5ecf4a7444e5b8/specification/storage/data-plane/Microsoft.BlobStorage/stable/2025-01-05/blob.json"
credential-scope: "https://storage.azure.com/.default"
output-folder: ../generated
file-prefix: "zz_"
@@ -19,10 +19,55 @@ modelerfour:
seal-single-value-enum-by-default: true
lenient-model-deduplication: true
export-clients: true
-use: "@autorest/go@4.0.0-preview.61"
+use: "@autorest/go@4.0.0-preview.65"
```
-### Updating service version to 2023-11-03
+### Add a Properties field to the BlobPrefix definition
+```yaml
+directive:
+- from: swagger-document
+ where: $.definitions
+ transform: >
+ $.BlobPrefix.properties["Properties"] = {
+ "type": "object",
+ "$ref": "#/definitions/BlobPropertiesInternal"
+ };
+```
+
+### Add Owner,Group,Permissions,Acl,ResourceType in ListBlob Response
+``` yaml
+directive:
+- from: swagger-document
+ where: $.definitions
+ transform: >
+ $.BlobPropertiesInternal.properties["Owner"] = {
+ "type" : "string",
+ };
+ $.BlobPropertiesInternal.properties["Group"] = {
+ "type" : "string",
+ };
+ $.BlobPropertiesInternal.properties["Permissions"] = {
+ "type" : "string",
+ };
+ $.BlobPropertiesInternal.properties["Acl"] = {
+ "type" : "string",
+ };
+ $.BlobPropertiesInternal.properties["ResourceType"] = {
+ "type" : "string",
+ };
+
+```
+
+### Add permissions in ListBlobsInclude
+``` yaml
+directive:
+- from: swagger-document
+ where: $.parameters.ListBlobsInclude
+ transform: >
+ $.items.enum.push("permissions");
+```
+
+### Updating service version to 2025-05-05
```yaml
directive:
- from:
@@ -35,8 +80,21 @@ directive:
where: $
transform: >-
return $.
- replaceAll(`[]string{"2021-12-02"}`, `[]string{ServiceVersion}`).
- replaceAll(`2021-12-02`, `2023-11-03`);
+ replaceAll(`[]string{"2025-01-05"}`, `[]string{ServiceVersion}`);
+```
+
+### Fix CRC Response Header in PutBlob response
+``` yaml
+directive:
+- from: swagger-document
+ where: $["x-ms-paths"]["/{containerName}/{blob}?BlockBlob"].put.responses["201"].headers
+ transform: >
+ $["x-ms-content-crc64"] = {
+ "x-ms-client-name": "ContentCRC64",
+ "type": "string",
+ "format": "byte",
+ "description": "Returned for a block blob so that the client can check the integrity of message content."
+ };
```
### Undo breaking change with BlobName
@@ -293,7 +351,7 @@ directive:
replace(/SourceIfMatch\s+\*string/g, `SourceIfMatch *azcore.ETag`).
replace(/SourceIfNoneMatch\s+\*string/g, `SourceIfNoneMatch *azcore.ETag`);
-- from: zz_response_types.go
+- from: zz_responses.go
where: $
transform: >-
return $.
@@ -364,11 +422,13 @@ directive:
``` yaml
directive:
- - from: zz_service_client.go
- where: $
- transform: >-
- return $.
- replace(/req.Raw\(\).URL.RawQuery \= reqQP.Encode\(\)/, `req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)`)
+- from:
+ - zz_service_client.go
+ - zz_container_client.go
+ where: $
+ transform: >-
+ return $.
+ replace(/req.Raw\(\).URL.RawQuery \= reqQP.Encode\(\)/g, `req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)`);
```
### Change `where` parameter in blob filtering to be required
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/constants.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/constants.go
index 8f2bbbb7cb816..553cd227ef367 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/constants.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/constants.go
@@ -6,4 +6,4 @@
package generated
-const ServiceVersion = "2023-11-03"
+const ServiceVersion = "2025-05-05"
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_appendblob_client.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_appendblob_client.go
index 797318611c37b..9f9e145b58536 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_appendblob_client.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_appendblob_client.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
@@ -32,7 +29,7 @@ type AppendBlobClient struct {
// AppendBlob. Append Block is supported only on version 2015-02-21 version or later.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - contentLength - The length of the request.
// - body - Initial data
// - options - AppendBlobClientAppendBlockOptions contains the optional parameters for the AppendBlobClient.AppendBlock method.
@@ -72,54 +69,60 @@ func (client *AppendBlobClient) appendBlockCreateRequest(ctx context.Context, co
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/xml"}
req.Raw().Header["Content-Length"] = []string{strconv.FormatInt(contentLength, 10)}
if options != nil && options.TransactionalContentMD5 != nil {
req.Raw().Header["Content-MD5"] = []string{base64.StdEncoding.EncodeToString(options.TransactionalContentMD5)}
}
- if options != nil && options.TransactionalContentCRC64 != nil {
- req.Raw().Header["x-ms-content-crc64"] = []string{base64.StdEncoding.EncodeToString(options.TransactionalContentCRC64)}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
}
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
+ req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
- if appendPositionAccessConditions != nil && appendPositionAccessConditions.MaxSize != nil {
- req.Raw().Header["x-ms-blob-condition-maxsize"] = []string{strconv.FormatInt(*appendPositionAccessConditions.MaxSize, 10)}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
if appendPositionAccessConditions != nil && appendPositionAccessConditions.AppendPosition != nil {
req.Raw().Header["x-ms-blob-condition-appendpos"] = []string{strconv.FormatInt(*appendPositionAccessConditions.AppendPosition, 10)}
}
+ if appendPositionAccessConditions != nil && appendPositionAccessConditions.MaxSize != nil {
+ req.Raw().Header["x-ms-blob-condition-maxsize"] = []string{strconv.FormatInt(*appendPositionAccessConditions.MaxSize, 10)}
+ }
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ }
+ if options != nil && options.TransactionalContentCRC64 != nil {
+ req.Raw().Header["x-ms-content-crc64"] = []string{base64.StdEncoding.EncodeToString(options.TransactionalContentCRC64)}
+ }
+ if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
+ req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
+ }
if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
}
if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
}
- if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
- req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
- }
if cpkScopeInfo != nil && cpkScopeInfo.EncryptionScope != nil {
req.Raw().Header["x-ms-encryption-scope"] = []string{*cpkScopeInfo.EncryptionScope}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
- req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
+ req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ if options != nil && options.StructuredBodyType != nil {
+ req.Raw().Header["x-ms-structured-body"] = []string{*options.StructuredBodyType}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
- req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
+ if options != nil && options.StructuredContentLength != nil {
+ req.Raw().Header["x-ms-structured-content-length"] = []string{strconv.FormatInt(*options.StructuredContentLength, 10)}
}
req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
- }
- req.Raw().Header["Accept"] = []string{"application/xml"}
if err := req.SetBody(body, "application/octet-stream"); err != nil {
return nil, err
}
@@ -190,6 +193,9 @@ func (client *AppendBlobClient) appendBlockHandleResponse(resp *http.Response) (
if val := resp.Header.Get("x-ms-request-id"); val != "" {
result.RequestID = &val
}
+ if val := resp.Header.Get("x-ms-structured-body"); val != "" {
+ result.StructuredBodyType = &val
+ }
if val := resp.Header.Get("x-ms-version"); val != "" {
result.Version = &val
}
@@ -201,7 +207,7 @@ func (client *AppendBlobClient) appendBlockHandleResponse(resp *http.Response) (
// created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version 2015-02-21 version or later.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - sourceURL - Specify a URL to the copy source.
// - contentLength - The length of the request.
// - options - AppendBlobClientAppendBlockFromURLOptions contains the optional parameters for the AppendBlobClient.AppendBlockFromURL
@@ -244,76 +250,76 @@ func (client *AppendBlobClient) appendBlockFromURLCreateRequest(ctx context.Cont
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-copy-source"] = []string{sourceURL}
- if options != nil && options.SourceRange != nil {
- req.Raw().Header["x-ms-source-range"] = []string{*options.SourceRange}
- }
- if options != nil && options.SourceContentMD5 != nil {
- req.Raw().Header["x-ms-source-content-md5"] = []string{base64.StdEncoding.EncodeToString(options.SourceContentMD5)}
- }
- if options != nil && options.SourceContentcrc64 != nil {
- req.Raw().Header["x-ms-source-content-crc64"] = []string{base64.StdEncoding.EncodeToString(options.SourceContentcrc64)}
- }
+ req.Raw().Header["Accept"] = []string{"application/xml"}
req.Raw().Header["Content-Length"] = []string{strconv.FormatInt(contentLength, 10)}
if options != nil && options.TransactionalContentMD5 != nil {
req.Raw().Header["Content-MD5"] = []string{base64.StdEncoding.EncodeToString(options.TransactionalContentMD5)}
}
- if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
- req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
}
- if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
- req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
+ req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
- if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
- req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
}
- if cpkScopeInfo != nil && cpkScopeInfo.EncryptionScope != nil {
- req.Raw().Header["x-ms-encryption-scope"] = []string{*cpkScopeInfo.EncryptionScope}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ if appendPositionAccessConditions != nil && appendPositionAccessConditions.AppendPosition != nil {
+ req.Raw().Header["x-ms-blob-condition-appendpos"] = []string{strconv.FormatInt(*appendPositionAccessConditions.AppendPosition, 10)}
}
if appendPositionAccessConditions != nil && appendPositionAccessConditions.MaxSize != nil {
req.Raw().Header["x-ms-blob-condition-maxsize"] = []string{strconv.FormatInt(*appendPositionAccessConditions.MaxSize, 10)}
}
- if appendPositionAccessConditions != nil && appendPositionAccessConditions.AppendPosition != nil {
- req.Raw().Header["x-ms-blob-condition-appendpos"] = []string{strconv.FormatInt(*appendPositionAccessConditions.AppendPosition, 10)}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
- req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
+ req.Raw().Header["x-ms-copy-source"] = []string{sourceURL}
+ if options != nil && options.CopySourceAuthorization != nil {
+ req.Raw().Header["x-ms-copy-source-authorization"] = []string{*options.CopySourceAuthorization}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
+ req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
+ req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
+ req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
+ }
+ if cpkScopeInfo != nil && cpkScopeInfo.EncryptionScope != nil {
+ req.Raw().Header["x-ms-encryption-scope"] = []string{*cpkScopeInfo.EncryptionScope}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfModifiedSince != nil {
- req.Raw().Header["x-ms-source-if-modified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfModifiedSince).In(gmt).Format(time.RFC1123)}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfUnmodifiedSince != nil {
- req.Raw().Header["x-ms-source-if-unmodified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ if options != nil && options.SourceContentcrc64 != nil {
+ req.Raw().Header["x-ms-source-content-crc64"] = []string{base64.StdEncoding.EncodeToString(options.SourceContentcrc64)}
+ }
+ if options != nil && options.SourceContentMD5 != nil {
+ req.Raw().Header["x-ms-source-content-md5"] = []string{base64.StdEncoding.EncodeToString(options.SourceContentMD5)}
}
if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfMatch != nil {
req.Raw().Header["x-ms-source-if-match"] = []string{string(*sourceModifiedAccessConditions.SourceIfMatch)}
}
+ if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfModifiedSince != nil {
+ req.Raw().Header["x-ms-source-if-modified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfNoneMatch != nil {
req.Raw().Header["x-ms-source-if-none-match"] = []string{string(*sourceModifiedAccessConditions.SourceIfNoneMatch)}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfUnmodifiedSince != nil {
+ req.Raw().Header["x-ms-source-if-unmodified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- if options != nil && options.CopySourceAuthorization != nil {
- req.Raw().Header["x-ms-copy-source-authorization"] = []string{*options.CopySourceAuthorization}
+ if options != nil && options.SourceRange != nil {
+ req.Raw().Header["x-ms-source-range"] = []string{*options.SourceRange}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -387,7 +393,7 @@ func (client *AppendBlobClient) appendBlockFromURLHandleResponse(resp *http.Resp
// Create - The Create Append Blob operation creates a new append blob.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - contentLength - The length of the request.
// - options - AppendBlobClientCreateOptions contains the optional parameters for the AppendBlobClient.Create method.
// - BlobHTTPHeaders - BlobHTTPHeaders contains a group of parameters for the BlobClient.SetHTTPHeaders method.
@@ -424,10 +430,25 @@ func (client *AppendBlobClient) createCreateRequest(ctx context.Context, content
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-blob-type"] = []string{"AppendBlob"}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
req.Raw().Header["Content-Length"] = []string{strconv.FormatInt(contentLength, 10)}
- if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentType != nil {
- req.Raw().Header["x-ms-blob-content-type"] = []string{*blobHTTPHeaders.BlobContentType}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
+ req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if blobHTTPHeaders != nil && blobHTTPHeaders.BlobCacheControl != nil {
+ req.Raw().Header["x-ms-blob-cache-control"] = []string{*blobHTTPHeaders.BlobCacheControl}
+ }
+ if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentDisposition != nil {
+ req.Raw().Header["x-ms-blob-content-disposition"] = []string{*blobHTTPHeaders.BlobContentDisposition}
}
if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentEncoding != nil {
req.Raw().Header["x-ms-blob-content-encoding"] = []string{*blobHTTPHeaders.BlobContentEncoding}
@@ -438,21 +459,15 @@ func (client *AppendBlobClient) createCreateRequest(ctx context.Context, content
if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentMD5 != nil {
req.Raw().Header["x-ms-blob-content-md5"] = []string{base64.StdEncoding.EncodeToString(blobHTTPHeaders.BlobContentMD5)}
}
- if blobHTTPHeaders != nil && blobHTTPHeaders.BlobCacheControl != nil {
- req.Raw().Header["x-ms-blob-cache-control"] = []string{*blobHTTPHeaders.BlobCacheControl}
- }
- if options != nil && options.Metadata != nil {
- for k, v := range options.Metadata {
- if v != nil {
- req.Raw().Header["x-ms-meta-"+k] = []string{*v}
- }
- }
+ if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentType != nil {
+ req.Raw().Header["x-ms-blob-content-type"] = []string{*blobHTTPHeaders.BlobContentType}
}
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ req.Raw().Header["x-ms-blob-type"] = []string{"AppendBlob"}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentDisposition != nil {
- req.Raw().Header["x-ms-blob-content-disposition"] = []string{*blobHTTPHeaders.BlobContentDisposition}
+ if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
+ req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
}
if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
@@ -460,44 +475,35 @@ func (client *AppendBlobClient) createCreateRequest(ctx context.Context, content
if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
}
- if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
- req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
- }
if cpkScopeInfo != nil && cpkScopeInfo.EncryptionScope != nil {
req.Raw().Header["x-ms-encryption-scope"] = []string{*cpkScopeInfo.EncryptionScope}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
- req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
- }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
- }
- if options != nil && options.BlobTagsString != nil {
- req.Raw().Header["x-ms-tags"] = []string{*options.BlobTagsString}
+ if options != nil && options.ImmutabilityPolicyMode != nil {
+ req.Raw().Header["x-ms-immutability-policy-mode"] = []string{string(*options.ImmutabilityPolicyMode)}
}
if options != nil && options.ImmutabilityPolicyExpiry != nil {
req.Raw().Header["x-ms-immutability-policy-until-date"] = []string{(*options.ImmutabilityPolicyExpiry).In(gmt).Format(time.RFC1123)}
}
- if options != nil && options.ImmutabilityPolicyMode != nil {
- req.Raw().Header["x-ms-immutability-policy-mode"] = []string{string(*options.ImmutabilityPolicyMode)}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
if options != nil && options.LegalHold != nil {
req.Raw().Header["x-ms-legal-hold"] = []string{strconv.FormatBool(*options.LegalHold)}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ if options != nil && options.Metadata != nil {
+ for k, v := range options.Metadata {
+ if v != nil {
+ req.Raw().Header["x-ms-meta-"+k] = []string{*v}
+ }
+ }
+ }
+ if options != nil && options.BlobTagsString != nil {
+ req.Raw().Header["x-ms-tags"] = []string{*options.BlobTagsString}
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -560,7 +566,7 @@ func (client *AppendBlobClient) createHandleResponse(resp *http.Response) (Appen
// or later.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - AppendBlobClientSealOptions contains the optional parameters for the AppendBlobClient.Seal method.
// - LeaseAccessConditions - LeaseAccessConditions contains a group of parameters for the ContainerClient.GetProperties method.
// - ModifiedAccessConditions - ModifiedAccessConditions contains a group of parameters for the ContainerClient.Delete method.
@@ -596,29 +602,29 @@ func (client *AppendBlobClient) sealCreateRequest(ctx context.Context, options *
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
- }
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ }
if appendPositionAccessConditions != nil && appendPositionAccessConditions.AppendPosition != nil {
req.Raw().Header["x-ms-blob-condition-appendpos"] = []string{strconv.FormatInt(*appendPositionAccessConditions.AppendPosition, 10)}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ }
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_blob_client.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_blob_client.go
index fe568a96c7ac5..54b2999894e9a 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_blob_client.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_blob_client.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
@@ -32,7 +29,7 @@ type BlobClient struct {
// blob with zero length and full metadata.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - copyID - The copy identifier provided in the x-ms-copy-id header of the original Copy Blob operation.
// - options - BlobClientAbortCopyFromURLOptions contains the optional parameters for the BlobClient.AbortCopyFromURL method.
// - LeaseAccessConditions - LeaseAccessConditions contains a group of parameters for the ContainerClient.GetProperties method.
@@ -67,15 +64,15 @@ func (client *BlobClient) abortCopyFromURLCreateRequest(ctx context.Context, cop
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ }
req.Raw().Header["x-ms-copy-action"] = []string{"abort"}
if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
- }
- req.Raw().Header["Accept"] = []string{"application/xml"}
return req, nil
}
@@ -104,7 +101,7 @@ func (client *BlobClient) abortCopyFromURLHandleResponse(resp *http.Response) (B
// AcquireLease - [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - duration - Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite
// lease can be between 15 and 60 seconds. A lease duration cannot be changed using
// renew or change.
@@ -140,31 +137,31 @@ func (client *BlobClient) acquireLeaseCreateRequest(ctx context.Context, duratio
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-lease-action"] = []string{"acquire"}
- req.Raw().Header["x-ms-lease-duration"] = []string{strconv.FormatInt(int64(duration), 10)}
- if options != nil && options.ProposedLeaseID != nil {
- req.Raw().Header["x-ms-proposed-lease-id"] = []string{*options.ProposedLeaseID}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ req.Raw().Header["x-ms-lease-action"] = []string{"acquire"}
+ req.Raw().Header["x-ms-lease-duration"] = []string{strconv.FormatInt(int64(duration), 10)}
+ if options != nil && options.ProposedLeaseID != nil {
+ req.Raw().Header["x-ms-proposed-lease-id"] = []string{*options.ProposedLeaseID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -206,7 +203,7 @@ func (client *BlobClient) acquireLeaseHandleResponse(resp *http.Response) (BlobC
// BreakLease - [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - BlobClientBreakLeaseOptions contains the optional parameters for the BlobClient.BreakLease method.
// - ModifiedAccessConditions - ModifiedAccessConditions contains a group of parameters for the ContainerClient.Delete method.
func (client *BlobClient) BreakLease(ctx context.Context, options *BlobClientBreakLeaseOptions, modifiedAccessConditions *ModifiedAccessConditions) (BlobClientBreakLeaseResponse, error) {
@@ -239,30 +236,30 @@ func (client *BlobClient) breakLeaseCreateRequest(ctx context.Context, options *
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-lease-action"] = []string{"break"}
- if options != nil && options.BreakPeriod != nil {
- req.Raw().Header["x-ms-lease-break-period"] = []string{strconv.FormatInt(int64(*options.BreakPeriod), 10)}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ req.Raw().Header["x-ms-lease-action"] = []string{"break"}
+ if options != nil && options.BreakPeriod != nil {
+ req.Raw().Header["x-ms-lease-break-period"] = []string{strconv.FormatInt(int64(*options.BreakPeriod), 10)}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -309,7 +306,7 @@ func (client *BlobClient) breakLeaseHandleResponse(resp *http.Response) (BlobCli
// ChangeLease - [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - leaseID - Specifies the current lease ID on the resource.
// - proposedLeaseID - Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed
// lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID
@@ -346,29 +343,29 @@ func (client *BlobClient) changeLeaseCreateRequest(ctx context.Context, leaseID
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-lease-action"] = []string{"change"}
- req.Raw().Header["x-ms-lease-id"] = []string{leaseID}
- req.Raw().Header["x-ms-proposed-lease-id"] = []string{proposedLeaseID}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
+ req.Raw().Header["x-ms-lease-action"] = []string{"change"}
+ req.Raw().Header["x-ms-lease-id"] = []string{leaseID}
+ req.Raw().Header["x-ms-proposed-lease-id"] = []string{proposedLeaseID}
req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
- }
- req.Raw().Header["Accept"] = []string{"application/xml"}
return req, nil
}
@@ -411,7 +408,7 @@ func (client *BlobClient) changeLeaseHandleResponse(resp *http.Response) (BlobCl
// until the copy is complete.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - copySource - Specifies the name of the source page blob snapshot. This value is a URL of up to 2 KB in length that specifies
// a page blob snapshot. The value should be URL-encoded as it would appear in a request
// URI. The source blob must either be public or must be authenticated via a shared access signature.
@@ -450,77 +447,77 @@ func (client *BlobClient) copyFromURLCreateRequest(ctx context.Context, copySour
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-requires-sync"] = []string{"true"}
- if options != nil && options.Metadata != nil {
- for k, v := range options.Metadata {
- if v != nil {
- req.Raw().Header["x-ms-meta-"+k] = []string{*v}
- }
- }
- }
- if options != nil && options.Tier != nil {
- req.Raw().Header["x-ms-access-tier"] = []string{string(*options.Tier)}
- }
- if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfModifiedSince != nil {
- req.Raw().Header["x-ms-source-if-modified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfModifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfUnmodifiedSince != nil {
- req.Raw().Header["x-ms-source-if-unmodified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfMatch != nil {
- req.Raw().Header["x-ms-source-if-match"] = []string{string(*sourceModifiedAccessConditions.SourceIfMatch)}
- }
- if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfNoneMatch != nil {
- req.Raw().Header["x-ms-source-if-none-match"] = []string{string(*sourceModifiedAccessConditions.SourceIfNoneMatch)}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
- req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- req.Raw().Header["x-ms-copy-source"] = []string{copySource}
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ if options != nil && options.Tier != nil {
+ req.Raw().Header["x-ms-access-tier"] = []string{string(*options.Tier)}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- if options != nil && options.SourceContentMD5 != nil {
- req.Raw().Header["x-ms-source-content-md5"] = []string{base64.StdEncoding.EncodeToString(options.SourceContentMD5)}
+ req.Raw().Header["x-ms-copy-source"] = []string{copySource}
+ if options != nil && options.CopySourceAuthorization != nil {
+ req.Raw().Header["x-ms-copy-source-authorization"] = []string{*options.CopySourceAuthorization}
}
- if options != nil && options.BlobTagsString != nil {
- req.Raw().Header["x-ms-tags"] = []string{*options.BlobTagsString}
+ if options != nil && options.CopySourceTags != nil {
+ req.Raw().Header["x-ms-copy-source-tag-option"] = []string{string(*options.CopySourceTags)}
}
- if options != nil && options.ImmutabilityPolicyExpiry != nil {
- req.Raw().Header["x-ms-immutability-policy-until-date"] = []string{(*options.ImmutabilityPolicyExpiry).In(gmt).Format(time.RFC1123)}
+ if cpkScopeInfo != nil && cpkScopeInfo.EncryptionScope != nil {
+ req.Raw().Header["x-ms-encryption-scope"] = []string{*cpkScopeInfo.EncryptionScope}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
+ req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
if options != nil && options.ImmutabilityPolicyMode != nil {
req.Raw().Header["x-ms-immutability-policy-mode"] = []string{string(*options.ImmutabilityPolicyMode)}
}
+ if options != nil && options.ImmutabilityPolicyExpiry != nil {
+ req.Raw().Header["x-ms-immutability-policy-until-date"] = []string{(*options.ImmutabilityPolicyExpiry).In(gmt).Format(time.RFC1123)}
+ }
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ }
if options != nil && options.LegalHold != nil {
req.Raw().Header["x-ms-legal-hold"] = []string{strconv.FormatBool(*options.LegalHold)}
}
- if options != nil && options.CopySourceAuthorization != nil {
- req.Raw().Header["x-ms-copy-source-authorization"] = []string{*options.CopySourceAuthorization}
+ if options != nil && options.Metadata != nil {
+ for k, v := range options.Metadata {
+ if v != nil {
+ req.Raw().Header["x-ms-meta-"+k] = []string{*v}
+ }
+ }
}
- if cpkScopeInfo != nil && cpkScopeInfo.EncryptionScope != nil {
- req.Raw().Header["x-ms-encryption-scope"] = []string{*cpkScopeInfo.EncryptionScope}
+ req.Raw().Header["x-ms-requires-sync"] = []string{"true"}
+ if options != nil && options.SourceContentMD5 != nil {
+ req.Raw().Header["x-ms-source-content-md5"] = []string{base64.StdEncoding.EncodeToString(options.SourceContentMD5)}
}
- if options != nil && options.CopySourceTags != nil {
- req.Raw().Header["x-ms-copy-source-tag-option"] = []string{string(*options.CopySourceTags)}
+ if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfMatch != nil {
+ req.Raw().Header["x-ms-source-if-match"] = []string{string(*sourceModifiedAccessConditions.SourceIfMatch)}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfModifiedSince != nil {
+ req.Raw().Header["x-ms-source-if-modified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfNoneMatch != nil {
+ req.Raw().Header["x-ms-source-if-none-match"] = []string{string(*sourceModifiedAccessConditions.SourceIfNoneMatch)}
+ }
+ if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfUnmodifiedSince != nil {
+ req.Raw().Header["x-ms-source-if-unmodified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if options != nil && options.BlobTagsString != nil {
+ req.Raw().Header["x-ms-tags"] = []string{*options.BlobTagsString}
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -585,7 +582,7 @@ func (client *BlobClient) copyFromURLHandleResponse(resp *http.Response) (BlobCl
// CreateSnapshot - The Create Snapshot operation creates a read-only snapshot of a blob
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - BlobClientCreateSnapshotOptions contains the optional parameters for the BlobClient.CreateSnapshot method.
// - CPKInfo - CPKInfo contains a group of parameters for the BlobClient.Download method.
// - CPKScopeInfo - CPKScopeInfo contains a group of parameters for the BlobClient.SetMetadata method.
@@ -621,12 +618,24 @@ func (client *BlobClient) createSnapshotCreateRequest(ctx context.Context, optio
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- if options != nil && options.Metadata != nil {
- for k, v := range options.Metadata {
- if v != nil {
- req.Raw().Header["x-ms-meta-"+k] = []string{*v}
- }
- }
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
+ req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ }
+ if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
+ req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
}
if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
@@ -634,35 +643,23 @@ func (client *BlobClient) createSnapshotCreateRequest(ctx context.Context, optio
if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
}
- if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
- req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
- }
if cpkScopeInfo != nil && cpkScopeInfo.EncryptionScope != nil {
req.Raw().Header["x-ms-encryption-scope"] = []string{*cpkScopeInfo.EncryptionScope}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
- req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
- }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ if options != nil && options.Metadata != nil {
+ for k, v := range options.Metadata {
+ if v != nil {
+ req.Raw().Header["x-ms-meta-"+k] = []string{*v}
+ }
+ }
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -724,7 +721,7 @@ func (client *BlobClient) createSnapshotHandleResponse(resp *http.Response) (Blo
// return an HTTP status code of 404 (ResourceNotFound).
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - BlobClientDeleteOptions contains the optional parameters for the BlobClient.Delete method.
// - LeaseAccessConditions - LeaseAccessConditions contains a group of parameters for the ContainerClient.GetProperties method.
// - ModifiedAccessConditions - ModifiedAccessConditions contains a group of parameters for the ContainerClient.Delete method.
@@ -753,45 +750,45 @@ func (client *BlobClient) deleteCreateRequest(ctx context.Context, options *Blob
return nil, err
}
reqQP := req.Raw().URL.Query()
+ if options != nil && options.DeleteType != nil {
+ reqQP.Set("deletetype", string(*options.DeleteType))
+ }
if options != nil && options.Snapshot != nil {
reqQP.Set("snapshot", *options.Snapshot)
}
- if options != nil && options.VersionID != nil {
- reqQP.Set("versionid", *options.VersionID)
- }
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- if options != nil && options.DeleteType != nil {
- reqQP.Set("deletetype", string(*options.DeleteType))
+ if options != nil && options.VersionID != nil {
+ reqQP.Set("versionid", *options.VersionID)
}
req.Raw().URL.RawQuery = reqQP.Encode()
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
- }
- if options != nil && options.DeleteSnapshots != nil {
- req.Raw().Header["x-ms-delete-snapshots"] = []string{string(*options.DeleteSnapshots)}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ if options != nil && options.DeleteSnapshots != nil {
+ req.Raw().Header["x-ms-delete-snapshots"] = []string{string(*options.DeleteSnapshots)}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -820,7 +817,7 @@ func (client *BlobClient) deleteHandleResponse(resp *http.Response) (BlobClientD
// DeleteImmutabilityPolicy - The Delete Immutability Policy operation deletes the immutability policy on the blob
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - BlobClientDeleteImmutabilityPolicyOptions contains the optional parameters for the BlobClient.DeleteImmutabilityPolicy
// method.
func (client *BlobClient) DeleteImmutabilityPolicy(ctx context.Context, options *BlobClientDeleteImmutabilityPolicyOptions) (BlobClientDeleteImmutabilityPolicyResponse, error) {
@@ -849,15 +846,21 @@ func (client *BlobClient) deleteImmutabilityPolicyCreateRequest(ctx context.Cont
}
reqQP := req.Raw().URL.Query()
reqQP.Set("comp", "immutabilityPolicies")
+ if options != nil && options.Snapshot != nil {
+ reqQP.Set("snapshot", *options.Snapshot)
+ }
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
+ if options != nil && options.VersionID != nil {
+ reqQP.Set("versionid", *options.VersionID)
+ }
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -887,7 +890,7 @@ func (client *BlobClient) deleteImmutabilityPolicyHandleResponse(resp *http.Resp
// can also call Download to read a snapshot.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - BlobClientDownloadOptions contains the optional parameters for the BlobClient.Download method.
// - LeaseAccessConditions - LeaseAccessConditions contains a group of parameters for the ContainerClient.GetProperties method.
// - CPKInfo - CPKInfo contains a group of parameters for the BlobClient.Download method.
@@ -920,25 +923,32 @@ func (client *BlobClient) downloadCreateRequest(ctx context.Context, options *Bl
if options != nil && options.Snapshot != nil {
reqQP.Set("snapshot", *options.Snapshot)
}
- if options != nil && options.VersionID != nil {
- reqQP.Set("versionid", *options.VersionID)
- }
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
+ if options != nil && options.VersionID != nil {
+ reqQP.Set("versionid", *options.VersionID)
+ }
req.Raw().URL.RawQuery = reqQP.Encode()
runtime.SkipBodyDownload(req)
- if options != nil && options.Range != nil {
- req.Raw().Header["x-ms-range"] = []string{*options.Range}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
}
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
+ req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
- if options != nil && options.RangeGetContentMD5 != nil {
- req.Raw().Header["x-ms-range-get-content-md5"] = []string{strconv.FormatBool(*options.RangeGetContentMD5)}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
}
- if options != nil && options.RangeGetContentCRC64 != nil {
- req.Raw().Header["x-ms-range-get-content-crc64"] = []string{strconv.FormatBool(*options.RangeGetContentCRC64)}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ }
+ if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
+ req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
}
if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
@@ -946,29 +956,25 @@ func (client *BlobClient) downloadCreateRequest(ctx context.Context, options *Bl
if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
}
- if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
- req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
+ req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
- req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ if options != nil && options.Range != nil {
+ req.Raw().Header["x-ms-range"] = []string{*options.Range}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ if options != nil && options.RangeGetContentCRC64 != nil {
+ req.Raw().Header["x-ms-range-get-content-crc64"] = []string{strconv.FormatBool(*options.RangeGetContentCRC64)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ if options != nil && options.RangeGetContentMD5 != nil {
+ req.Raw().Header["x-ms-range-get-content-md5"] = []string{strconv.FormatBool(*options.RangeGetContentMD5)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
- req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
+ if options != nil && options.StructuredBodyType != nil {
+ req.Raw().Header["x-ms-structured-body"] = []string{*options.StructuredBodyType}
}
req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
- }
- req.Raw().Header["Accept"] = []string{"application/xml"}
return req, nil
}
@@ -1167,15 +1173,25 @@ func (client *BlobClient) downloadHandleResponse(resp *http.Response) (BlobClien
}
for hh := range resp.Header {
if len(hh) > len("x-ms-or-") && strings.EqualFold(hh[:len("x-ms-or-")], "x-ms-or-") {
- if result.Metadata == nil {
- result.Metadata = map[string]*string{}
+ if result.ObjectReplicationRules == nil {
+ result.ObjectReplicationRules = map[string]*string{}
}
- result.Metadata[hh[len("x-ms-or-"):]] = to.Ptr(resp.Header.Get(hh))
+ result.ObjectReplicationRules[hh[len("x-ms-or-"):]] = to.Ptr(resp.Header.Get(hh))
}
}
if val := resp.Header.Get("x-ms-request-id"); val != "" {
result.RequestID = &val
}
+ if val := resp.Header.Get("x-ms-structured-body"); val != "" {
+ result.StructuredBodyType = &val
+ }
+ if val := resp.Header.Get("x-ms-structured-content-length"); val != "" {
+ structuredContentLength, err := strconv.ParseInt(val, 10, 64)
+ if err != nil {
+ return BlobClientDownloadResponse{}, err
+ }
+ result.StructuredContentLength = &structuredContentLength
+ }
if val := resp.Header.Get("x-ms-tag-count"); val != "" {
tagCount, err := strconv.ParseInt(val, 10, 64)
if err != nil {
@@ -1195,7 +1211,7 @@ func (client *BlobClient) downloadHandleResponse(resp *http.Response) (BlobClien
// GetAccountInfo - Returns the sku name and account kind
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - BlobClientGetAccountInfoOptions contains the optional parameters for the BlobClient.GetAccountInfo method.
func (client *BlobClient) GetAccountInfo(ctx context.Context, options *BlobClientGetAccountInfoOptions) (BlobClientGetAccountInfoResponse, error) {
var err error
@@ -1222,11 +1238,17 @@ func (client *BlobClient) getAccountInfoCreateRequest(ctx context.Context, optio
return nil, err
}
reqQP := req.Raw().URL.Query()
- reqQP.Set("restype", "account")
reqQP.Set("comp", "properties")
+ reqQP.Set("restype", "account")
+ if options != nil && options.Timeout != nil {
+ reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
+ }
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
req.Raw().Header["Accept"] = []string{"application/xml"}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -1246,6 +1268,13 @@ func (client *BlobClient) getAccountInfoHandleResponse(resp *http.Response) (Blo
}
result.Date = &date
}
+ if val := resp.Header.Get("x-ms-is-hns-enabled"); val != "" {
+ isHierarchicalNamespaceEnabled, err := strconv.ParseBool(val)
+ if err != nil {
+ return BlobClientGetAccountInfoResponse{}, err
+ }
+ result.IsHierarchicalNamespaceEnabled = &isHierarchicalNamespaceEnabled
+ }
if val := resp.Header.Get("x-ms-request-id"); val != "" {
result.RequestID = &val
}
@@ -1262,7 +1291,7 @@ func (client *BlobClient) getAccountInfoHandleResponse(resp *http.Response) (Blo
// for the blob. It does not return the content of the blob.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - BlobClientGetPropertiesOptions contains the optional parameters for the BlobClient.GetProperties method.
// - LeaseAccessConditions - LeaseAccessConditions contains a group of parameters for the ContainerClient.GetProperties method.
// - CPKInfo - CPKInfo contains a group of parameters for the BlobClient.Download method.
@@ -1295,45 +1324,45 @@ func (client *BlobClient) getPropertiesCreateRequest(ctx context.Context, option
if options != nil && options.Snapshot != nil {
reqQP.Set("snapshot", *options.Snapshot)
}
- if options != nil && options.VersionID != nil {
- reqQP.Set("versionid", *options.VersionID)
- }
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
- }
- if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
- req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
- }
- if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
- req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
+ if options != nil && options.VersionID != nil {
+ reqQP.Set("versionid", *options.VersionID)
}
- if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
- req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
+ req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
+ }
+ if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
+ req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
+ }
+ if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
+ req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -1549,10 +1578,10 @@ func (client *BlobClient) getPropertiesHandleResponse(resp *http.Response) (Blob
}
for hh := range resp.Header {
if len(hh) > len("x-ms-or-") && strings.EqualFold(hh[:len("x-ms-or-")], "x-ms-or-") {
- if result.Metadata == nil {
- result.Metadata = map[string]*string{}
+ if result.ObjectReplicationRules == nil {
+ result.ObjectReplicationRules = map[string]*string{}
}
- result.Metadata[hh[len("x-ms-or-"):]] = to.Ptr(resp.Header.Get(hh))
+ result.ObjectReplicationRules[hh[len("x-ms-or-"):]] = to.Ptr(resp.Header.Get(hh))
}
}
if val := resp.Header.Get("x-ms-rehydrate-priority"); val != "" {
@@ -1580,7 +1609,7 @@ func (client *BlobClient) getPropertiesHandleResponse(resp *http.Response) (Blob
// GetTags - The Get Tags operation enables users to get the tags associated with a blob.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - BlobClientGetTagsOptions contains the optional parameters for the BlobClient.GetTags method.
// - ModifiedAccessConditions - ModifiedAccessConditions contains a group of parameters for the ContainerClient.Delete method.
// - LeaseAccessConditions - LeaseAccessConditions contains a group of parameters for the ContainerClient.GetProperties method.
@@ -1610,17 +1639,17 @@ func (client *BlobClient) getTagsCreateRequest(ctx context.Context, options *Blo
}
reqQP := req.Raw().URL.Query()
reqQP.Set("comp", "tags")
- if options != nil && options.Timeout != nil {
- reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
- }
if options != nil && options.Snapshot != nil {
reqQP.Set("snapshot", *options.Snapshot)
}
+ if options != nil && options.Timeout != nil {
+ reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
+ }
if options != nil && options.VersionID != nil {
reqQP.Set("versionid", *options.VersionID)
}
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
@@ -1630,7 +1659,7 @@ func (client *BlobClient) getTagsCreateRequest(ctx context.Context, options *Blo
if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -1662,7 +1691,7 @@ func (client *BlobClient) getTagsHandleResponse(resp *http.Response) (BlobClient
// Query - The Query operation enables users to select/project on blob data by providing simple query expressions.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - BlobClientQueryOptions contains the optional parameters for the BlobClient.Query method.
// - LeaseAccessConditions - LeaseAccessConditions contains a group of parameters for the ContainerClient.GetProperties method.
// - CPKInfo - CPKInfo contains a group of parameters for the BlobClient.Download method.
@@ -1701,38 +1730,38 @@ func (client *BlobClient) queryCreateRequest(ctx context.Context, options *BlobC
}
req.Raw().URL.RawQuery = reqQP.Encode()
runtime.SkipBodyDownload(req)
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
- }
- if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
- req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
- }
- if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
- req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
- }
- if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
- req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
+ req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
+ }
+ if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
+ req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
+ }
+ if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
+ req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if options != nil && options.QueryRequest != nil {
if err := runtime.MarshalAsXML(req, *options.QueryRequest); err != nil {
return nil, err
@@ -1896,7 +1925,7 @@ func (client *BlobClient) queryHandleResponse(resp *http.Response) (BlobClientQu
// ReleaseLease - [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - leaseID - Specifies the current lease ID on the resource.
// - options - BlobClientReleaseLeaseOptions contains the optional parameters for the BlobClient.ReleaseLease method.
// - ModifiedAccessConditions - ModifiedAccessConditions contains a group of parameters for the ContainerClient.Delete method.
@@ -1930,28 +1959,28 @@ func (client *BlobClient) releaseLeaseCreateRequest(ctx context.Context, leaseID
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-lease-action"] = []string{"release"}
- req.Raw().Header["x-ms-lease-id"] = []string{leaseID}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
+ req.Raw().Header["x-ms-lease-action"] = []string{"release"}
+ req.Raw().Header["x-ms-lease-id"] = []string{leaseID}
req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
- }
- req.Raw().Header["Accept"] = []string{"application/xml"}
return req, nil
}
@@ -1990,7 +2019,7 @@ func (client *BlobClient) releaseLeaseHandleResponse(resp *http.Response) (BlobC
// RenewLease - [Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - leaseID - Specifies the current lease ID on the resource.
// - options - BlobClientRenewLeaseOptions contains the optional parameters for the BlobClient.RenewLease method.
// - ModifiedAccessConditions - ModifiedAccessConditions contains a group of parameters for the ContainerClient.Delete method.
@@ -2024,28 +2053,28 @@ func (client *BlobClient) renewLeaseCreateRequest(ctx context.Context, leaseID s
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-lease-action"] = []string{"renew"}
- req.Raw().Header["x-ms-lease-id"] = []string{leaseID}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
- req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
- }
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
+ req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
- req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
+ req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
+ }
+ req.Raw().Header["x-ms-lease-action"] = []string{"renew"}
+ req.Raw().Header["x-ms-lease-id"] = []string{leaseID}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -2087,7 +2116,7 @@ func (client *BlobClient) renewLeaseHandleResponse(resp *http.Response) (BlobCli
// SetExpiry - Sets the time a blob will expire and be deleted.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - expiryOptions - Required. Indicates mode of the expiry time
// - options - BlobClientSetExpiryOptions contains the optional parameters for the BlobClient.SetExpiry method.
func (client *BlobClient) SetExpiry(ctx context.Context, expiryOptions ExpiryOptions, options *BlobClientSetExpiryOptions) (BlobClientSetExpiryResponse, error) {
@@ -2120,7 +2149,7 @@ func (client *BlobClient) setExpiryCreateRequest(ctx context.Context, expiryOpti
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
@@ -2128,7 +2157,7 @@ func (client *BlobClient) setExpiryCreateRequest(ctx context.Context, expiryOpti
if options != nil && options.ExpiresOn != nil {
req.Raw().Header["x-ms-expiry-time"] = []string{*options.ExpiresOn}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -2167,7 +2196,7 @@ func (client *BlobClient) setExpiryHandleResponse(resp *http.Response) (BlobClie
// SetHTTPHeaders - The Set HTTP Headers operation sets system properties on the blob
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - BlobClientSetHTTPHeadersOptions contains the optional parameters for the BlobClient.SetHTTPHeaders method.
// - BlobHTTPHeaders - BlobHTTPHeaders contains a group of parameters for the BlobClient.SetHTTPHeaders method.
// - LeaseAccessConditions - LeaseAccessConditions contains a group of parameters for the ContainerClient.GetProperties method.
@@ -2202,14 +2231,24 @@ func (client *BlobClient) setHTTPHeadersCreateRequest(ctx context.Context, optio
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
+ req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ }
if blobHTTPHeaders != nil && blobHTTPHeaders.BlobCacheControl != nil {
req.Raw().Header["x-ms-blob-cache-control"] = []string{*blobHTTPHeaders.BlobCacheControl}
}
- if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentType != nil {
- req.Raw().Header["x-ms-blob-content-type"] = []string{*blobHTTPHeaders.BlobContentType}
- }
- if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentMD5 != nil {
- req.Raw().Header["x-ms-blob-content-md5"] = []string{base64.StdEncoding.EncodeToString(blobHTTPHeaders.BlobContentMD5)}
+ if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentDisposition != nil {
+ req.Raw().Header["x-ms-blob-content-disposition"] = []string{*blobHTTPHeaders.BlobContentDisposition}
}
if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentEncoding != nil {
req.Raw().Header["x-ms-blob-content-encoding"] = []string{*blobHTTPHeaders.BlobContentEncoding}
@@ -2217,32 +2256,22 @@ func (client *BlobClient) setHTTPHeadersCreateRequest(ctx context.Context, optio
if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentLanguage != nil {
req.Raw().Header["x-ms-blob-content-language"] = []string{*blobHTTPHeaders.BlobContentLanguage}
}
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
- req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentMD5 != nil {
+ req.Raw().Header["x-ms-blob-content-md5"] = []string{base64.StdEncoding.EncodeToString(blobHTTPHeaders.BlobContentMD5)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentType != nil {
+ req.Raw().Header["x-ms-blob-content-type"] = []string{*blobHTTPHeaders.BlobContentType}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentDisposition != nil {
- req.Raw().Header["x-ms-blob-content-disposition"] = []string{*blobHTTPHeaders.BlobContentDisposition}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
- }
- req.Raw().Header["Accept"] = []string{"application/xml"}
return req, nil
}
@@ -2288,7 +2317,7 @@ func (client *BlobClient) setHTTPHeadersHandleResponse(resp *http.Response) (Blo
// SetImmutabilityPolicy - The Set Immutability Policy operation sets the immutability policy on the blob
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - BlobClientSetImmutabilityPolicyOptions contains the optional parameters for the BlobClient.SetImmutabilityPolicy
// method.
// - ModifiedAccessConditions - ModifiedAccessConditions contains a group of parameters for the ContainerClient.Delete method.
@@ -2318,24 +2347,30 @@ func (client *BlobClient) setImmutabilityPolicyCreateRequest(ctx context.Context
}
reqQP := req.Raw().URL.Query()
reqQP.Set("comp", "immutabilityPolicies")
+ if options != nil && options.Snapshot != nil {
+ reqQP.Set("snapshot", *options.Snapshot)
+ }
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ if options != nil && options.VersionID != nil {
+ reqQP.Set("versionid", *options.VersionID)
}
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- if options != nil && options.ImmutabilityPolicyExpiry != nil {
- req.Raw().Header["x-ms-immutability-policy-until-date"] = []string{(*options.ImmutabilityPolicyExpiry).In(gmt).Format(time.RFC1123)}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
if options != nil && options.ImmutabilityPolicyMode != nil {
req.Raw().Header["x-ms-immutability-policy-mode"] = []string{string(*options.ImmutabilityPolicyMode)}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ if options != nil && options.ImmutabilityPolicyExpiry != nil {
+ req.Raw().Header["x-ms-immutability-policy-until-date"] = []string{(*options.ImmutabilityPolicyExpiry).In(gmt).Format(time.RFC1123)}
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -2374,7 +2409,7 @@ func (client *BlobClient) setImmutabilityPolicyHandleResponse(resp *http.Respons
// SetLegalHold - The Set Legal Hold operation sets a legal hold on the blob.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - legalHold - Specified if a legal hold should be set on the blob.
// - options - BlobClientSetLegalHoldOptions contains the optional parameters for the BlobClient.SetLegalHold method.
func (client *BlobClient) SetLegalHold(ctx context.Context, legalHold bool, options *BlobClientSetLegalHoldOptions) (BlobClientSetLegalHoldResponse, error) {
@@ -2403,16 +2438,22 @@ func (client *BlobClient) setLegalHoldCreateRequest(ctx context.Context, legalHo
}
reqQP := req.Raw().URL.Query()
reqQP.Set("comp", "legalhold")
+ if options != nil && options.Snapshot != nil {
+ reqQP.Set("snapshot", *options.Snapshot)
+ }
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
+ if options != nil && options.VersionID != nil {
+ reqQP.Set("versionid", *options.VersionID)
+ }
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
req.Raw().Header["x-ms-legal-hold"] = []string{strconv.FormatBool(legalHold)}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -2449,7 +2490,7 @@ func (client *BlobClient) setLegalHoldHandleResponse(resp *http.Response) (BlobC
// pairs
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - BlobClientSetMetadataOptions contains the optional parameters for the BlobClient.SetMetadata method.
// - LeaseAccessConditions - LeaseAccessConditions contains a group of parameters for the ContainerClient.GetProperties method.
// - CPKInfo - CPKInfo contains a group of parameters for the BlobClient.Download method.
@@ -2485,15 +2526,24 @@ func (client *BlobClient) setMetadataCreateRequest(ctx context.Context, options
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- if options != nil && options.Metadata != nil {
- for k, v := range options.Metadata {
- if v != nil {
- req.Raw().Header["x-ms-meta-"+k] = []string{*v}
- }
- }
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
}
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
+ req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ }
+ if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
+ req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
}
if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
@@ -2501,32 +2551,23 @@ func (client *BlobClient) setMetadataCreateRequest(ctx context.Context, options
if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
}
- if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
- req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
- }
if cpkScopeInfo != nil && cpkScopeInfo.EncryptionScope != nil {
req.Raw().Header["x-ms-encryption-scope"] = []string{*cpkScopeInfo.EncryptionScope}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
- req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
- }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ if options != nil && options.Metadata != nil {
+ for k, v := range options.Metadata {
+ if v != nil {
+ req.Raw().Header["x-ms-meta-"+k] = []string{*v}
+ }
+ }
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -2581,7 +2622,7 @@ func (client *BlobClient) setMetadataHandleResponse(resp *http.Response) (BlobCl
// SetTags - The Set Tags operation enables users to set tags on a blob.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - tags - Blob tags
// - options - BlobClientSetTagsOptions contains the optional parameters for the BlobClient.SetTags method.
// - ModifiedAccessConditions - ModifiedAccessConditions contains a group of parameters for the ContainerClient.Delete method.
@@ -2619,23 +2660,23 @@ func (client *BlobClient) setTagsCreateRequest(ctx context.Context, tags BlobTag
reqQP.Set("versionid", *options.VersionID)
}
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if options != nil && options.TransactionalContentMD5 != nil {
req.Raw().Header["Content-MD5"] = []string{base64.StdEncoding.EncodeToString(options.TransactionalContentMD5)}
}
- if options != nil && options.TransactionalContentCRC64 != nil {
- req.Raw().Header["x-ms-content-crc64"] = []string{base64.StdEncoding.EncodeToString(options.TransactionalContentCRC64)}
- }
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
+ if options != nil && options.TransactionalContentCRC64 != nil {
+ req.Raw().Header["x-ms-content-crc64"] = []string{base64.StdEncoding.EncodeToString(options.TransactionalContentCRC64)}
+ }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if err := runtime.MarshalAsXML(req, tags); err != nil {
return nil, err
}
@@ -2670,7 +2711,7 @@ func (client *BlobClient) setTagsHandleResponse(resp *http.Response) (BlobClient
// storage type. This operation does not update the blob's ETag.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - tier - Indicates the tier to be set on the blob.
// - options - BlobClientSetTierOptions contains the optional parameters for the BlobClient.SetTier method.
// - LeaseAccessConditions - LeaseAccessConditions contains a group of parameters for the ContainerClient.GetProperties method.
@@ -2704,28 +2745,28 @@ func (client *BlobClient) setTierCreateRequest(ctx context.Context, tier AccessT
if options != nil && options.Snapshot != nil {
reqQP.Set("snapshot", *options.Snapshot)
}
- if options != nil && options.VersionID != nil {
- reqQP.Set("versionid", *options.VersionID)
- }
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
+ if options != nil && options.VersionID != nil {
+ reqQP.Set("versionid", *options.VersionID)
+ }
req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/xml"}
req.Raw().Header["x-ms-access-tier"] = []string{string(tier)}
- if options != nil && options.RehydratePriority != nil {
- req.Raw().Header["x-ms-rehydrate-priority"] = []string{string(*options.RehydratePriority)}
- }
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
+ req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
+ }
if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
- req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
+ if options != nil && options.RehydratePriority != nil {
+ req.Raw().Header["x-ms-rehydrate-priority"] = []string{string(*options.RehydratePriority)}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -2747,7 +2788,7 @@ func (client *BlobClient) setTierHandleResponse(resp *http.Response) (BlobClient
// StartCopyFromURL - The Start Copy From URL operation copies a blob or an internet resource to a new blob.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - copySource - Specifies the name of the source page blob snapshot. This value is a URL of up to 2 KB in length that specifies
// a page blob snapshot. The value should be URL-encoded as it would appear in a request
// URI. The source blob must either be public or must be authenticated via a shared access signature.
@@ -2785,6 +2826,41 @@ func (client *BlobClient) startCopyFromURLCreateRequest(ctx context.Context, cop
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
+ req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if options != nil && options.Tier != nil {
+ req.Raw().Header["x-ms-access-tier"] = []string{string(*options.Tier)}
+ }
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ }
+ req.Raw().Header["x-ms-copy-source"] = []string{copySource}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
+ req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
+ }
+ if options != nil && options.ImmutabilityPolicyMode != nil {
+ req.Raw().Header["x-ms-immutability-policy-mode"] = []string{string(*options.ImmutabilityPolicyMode)}
+ }
+ if options != nil && options.ImmutabilityPolicyExpiry != nil {
+ req.Raw().Header["x-ms-immutability-policy-until-date"] = []string{(*options.ImmutabilityPolicyExpiry).In(gmt).Format(time.RFC1123)}
+ }
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ }
+ if options != nil && options.LegalHold != nil {
+ req.Raw().Header["x-ms-legal-hold"] = []string{strconv.FormatBool(*options.LegalHold)}
+ }
if options != nil && options.Metadata != nil {
for k, v := range options.Metadata {
if v != nil {
@@ -2792,66 +2868,31 @@ func (client *BlobClient) startCopyFromURLCreateRequest(ctx context.Context, cop
}
}
}
- if options != nil && options.Tier != nil {
- req.Raw().Header["x-ms-access-tier"] = []string{string(*options.Tier)}
- }
if options != nil && options.RehydratePriority != nil {
req.Raw().Header["x-ms-rehydrate-priority"] = []string{string(*options.RehydratePriority)}
}
- if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfModifiedSince != nil {
- req.Raw().Header["x-ms-source-if-modified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfModifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfUnmodifiedSince != nil {
- req.Raw().Header["x-ms-source-if-unmodified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ if options != nil && options.SealBlob != nil {
+ req.Raw().Header["x-ms-seal-blob"] = []string{strconv.FormatBool(*options.SealBlob)}
}
if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfMatch != nil {
req.Raw().Header["x-ms-source-if-match"] = []string{string(*sourceModifiedAccessConditions.SourceIfMatch)}
}
+ if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfModifiedSince != nil {
+ req.Raw().Header["x-ms-source-if-modified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfNoneMatch != nil {
req.Raw().Header["x-ms-source-if-none-match"] = []string{string(*sourceModifiedAccessConditions.SourceIfNoneMatch)}
}
if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfTags != nil {
req.Raw().Header["x-ms-source-if-tags"] = []string{*sourceModifiedAccessConditions.SourceIfTags}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
- req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
- req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
- }
- req.Raw().Header["x-ms-copy-source"] = []string{copySource}
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
- }
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfUnmodifiedSince != nil {
+ req.Raw().Header["x-ms-source-if-unmodified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
if options != nil && options.BlobTagsString != nil {
req.Raw().Header["x-ms-tags"] = []string{*options.BlobTagsString}
}
- if options != nil && options.SealBlob != nil {
- req.Raw().Header["x-ms-seal-blob"] = []string{strconv.FormatBool(*options.SealBlob)}
- }
- if options != nil && options.ImmutabilityPolicyExpiry != nil {
- req.Raw().Header["x-ms-immutability-policy-until-date"] = []string{(*options.ImmutabilityPolicyExpiry).In(gmt).Format(time.RFC1123)}
- }
- if options != nil && options.ImmutabilityPolicyMode != nil {
- req.Raw().Header["x-ms-immutability-policy-mode"] = []string{string(*options.ImmutabilityPolicyMode)}
- }
- if options != nil && options.LegalHold != nil {
- req.Raw().Header["x-ms-legal-hold"] = []string{strconv.FormatBool(*options.LegalHold)}
- }
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -2899,7 +2940,7 @@ func (client *BlobClient) startCopyFromURLHandleResponse(resp *http.Response) (B
// Undelete - Undelete a blob that was previously soft deleted
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - BlobClientUndeleteOptions contains the optional parameters for the BlobClient.Undelete method.
func (client *BlobClient) Undelete(ctx context.Context, options *BlobClientUndeleteOptions) (BlobClientUndeleteResponse, error) {
var err error
@@ -2931,11 +2972,11 @@ func (client *BlobClient) undeleteCreateRequest(ctx context.Context, options *Bl
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_blockblob_client.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_blockblob_client.go
index b6115b50a6566..324db7651d160 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_blockblob_client.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_blockblob_client.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
@@ -36,7 +33,7 @@ type BlockBlobClient struct {
// belong to.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - blocks - Blob Blocks.
// - options - BlockBlobClientCommitBlockListOptions contains the optional parameters for the BlockBlobClient.CommitBlockList
// method.
@@ -75,11 +72,30 @@ func (client *BlockBlobClient) commitBlockListCreateRequest(ctx context.Context,
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if options != nil && options.TransactionalContentMD5 != nil {
+ req.Raw().Header["Content-MD5"] = []string{base64.StdEncoding.EncodeToString(options.TransactionalContentMD5)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
+ req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if options != nil && options.Tier != nil {
+ req.Raw().Header["x-ms-access-tier"] = []string{string(*options.Tier)}
+ }
if blobHTTPHeaders != nil && blobHTTPHeaders.BlobCacheControl != nil {
req.Raw().Header["x-ms-blob-cache-control"] = []string{*blobHTTPHeaders.BlobCacheControl}
}
- if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentType != nil {
- req.Raw().Header["x-ms-blob-content-type"] = []string{*blobHTTPHeaders.BlobContentType}
+ if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentDisposition != nil {
+ req.Raw().Header["x-ms-blob-content-disposition"] = []string{*blobHTTPHeaders.BlobContentDisposition}
}
if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentEncoding != nil {
req.Raw().Header["x-ms-blob-content-encoding"] = []string{*blobHTTPHeaders.BlobContentEncoding}
@@ -90,24 +106,17 @@ func (client *BlockBlobClient) commitBlockListCreateRequest(ctx context.Context,
if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentMD5 != nil {
req.Raw().Header["x-ms-blob-content-md5"] = []string{base64.StdEncoding.EncodeToString(blobHTTPHeaders.BlobContentMD5)}
}
- if options != nil && options.TransactionalContentMD5 != nil {
- req.Raw().Header["Content-MD5"] = []string{base64.StdEncoding.EncodeToString(options.TransactionalContentMD5)}
+ if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentType != nil {
+ req.Raw().Header["x-ms-blob-content-type"] = []string{*blobHTTPHeaders.BlobContentType}
+ }
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
if options != nil && options.TransactionalContentCRC64 != nil {
req.Raw().Header["x-ms-content-crc64"] = []string{base64.StdEncoding.EncodeToString(options.TransactionalContentCRC64)}
}
- if options != nil && options.Metadata != nil {
- for k, v := range options.Metadata {
- if v != nil {
- req.Raw().Header["x-ms-meta-"+k] = []string{*v}
- }
- }
- }
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
- }
- if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentDisposition != nil {
- req.Raw().Header["x-ms-blob-content-disposition"] = []string{*blobHTTPHeaders.BlobContentDisposition}
+ if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
+ req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
}
if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
@@ -115,47 +124,35 @@ func (client *BlockBlobClient) commitBlockListCreateRequest(ctx context.Context,
if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
}
- if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
- req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
- }
if cpkScopeInfo != nil && cpkScopeInfo.EncryptionScope != nil {
req.Raw().Header["x-ms-encryption-scope"] = []string{*cpkScopeInfo.EncryptionScope}
}
- if options != nil && options.Tier != nil {
- req.Raw().Header["x-ms-access-tier"] = []string{string(*options.Tier)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
- req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
- }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
- }
- if options != nil && options.BlobTagsString != nil {
- req.Raw().Header["x-ms-tags"] = []string{*options.BlobTagsString}
+ if options != nil && options.ImmutabilityPolicyMode != nil {
+ req.Raw().Header["x-ms-immutability-policy-mode"] = []string{string(*options.ImmutabilityPolicyMode)}
}
if options != nil && options.ImmutabilityPolicyExpiry != nil {
req.Raw().Header["x-ms-immutability-policy-until-date"] = []string{(*options.ImmutabilityPolicyExpiry).In(gmt).Format(time.RFC1123)}
}
- if options != nil && options.ImmutabilityPolicyMode != nil {
- req.Raw().Header["x-ms-immutability-policy-mode"] = []string{string(*options.ImmutabilityPolicyMode)}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
if options != nil && options.LegalHold != nil {
req.Raw().Header["x-ms-legal-hold"] = []string{strconv.FormatBool(*options.LegalHold)}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ if options != nil && options.Metadata != nil {
+ for k, v := range options.Metadata {
+ if v != nil {
+ req.Raw().Header["x-ms-meta-"+k] = []string{*v}
+ }
+ }
+ }
+ if options != nil && options.BlobTagsString != nil {
+ req.Raw().Header["x-ms-tags"] = []string{*options.BlobTagsString}
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if err := runtime.MarshalAsXML(req, blocks); err != nil {
return nil, err
}
@@ -227,7 +224,7 @@ func (client *BlockBlobClient) commitBlockListHandleResponse(resp *http.Response
// GetBlockList - The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block blob
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - listType - Specifies whether to return the list of committed blocks, the list of uncommitted blocks, or both lists together.
// - options - BlockBlobClientGetBlockListOptions contains the optional parameters for the BlockBlobClient.GetBlockList method.
// - LeaseAccessConditions - LeaseAccessConditions contains a group of parameters for the ContainerClient.GetProperties method.
@@ -257,26 +254,26 @@ func (client *BlockBlobClient) getBlockListCreateRequest(ctx context.Context, li
return nil, err
}
reqQP := req.Raw().URL.Query()
+ reqQP.Set("blocklisttype", string(listType))
reqQP.Set("comp", "blocklist")
if options != nil && options.Snapshot != nil {
reqQP.Set("snapshot", *options.Snapshot)
}
- reqQP.Set("blocklisttype", string(listType))
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -332,7 +329,7 @@ func (client *BlockBlobClient) getBlockListHandleResponse(resp *http.Response) (
// Block from URL API in conjunction with Put Block List.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - contentLength - The length of the request.
// - copySource - Specifies the name of the source page blob snapshot. This value is a URL of up to 2 KB in length that specifies
// a page blob snapshot. The value should be URL-encoded as it would appear in a request
@@ -375,13 +372,31 @@ func (client *BlockBlobClient) putBlobFromURLCreateRequest(ctx context.Context,
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-blob-type"] = []string{"BlockBlob"}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["Content-Length"] = []string{strconv.FormatInt(contentLength, 10)}
if options != nil && options.TransactionalContentMD5 != nil {
req.Raw().Header["Content-MD5"] = []string{base64.StdEncoding.EncodeToString(options.TransactionalContentMD5)}
}
- req.Raw().Header["Content-Length"] = []string{strconv.FormatInt(contentLength, 10)}
- if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentType != nil {
- req.Raw().Header["x-ms-blob-content-type"] = []string{*blobHTTPHeaders.BlobContentType}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
+ req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if options != nil && options.Tier != nil {
+ req.Raw().Header["x-ms-access-tier"] = []string{string(*options.Tier)}
+ }
+ if blobHTTPHeaders != nil && blobHTTPHeaders.BlobCacheControl != nil {
+ req.Raw().Header["x-ms-blob-cache-control"] = []string{*blobHTTPHeaders.BlobCacheControl}
+ }
+ if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentDisposition != nil {
+ req.Raw().Header["x-ms-blob-content-disposition"] = []string{*blobHTTPHeaders.BlobContentDisposition}
}
if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentEncoding != nil {
req.Raw().Header["x-ms-blob-content-encoding"] = []string{*blobHTTPHeaders.BlobContentEncoding}
@@ -392,21 +407,25 @@ func (client *BlockBlobClient) putBlobFromURLCreateRequest(ctx context.Context,
if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentMD5 != nil {
req.Raw().Header["x-ms-blob-content-md5"] = []string{base64.StdEncoding.EncodeToString(blobHTTPHeaders.BlobContentMD5)}
}
- if blobHTTPHeaders != nil && blobHTTPHeaders.BlobCacheControl != nil {
- req.Raw().Header["x-ms-blob-cache-control"] = []string{*blobHTTPHeaders.BlobCacheControl}
+ if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentType != nil {
+ req.Raw().Header["x-ms-blob-content-type"] = []string{*blobHTTPHeaders.BlobContentType}
}
- if options != nil && options.Metadata != nil {
- for k, v := range options.Metadata {
- if v != nil {
- req.Raw().Header["x-ms-meta-"+k] = []string{*v}
- }
- }
+ req.Raw().Header["x-ms-blob-type"] = []string{"BlockBlob"}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ req.Raw().Header["x-ms-copy-source"] = []string{copySource}
+ if options != nil && options.CopySourceAuthorization != nil {
+ req.Raw().Header["x-ms-copy-source-authorization"] = []string{*options.CopySourceAuthorization}
}
- if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentDisposition != nil {
- req.Raw().Header["x-ms-blob-content-disposition"] = []string{*blobHTTPHeaders.BlobContentDisposition}
+ if options != nil && options.CopySourceBlobProperties != nil {
+ req.Raw().Header["x-ms-copy-source-blob-properties"] = []string{strconv.FormatBool(*options.CopySourceBlobProperties)}
+ }
+ if options != nil && options.CopySourceTags != nil {
+ req.Raw().Header["x-ms-copy-source-tag-option"] = []string{string(*options.CopySourceTags)}
+ }
+ if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
+ req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
}
if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
@@ -414,66 +433,44 @@ func (client *BlockBlobClient) putBlobFromURLCreateRequest(ctx context.Context,
if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
}
- if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
- req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
- }
if cpkScopeInfo != nil && cpkScopeInfo.EncryptionScope != nil {
req.Raw().Header["x-ms-encryption-scope"] = []string{*cpkScopeInfo.EncryptionScope}
}
- if options != nil && options.Tier != nil {
- req.Raw().Header["x-ms-access-tier"] = []string{string(*options.Tier)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
- req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
- }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfModifiedSince != nil {
- req.Raw().Header["x-ms-source-if-modified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfModifiedSince).In(gmt).Format(time.RFC1123)}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfUnmodifiedSince != nil {
- req.Raw().Header["x-ms-source-if-unmodified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ if options != nil && options.Metadata != nil {
+ for k, v := range options.Metadata {
+ if v != nil {
+ req.Raw().Header["x-ms-meta-"+k] = []string{*v}
+ }
+ }
+ }
+ if options != nil && options.SourceContentMD5 != nil {
+ req.Raw().Header["x-ms-source-content-md5"] = []string{base64.StdEncoding.EncodeToString(options.SourceContentMD5)}
}
if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfMatch != nil {
req.Raw().Header["x-ms-source-if-match"] = []string{string(*sourceModifiedAccessConditions.SourceIfMatch)}
}
+ if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfModifiedSince != nil {
+ req.Raw().Header["x-ms-source-if-modified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfNoneMatch != nil {
req.Raw().Header["x-ms-source-if-none-match"] = []string{string(*sourceModifiedAccessConditions.SourceIfNoneMatch)}
}
if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfTags != nil {
req.Raw().Header["x-ms-source-if-tags"] = []string{*sourceModifiedAccessConditions.SourceIfTags}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
- }
- if options != nil && options.SourceContentMD5 != nil {
- req.Raw().Header["x-ms-source-content-md5"] = []string{base64.StdEncoding.EncodeToString(options.SourceContentMD5)}
+ if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfUnmodifiedSince != nil {
+ req.Raw().Header["x-ms-source-if-unmodified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
if options != nil && options.BlobTagsString != nil {
req.Raw().Header["x-ms-tags"] = []string{*options.BlobTagsString}
}
- req.Raw().Header["x-ms-copy-source"] = []string{copySource}
- if options != nil && options.CopySourceBlobProperties != nil {
- req.Raw().Header["x-ms-copy-source-blob-properties"] = []string{strconv.FormatBool(*options.CopySourceBlobProperties)}
- }
- if options != nil && options.CopySourceAuthorization != nil {
- req.Raw().Header["x-ms-copy-source-authorization"] = []string{*options.CopySourceAuthorization}
- }
- if options != nil && options.CopySourceTags != nil {
- req.Raw().Header["x-ms-copy-source-tag-option"] = []string{string(*options.CopySourceTags)}
- }
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -535,7 +532,7 @@ func (client *BlockBlobClient) putBlobFromURLHandleResponse(resp *http.Response)
// StageBlock - The Stage Block operation creates a new block to be committed as part of a blob
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - blockID - A valid Base64 string value that identifies the block. Prior to encoding, the string must be less than or equal
// to 64 bytes in size. For a given blob, the length of the value specified for the blockid
// parameter must be the same size for each block.
@@ -570,21 +567,25 @@ func (client *BlockBlobClient) stageBlockCreateRequest(ctx context.Context, bloc
return nil, err
}
reqQP := req.Raw().URL.Query()
- reqQP.Set("comp", "block")
reqQP.Set("blockid", blockID)
+ reqQP.Set("comp", "block")
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/xml"}
req.Raw().Header["Content-Length"] = []string{strconv.FormatInt(contentLength, 10)}
if options != nil && options.TransactionalContentMD5 != nil {
req.Raw().Header["Content-MD5"] = []string{base64.StdEncoding.EncodeToString(options.TransactionalContentMD5)}
}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ }
if options != nil && options.TransactionalContentCRC64 != nil {
req.Raw().Header["x-ms-content-crc64"] = []string{base64.StdEncoding.EncodeToString(options.TransactionalContentCRC64)}
}
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
+ req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
}
if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
@@ -592,17 +593,19 @@ func (client *BlockBlobClient) stageBlockCreateRequest(ctx context.Context, bloc
if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
}
- if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
- req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
- }
if cpkScopeInfo != nil && cpkScopeInfo.EncryptionScope != nil {
req.Raw().Header["x-ms-encryption-scope"] = []string{*cpkScopeInfo.EncryptionScope}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ if options != nil && options.StructuredBodyType != nil {
+ req.Raw().Header["x-ms-structured-body"] = []string{*options.StructuredBodyType}
+ }
+ if options != nil && options.StructuredContentLength != nil {
+ req.Raw().Header["x-ms-structured-content-length"] = []string{strconv.FormatInt(*options.StructuredContentLength, 10)}
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if err := req.SetBody(body, "application/octet-stream"); err != nil {
return nil, err
}
@@ -652,6 +655,9 @@ func (client *BlockBlobClient) stageBlockHandleResponse(resp *http.Response) (Bl
if val := resp.Header.Get("x-ms-request-id"); val != "" {
result.RequestID = &val
}
+ if val := resp.Header.Get("x-ms-structured-body"); val != "" {
+ result.StructuredBodyType = &val
+ }
if val := resp.Header.Get("x-ms-version"); val != "" {
result.Version = &val
}
@@ -662,7 +668,7 @@ func (client *BlockBlobClient) stageBlockHandleResponse(resp *http.Response) (Bl
// are read from a URL.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - blockID - A valid Base64 string value that identifies the block. Prior to encoding, the string must be less than or equal
// to 64 bytes in size. For a given blob, the length of the value specified for the blockid
// parameter must be the same size for each block.
@@ -700,22 +706,23 @@ func (client *BlockBlobClient) stageBlockFromURLCreateRequest(ctx context.Contex
return nil, err
}
reqQP := req.Raw().URL.Query()
- reqQP.Set("comp", "block")
reqQP.Set("blockid", blockID)
+ reqQP.Set("comp", "block")
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/xml"}
req.Raw().Header["Content-Length"] = []string{strconv.FormatInt(contentLength, 10)}
- req.Raw().Header["x-ms-copy-source"] = []string{sourceURL}
- if options != nil && options.SourceRange != nil {
- req.Raw().Header["x-ms-source-range"] = []string{*options.SourceRange}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- if options != nil && options.SourceContentMD5 != nil {
- req.Raw().Header["x-ms-source-content-md5"] = []string{base64.StdEncoding.EncodeToString(options.SourceContentMD5)}
+ req.Raw().Header["x-ms-copy-source"] = []string{sourceURL}
+ if options != nil && options.CopySourceAuthorization != nil {
+ req.Raw().Header["x-ms-copy-source-authorization"] = []string{*options.CopySourceAuthorization}
}
- if options != nil && options.SourceContentcrc64 != nil {
- req.Raw().Header["x-ms-source-content-crc64"] = []string{base64.StdEncoding.EncodeToString(options.SourceContentcrc64)}
+ if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
+ req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
}
if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
@@ -723,35 +730,34 @@ func (client *BlockBlobClient) stageBlockFromURLCreateRequest(ctx context.Contex
if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
}
- if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
- req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
- }
if cpkScopeInfo != nil && cpkScopeInfo.EncryptionScope != nil {
req.Raw().Header["x-ms-encryption-scope"] = []string{*cpkScopeInfo.EncryptionScope}
}
if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfModifiedSince != nil {
- req.Raw().Header["x-ms-source-if-modified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfModifiedSince).In(gmt).Format(time.RFC1123)}
+ if options != nil && options.SourceContentcrc64 != nil {
+ req.Raw().Header["x-ms-source-content-crc64"] = []string{base64.StdEncoding.EncodeToString(options.SourceContentcrc64)}
}
- if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfUnmodifiedSince != nil {
- req.Raw().Header["x-ms-source-if-unmodified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ if options != nil && options.SourceContentMD5 != nil {
+ req.Raw().Header["x-ms-source-content-md5"] = []string{base64.StdEncoding.EncodeToString(options.SourceContentMD5)}
}
if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfMatch != nil {
req.Raw().Header["x-ms-source-if-match"] = []string{string(*sourceModifiedAccessConditions.SourceIfMatch)}
}
+ if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfModifiedSince != nil {
+ req.Raw().Header["x-ms-source-if-modified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfNoneMatch != nil {
req.Raw().Header["x-ms-source-if-none-match"] = []string{string(*sourceModifiedAccessConditions.SourceIfNoneMatch)}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfUnmodifiedSince != nil {
+ req.Raw().Header["x-ms-source-if-unmodified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- if options != nil && options.CopySourceAuthorization != nil {
- req.Raw().Header["x-ms-copy-source-authorization"] = []string{*options.CopySourceAuthorization}
+ if options != nil && options.SourceRange != nil {
+ req.Raw().Header["x-ms-source-range"] = []string{*options.SourceRange}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -810,7 +816,7 @@ func (client *BlockBlobClient) stageBlockFromURLHandleResponse(resp *http.Respon
// the content of a block blob, use the Put Block List operation.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - contentLength - The length of the request.
// - body - Initial data
// - options - BlockBlobClientUploadOptions contains the optional parameters for the BlockBlobClient.Upload method.
@@ -848,13 +854,31 @@ func (client *BlockBlobClient) uploadCreateRequest(ctx context.Context, contentL
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-blob-type"] = []string{"BlockBlob"}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["Content-Length"] = []string{strconv.FormatInt(contentLength, 10)}
if options != nil && options.TransactionalContentMD5 != nil {
req.Raw().Header["Content-MD5"] = []string{base64.StdEncoding.EncodeToString(options.TransactionalContentMD5)}
}
- req.Raw().Header["Content-Length"] = []string{strconv.FormatInt(contentLength, 10)}
- if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentType != nil {
- req.Raw().Header["x-ms-blob-content-type"] = []string{*blobHTTPHeaders.BlobContentType}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
+ req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if options != nil && options.Tier != nil {
+ req.Raw().Header["x-ms-access-tier"] = []string{string(*options.Tier)}
+ }
+ if blobHTTPHeaders != nil && blobHTTPHeaders.BlobCacheControl != nil {
+ req.Raw().Header["x-ms-blob-cache-control"] = []string{*blobHTTPHeaders.BlobCacheControl}
+ }
+ if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentDisposition != nil {
+ req.Raw().Header["x-ms-blob-content-disposition"] = []string{*blobHTTPHeaders.BlobContentDisposition}
}
if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentEncoding != nil {
req.Raw().Header["x-ms-blob-content-encoding"] = []string{*blobHTTPHeaders.BlobContentEncoding}
@@ -865,21 +889,18 @@ func (client *BlockBlobClient) uploadCreateRequest(ctx context.Context, contentL
if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentMD5 != nil {
req.Raw().Header["x-ms-blob-content-md5"] = []string{base64.StdEncoding.EncodeToString(blobHTTPHeaders.BlobContentMD5)}
}
- if blobHTTPHeaders != nil && blobHTTPHeaders.BlobCacheControl != nil {
- req.Raw().Header["x-ms-blob-cache-control"] = []string{*blobHTTPHeaders.BlobCacheControl}
+ if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentType != nil {
+ req.Raw().Header["x-ms-blob-content-type"] = []string{*blobHTTPHeaders.BlobContentType}
}
- if options != nil && options.Metadata != nil {
- for k, v := range options.Metadata {
- if v != nil {
- req.Raw().Header["x-ms-meta-"+k] = []string{*v}
- }
- }
+ req.Raw().Header["x-ms-blob-type"] = []string{"BlockBlob"}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ if options != nil && options.TransactionalContentCRC64 != nil {
+ req.Raw().Header["x-ms-content-crc64"] = []string{base64.StdEncoding.EncodeToString(options.TransactionalContentCRC64)}
}
- if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentDisposition != nil {
- req.Raw().Header["x-ms-blob-content-disposition"] = []string{*blobHTTPHeaders.BlobContentDisposition}
+ if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
+ req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
}
if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
@@ -887,50 +908,41 @@ func (client *BlockBlobClient) uploadCreateRequest(ctx context.Context, contentL
if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
}
- if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
- req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
- }
if cpkScopeInfo != nil && cpkScopeInfo.EncryptionScope != nil {
req.Raw().Header["x-ms-encryption-scope"] = []string{*cpkScopeInfo.EncryptionScope}
}
- if options != nil && options.Tier != nil {
- req.Raw().Header["x-ms-access-tier"] = []string{string(*options.Tier)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
- req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
- }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
- }
- if options != nil && options.BlobTagsString != nil {
- req.Raw().Header["x-ms-tags"] = []string{*options.BlobTagsString}
+ if options != nil && options.ImmutabilityPolicyMode != nil {
+ req.Raw().Header["x-ms-immutability-policy-mode"] = []string{string(*options.ImmutabilityPolicyMode)}
}
if options != nil && options.ImmutabilityPolicyExpiry != nil {
req.Raw().Header["x-ms-immutability-policy-until-date"] = []string{(*options.ImmutabilityPolicyExpiry).In(gmt).Format(time.RFC1123)}
}
- if options != nil && options.ImmutabilityPolicyMode != nil {
- req.Raw().Header["x-ms-immutability-policy-mode"] = []string{string(*options.ImmutabilityPolicyMode)}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
if options != nil && options.LegalHold != nil {
req.Raw().Header["x-ms-legal-hold"] = []string{strconv.FormatBool(*options.LegalHold)}
}
- if options != nil && options.TransactionalContentCRC64 != nil {
- req.Raw().Header["x-ms-content-crc64"] = []string{base64.StdEncoding.EncodeToString(options.TransactionalContentCRC64)}
+ if options != nil && options.Metadata != nil {
+ for k, v := range options.Metadata {
+ if v != nil {
+ req.Raw().Header["x-ms-meta-"+k] = []string{*v}
+ }
+ }
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ if options != nil && options.StructuredBodyType != nil {
+ req.Raw().Header["x-ms-structured-body"] = []string{*options.StructuredBodyType}
+ }
+ if options != nil && options.StructuredContentLength != nil {
+ req.Raw().Header["x-ms-structured-content-length"] = []string{strconv.FormatInt(*options.StructuredContentLength, 10)}
+ }
+ if options != nil && options.BlobTagsString != nil {
+ req.Raw().Header["x-ms-tags"] = []string{*options.BlobTagsString}
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if err := req.SetBody(body, "application/octet-stream"); err != nil {
return nil, err
}
@@ -943,6 +955,13 @@ func (client *BlockBlobClient) uploadHandleResponse(resp *http.Response) (BlockB
if val := resp.Header.Get("x-ms-client-request-id"); val != "" {
result.ClientRequestID = &val
}
+ if val := resp.Header.Get("x-ms-content-crc64"); val != "" {
+ contentCRC64, err := base64.StdEncoding.DecodeString(val)
+ if err != nil {
+ return BlockBlobClientUploadResponse{}, err
+ }
+ result.ContentCRC64 = contentCRC64
+ }
if val := resp.Header.Get("Content-MD5"); val != "" {
contentMD5, err := base64.StdEncoding.DecodeString(val)
if err != nil {
@@ -983,6 +1002,9 @@ func (client *BlockBlobClient) uploadHandleResponse(resp *http.Response) (BlockB
if val := resp.Header.Get("x-ms-request-id"); val != "" {
result.RequestID = &val
}
+ if val := resp.Header.Get("x-ms-structured-body"); val != "" {
+ result.StructuredBodyType = &val
+ }
if val := resp.Header.Get("x-ms-version"); val != "" {
result.Version = &val
}
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_constants.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_constants.go
index 95af9e15447dc..48724a4ce4118 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_constants.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_constants.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
@@ -346,6 +343,7 @@ const (
ListBlobsIncludeItemImmutabilitypolicy ListBlobsIncludeItem = "immutabilitypolicy"
ListBlobsIncludeItemLegalhold ListBlobsIncludeItem = "legalhold"
ListBlobsIncludeItemMetadata ListBlobsIncludeItem = "metadata"
+ ListBlobsIncludeItemPermissions ListBlobsIncludeItem = "permissions"
ListBlobsIncludeItemSnapshots ListBlobsIncludeItem = "snapshots"
ListBlobsIncludeItemTags ListBlobsIncludeItem = "tags"
ListBlobsIncludeItemUncommittedblobs ListBlobsIncludeItem = "uncommittedblobs"
@@ -361,6 +359,7 @@ func PossibleListBlobsIncludeItemValues() []ListBlobsIncludeItem {
ListBlobsIncludeItemImmutabilitypolicy,
ListBlobsIncludeItemLegalhold,
ListBlobsIncludeItemMetadata,
+ ListBlobsIncludeItemPermissions,
ListBlobsIncludeItemSnapshots,
ListBlobsIncludeItemTags,
ListBlobsIncludeItemUncommittedblobs,
@@ -523,6 +522,7 @@ const (
StorageErrorCodeAuthorizationResourceTypeMismatch StorageErrorCode = "AuthorizationResourceTypeMismatch"
StorageErrorCodeAuthorizationServiceMismatch StorageErrorCode = "AuthorizationServiceMismatch"
StorageErrorCodeAuthorizationSourceIPMismatch StorageErrorCode = "AuthorizationSourceIPMismatch"
+ StorageErrorCodeBlobAccessTierNotSupportedForAccountType StorageErrorCode = "BlobAccessTierNotSupportedForAccountType"
StorageErrorCodeBlobAlreadyExists StorageErrorCode = "BlobAlreadyExists"
StorageErrorCodeBlobArchived StorageErrorCode = "BlobArchived"
StorageErrorCodeBlobBeingRehydrated StorageErrorCode = "BlobBeingRehydrated"
@@ -641,6 +641,7 @@ func PossibleStorageErrorCodeValues() []StorageErrorCode {
StorageErrorCodeAuthorizationResourceTypeMismatch,
StorageErrorCodeAuthorizationServiceMismatch,
StorageErrorCodeAuthorizationSourceIPMismatch,
+ StorageErrorCodeBlobAccessTierNotSupportedForAccountType,
StorageErrorCodeBlobAlreadyExists,
StorageErrorCodeBlobArchived,
StorageErrorCodeBlobBeingRehydrated,
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_container_client.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_container_client.go
index dbc2a293ec671..61ddc6695cb6f 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_container_client.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_container_client.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
@@ -34,7 +31,7 @@ type ContainerClient struct {
// to 60 seconds, or can be infinite
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - duration - Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite
// lease can be between 15 and 60 seconds. A lease duration cannot be changed using
// renew or change.
@@ -70,23 +67,23 @@ func (client *ContainerClient) acquireLeaseCreateRequest(ctx context.Context, du
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-lease-action"] = []string{"acquire"}
- req.Raw().Header["x-ms-lease-duration"] = []string{strconv.FormatInt(int64(duration), 10)}
- if options != nil && options.ProposedLeaseID != nil {
- req.Raw().Header["x-ms-proposed-lease-id"] = []string{*options.ProposedLeaseID}
- }
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-lease-action"] = []string{"acquire"}
+ req.Raw().Header["x-ms-lease-duration"] = []string{strconv.FormatInt(int64(duration), 10)}
+ if options != nil && options.ProposedLeaseID != nil {
+ req.Raw().Header["x-ms-proposed-lease-id"] = []string{*options.ProposedLeaseID}
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -129,7 +126,7 @@ func (client *ContainerClient) acquireLeaseHandleResponse(resp *http.Response) (
// to 60 seconds, or can be infinite
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - ContainerClientBreakLeaseOptions contains the optional parameters for the ContainerClient.BreakLease method.
// - ModifiedAccessConditions - ModifiedAccessConditions contains a group of parameters for the ContainerClient.Delete method.
func (client *ContainerClient) BreakLease(ctx context.Context, options *ContainerClientBreakLeaseOptions, modifiedAccessConditions *ModifiedAccessConditions) (ContainerClientBreakLeaseResponse, error) {
@@ -162,22 +159,22 @@ func (client *ContainerClient) breakLeaseCreateRequest(ctx context.Context, opti
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-lease-action"] = []string{"break"}
- if options != nil && options.BreakPeriod != nil {
- req.Raw().Header["x-ms-lease-break-period"] = []string{strconv.FormatInt(int64(*options.BreakPeriod), 10)}
- }
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-lease-action"] = []string{"break"}
+ if options != nil && options.BreakPeriod != nil {
+ req.Raw().Header["x-ms-lease-break-period"] = []string{strconv.FormatInt(int64(*options.BreakPeriod), 10)}
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -225,7 +222,7 @@ func (client *ContainerClient) breakLeaseHandleResponse(resp *http.Response) (Co
// to 60 seconds, or can be infinite
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - leaseID - Specifies the current lease ID on the resource.
// - proposedLeaseID - Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed
// lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID
@@ -262,21 +259,21 @@ func (client *ContainerClient) changeLeaseCreateRequest(ctx context.Context, lea
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-lease-action"] = []string{"change"}
- req.Raw().Header["x-ms-lease-id"] = []string{leaseID}
- req.Raw().Header["x-ms-proposed-lease-id"] = []string{proposedLeaseID}
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-lease-action"] = []string{"change"}
+ req.Raw().Header["x-ms-lease-id"] = []string{leaseID}
+ req.Raw().Header["x-ms-proposed-lease-id"] = []string{proposedLeaseID}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -319,7 +316,7 @@ func (client *ContainerClient) changeLeaseHandleResponse(resp *http.Response) (C
// fails
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - ContainerClientCreateOptions contains the optional parameters for the ContainerClient.Create method.
// - ContainerCPKScopeInfo - ContainerCPKScopeInfo contains a group of parameters for the ContainerClient.Create method.
func (client *ContainerClient) Create(ctx context.Context, options *ContainerClientCreateOptions, containerCPKScopeInfo *ContainerCPKScopeInfo) (ContainerClientCreateResponse, error) {
@@ -351,18 +348,11 @@ func (client *ContainerClient) createCreateRequest(ctx context.Context, options
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- if options != nil && options.Metadata != nil {
- for k, v := range options.Metadata {
- if v != nil {
- req.Raw().Header["x-ms-meta-"+k] = []string{*v}
- }
- }
- }
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if options != nil && options.Access != nil {
req.Raw().Header["x-ms-blob-public-access"] = []string{string(*options.Access)}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
@@ -372,7 +362,14 @@ func (client *ContainerClient) createCreateRequest(ctx context.Context, options
if containerCPKScopeInfo != nil && containerCPKScopeInfo.PreventEncryptionScopeOverride != nil {
req.Raw().Header["x-ms-deny-encryption-scope-override"] = []string{strconv.FormatBool(*containerCPKScopeInfo.PreventEncryptionScopeOverride)}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ if options != nil && options.Metadata != nil {
+ for k, v := range options.Metadata {
+ if v != nil {
+ req.Raw().Header["x-ms-meta-"+k] = []string{*v}
+ }
+ }
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -412,7 +409,7 @@ func (client *ContainerClient) createHandleResponse(resp *http.Response) (Contai
// deleted during garbage collection
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - ContainerClientDeleteOptions contains the optional parameters for the ContainerClient.Delete method.
// - LeaseAccessConditions - LeaseAccessConditions contains a group of parameters for the ContainerClient.GetProperties method.
// - ModifiedAccessConditions - ModifiedAccessConditions contains a group of parameters for the ContainerClient.Delete method.
@@ -445,21 +442,21 @@ func (client *ContainerClient) deleteCreateRequest(ctx context.Context, options
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
- }
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -489,7 +486,7 @@ func (client *ContainerClient) deleteHandleResponse(resp *http.Response) (Contai
// Filter blobs searches within the given container.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - where - Filters the results to return only to return only blobs whose tags match the specified expression.
// - options - ContainerClientFilterBlobsOptions contains the optional parameters for the ContainerClient.FilterBlobs method.
func (client *ContainerClient) FilterBlobs(ctx context.Context, where string, options *ContainerClientFilterBlobsOptions) (ContainerClientFilterBlobsResponse, error) {
@@ -517,27 +514,27 @@ func (client *ContainerClient) filterBlobsCreateRequest(ctx context.Context, whe
return nil, err
}
reqQP := req.Raw().URL.Query()
- reqQP.Set("restype", "container")
reqQP.Set("comp", "blobs")
- if options != nil && options.Timeout != nil {
- reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
+ if options != nil && options.Include != nil {
+ reqQP.Set("include", strings.Join(strings.Fields(strings.Trim(fmt.Sprint(options.Include), "[]")), ","))
}
- reqQP.Set("where", where)
if options != nil && options.Marker != nil {
reqQP.Set("marker", *options.Marker)
}
if options != nil && options.Maxresults != nil {
reqQP.Set("maxresults", strconv.FormatInt(int64(*options.Maxresults), 10))
}
- if options != nil && options.Include != nil {
- reqQP.Set("include", strings.Join(strings.Fields(strings.Trim(fmt.Sprint(options.Include), "[]")), ","))
+ reqQP.Set("restype", "container")
+ if options != nil && options.Timeout != nil {
+ reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ reqQP.Set("where", where)
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -570,7 +567,7 @@ func (client *ContainerClient) filterBlobsHandleResponse(resp *http.Response) (C
// be accessed publicly.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - ContainerClientGetAccessPolicyOptions contains the optional parameters for the ContainerClient.GetAccessPolicy
// method.
// - LeaseAccessConditions - LeaseAccessConditions contains a group of parameters for the ContainerClient.GetProperties method.
@@ -599,20 +596,20 @@ func (client *ContainerClient) getAccessPolicyCreateRequest(ctx context.Context,
return nil, err
}
reqQP := req.Raw().URL.Query()
- reqQP.Set("restype", "container")
reqQP.Set("comp", "acl")
+ reqQP.Set("restype", "container")
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ }
if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
- }
- req.Raw().Header["Accept"] = []string{"application/xml"}
return req, nil
}
@@ -657,7 +654,7 @@ func (client *ContainerClient) getAccessPolicyHandleResponse(resp *http.Response
// GetAccountInfo - Returns the sku name and account kind
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - ContainerClientGetAccountInfoOptions contains the optional parameters for the ContainerClient.GetAccountInfo
// method.
func (client *ContainerClient) GetAccountInfo(ctx context.Context, options *ContainerClientGetAccountInfoOptions) (ContainerClientGetAccountInfoResponse, error) {
@@ -685,11 +682,17 @@ func (client *ContainerClient) getAccountInfoCreateRequest(ctx context.Context,
return nil, err
}
reqQP := req.Raw().URL.Query()
- reqQP.Set("restype", "account")
reqQP.Set("comp", "properties")
- req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ reqQP.Set("restype", "account")
+ if options != nil && options.Timeout != nil {
+ reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
+ }
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
req.Raw().Header["Accept"] = []string{"application/xml"}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -709,6 +712,13 @@ func (client *ContainerClient) getAccountInfoHandleResponse(resp *http.Response)
}
result.Date = &date
}
+ if val := resp.Header.Get("x-ms-is-hns-enabled"); val != "" {
+ isHierarchicalNamespaceEnabled, err := strconv.ParseBool(val)
+ if err != nil {
+ return ContainerClientGetAccountInfoResponse{}, err
+ }
+ result.IsHierarchicalNamespaceEnabled = &isHierarchicalNamespaceEnabled
+ }
if val := resp.Header.Get("x-ms-request-id"); val != "" {
result.RequestID = &val
}
@@ -725,7 +735,7 @@ func (client *ContainerClient) getAccountInfoHandleResponse(resp *http.Response)
// does not include the container's list of blobs
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - ContainerClientGetPropertiesOptions contains the optional parameters for the ContainerClient.GetProperties method.
// - LeaseAccessConditions - LeaseAccessConditions contains a group of parameters for the ContainerClient.GetProperties method.
func (client *ContainerClient) GetProperties(ctx context.Context, options *ContainerClientGetPropertiesOptions, leaseAccessConditions *LeaseAccessConditions) (ContainerClientGetPropertiesResponse, error) {
@@ -757,15 +767,15 @@ func (client *ContainerClient) getPropertiesCreateRequest(ctx context.Context, o
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ }
if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
- }
- req.Raw().Header["Accept"] = []string{"application/xml"}
return req, nil
}
@@ -854,7 +864,7 @@ func (client *ContainerClient) getPropertiesHandleResponse(resp *http.Response)
// NewListBlobFlatSegmentPager - [Update] The List Blobs operation returns a list of the blobs under the specified container
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - ContainerClientListBlobFlatSegmentOptions contains the optional parameters for the ContainerClient.NewListBlobFlatSegmentPager
// method.
//
@@ -865,10 +875,9 @@ func (client *ContainerClient) ListBlobFlatSegmentCreateRequest(ctx context.Cont
return nil, err
}
reqQP := req.Raw().URL.Query()
- reqQP.Set("restype", "container")
reqQP.Set("comp", "list")
- if options != nil && options.Prefix != nil {
- reqQP.Set("prefix", *options.Prefix)
+ if options != nil && options.Include != nil {
+ reqQP.Set("include", strings.Join(strings.Fields(strings.Trim(fmt.Sprint(options.Include), "[]")), ","))
}
if options != nil && options.Marker != nil {
reqQP.Set("marker", *options.Marker)
@@ -876,18 +885,19 @@ func (client *ContainerClient) ListBlobFlatSegmentCreateRequest(ctx context.Cont
if options != nil && options.Maxresults != nil {
reqQP.Set("maxresults", strconv.FormatInt(int64(*options.Maxresults), 10))
}
- if options != nil && options.Include != nil {
- reqQP.Set("include", strings.Join(strings.Fields(strings.Trim(fmt.Sprint(options.Include), "[]")), ","))
+ if options != nil && options.Prefix != nil {
+ reqQP.Set("prefix", *options.Prefix)
}
+ reqQP.Set("restype", "container")
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -921,7 +931,7 @@ func (client *ContainerClient) ListBlobFlatSegmentHandleResponse(resp *http.Resp
// NewListBlobHierarchySegmentPager - [Update] The List Blobs operation returns a list of the blobs under the specified container
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - delimiter - When the request includes this parameter, the operation returns a BlobPrefix element in the response body that
// acts as a placeholder for all blobs whose names begin with the same substring up to the
// appearance of the delimiter character. The delimiter may be a single character or a string.
@@ -955,30 +965,30 @@ func (client *ContainerClient) ListBlobHierarchySegmentCreateRequest(ctx context
return nil, err
}
reqQP := req.Raw().URL.Query()
- reqQP.Set("restype", "container")
reqQP.Set("comp", "list")
- if options != nil && options.Prefix != nil {
- reqQP.Set("prefix", *options.Prefix)
- }
reqQP.Set("delimiter", delimiter)
+ if options != nil && options.Include != nil {
+ reqQP.Set("include", strings.Join(strings.Fields(strings.Trim(fmt.Sprint(options.Include), "[]")), ","))
+ }
if options != nil && options.Marker != nil {
reqQP.Set("marker", *options.Marker)
}
if options != nil && options.Maxresults != nil {
reqQP.Set("maxresults", strconv.FormatInt(int64(*options.Maxresults), 10))
}
- if options != nil && options.Include != nil {
- reqQP.Set("include", strings.Join(strings.Fields(strings.Trim(fmt.Sprint(options.Include), "[]")), ","))
+ if options != nil && options.Prefix != nil {
+ reqQP.Set("prefix", *options.Prefix)
}
+ reqQP.Set("restype", "container")
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -1014,7 +1024,7 @@ func (client *ContainerClient) ListBlobHierarchySegmentHandleResponse(resp *http
// to 60 seconds, or can be infinite
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - leaseID - Specifies the current lease ID on the resource.
// - options - ContainerClientReleaseLeaseOptions contains the optional parameters for the ContainerClient.ReleaseLease method.
// - ModifiedAccessConditions - ModifiedAccessConditions contains a group of parameters for the ContainerClient.Delete method.
@@ -1048,20 +1058,20 @@ func (client *ContainerClient) releaseLeaseCreateRequest(ctx context.Context, le
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-lease-action"] = []string{"release"}
- req.Raw().Header["x-ms-lease-id"] = []string{leaseID}
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-lease-action"] = []string{"release"}
+ req.Raw().Header["x-ms-lease-id"] = []string{leaseID}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -1100,7 +1110,7 @@ func (client *ContainerClient) releaseLeaseHandleResponse(resp *http.Response) (
// Rename - Renames an existing container.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - sourceContainerName - Required. Specifies the name of the container to rename.
// - options - ContainerClientRenameOptions contains the optional parameters for the ContainerClient.Rename method.
func (client *ContainerClient) Rename(ctx context.Context, sourceContainerName string, options *ContainerClientRenameOptions) (ContainerClientRenameResponse, error) {
@@ -1128,13 +1138,13 @@ func (client *ContainerClient) renameCreateRequest(ctx context.Context, sourceCo
return nil, err
}
reqQP := req.Raw().URL.Query()
- reqQP.Set("restype", "container")
reqQP.Set("comp", "rename")
+ reqQP.Set("restype", "container")
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
@@ -1142,7 +1152,7 @@ func (client *ContainerClient) renameCreateRequest(ctx context.Context, sourceCo
if options != nil && options.SourceLeaseID != nil {
req.Raw().Header["x-ms-source-lease-id"] = []string{*options.SourceLeaseID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -1172,7 +1182,7 @@ func (client *ContainerClient) renameHandleResponse(resp *http.Response) (Contai
// to 60 seconds, or can be infinite
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - leaseID - Specifies the current lease ID on the resource.
// - options - ContainerClientRenewLeaseOptions contains the optional parameters for the ContainerClient.RenewLease method.
// - ModifiedAccessConditions - ModifiedAccessConditions contains a group of parameters for the ContainerClient.Delete method.
@@ -1206,20 +1216,20 @@ func (client *ContainerClient) renewLeaseCreateRequest(ctx context.Context, leas
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-lease-action"] = []string{"renew"}
- req.Raw().Header["x-ms-lease-id"] = []string{leaseID}
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-lease-action"] = []string{"renew"}
+ req.Raw().Header["x-ms-lease-id"] = []string{leaseID}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -1261,7 +1271,7 @@ func (client *ContainerClient) renewLeaseHandleResponse(resp *http.Response) (Co
// Restore - Restores a previously-deleted container.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - ContainerClientRestoreOptions contains the optional parameters for the ContainerClient.Restore method.
func (client *ContainerClient) Restore(ctx context.Context, options *ContainerClientRestoreOptions) (ContainerClientRestoreResponse, error) {
var err error
@@ -1288,13 +1298,13 @@ func (client *ContainerClient) restoreCreateRequest(ctx context.Context, options
return nil, err
}
reqQP := req.Raw().URL.Query()
- reqQP.Set("restype", "container")
reqQP.Set("comp", "undelete")
+ reqQP.Set("restype", "container")
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
@@ -1304,7 +1314,7 @@ func (client *ContainerClient) restoreCreateRequest(ctx context.Context, options
if options != nil && options.DeletedContainerVersion != nil {
req.Raw().Header["x-ms-deleted-container-version"] = []string{*options.DeletedContainerVersion}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -1334,7 +1344,7 @@ func (client *ContainerClient) restoreHandleResponse(resp *http.Response) (Conta
// may be accessed publicly.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - containerACL - the acls for the container
// - options - ContainerClientSetAccessPolicyOptions contains the optional parameters for the ContainerClient.SetAccessPolicy
// method.
@@ -1365,29 +1375,29 @@ func (client *ContainerClient) setAccessPolicyCreateRequest(ctx context.Context,
return nil, err
}
reqQP := req.Raw().URL.Query()
- reqQP.Set("restype", "container")
reqQP.Set("comp", "acl")
+ reqQP.Set("restype", "container")
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
- }
- if options != nil && options.Access != nil {
- req.Raw().Header["x-ms-blob-public-access"] = []string{string(*options.Access)}
- }
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ if options != nil && options.Access != nil {
+ req.Raw().Header["x-ms-blob-public-access"] = []string{string(*options.Access)}
+ }
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
type wrapper struct {
XMLName xml.Name `xml:"SignedIdentifiers"`
ContainerACL *[]*SignedIdentifier `xml:"SignedIdentifier"`
@@ -1433,7 +1443,7 @@ func (client *ContainerClient) setAccessPolicyHandleResponse(resp *http.Response
// SetMetadata - operation sets one or more user-defined name-value pairs for the specified container.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - ContainerClientSetMetadataOptions contains the optional parameters for the ContainerClient.SetMetadata method.
// - LeaseAccessConditions - LeaseAccessConditions contains a group of parameters for the ContainerClient.GetProperties method.
// - ModifiedAccessConditions - ModifiedAccessConditions contains a group of parameters for the ContainerClient.Delete method.
@@ -1462,12 +1472,19 @@ func (client *ContainerClient) setMetadataCreateRequest(ctx context.Context, opt
return nil, err
}
reqQP := req.Raw().URL.Query()
- reqQP.Set("restype", "container")
reqQP.Set("comp", "metadata")
+ reqQP.Set("restype", "container")
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
+ req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ }
if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
@@ -1478,14 +1495,7 @@ func (client *ContainerClient) setMetadataCreateRequest(ctx context.Context, opt
}
}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
- req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
- }
req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
- }
- req.Raw().Header["Accept"] = []string{"application/xml"}
return req, nil
}
@@ -1524,7 +1534,7 @@ func (client *ContainerClient) setMetadataHandleResponse(resp *http.Response) (C
// SubmitBatch - The Batch operation allows multiple API calls to be embedded into a single HTTP request.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - contentLength - The length of the request.
// - multipartContentType - Required. The value of this header must be multipart/mixed with a batch boundary. Example header
// value: multipart/mixed; boundary=batch_
@@ -1555,20 +1565,20 @@ func (client *ContainerClient) submitBatchCreateRequest(ctx context.Context, con
return nil, err
}
reqQP := req.Raw().URL.Query()
- reqQP.Set("restype", "container")
reqQP.Set("comp", "batch")
+ reqQP.Set("restype", "container")
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
runtime.SkipBodyDownload(req)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
req.Raw().Header["Content-Length"] = []string{strconv.FormatInt(contentLength, 10)}
req.Raw().Header["Content-Type"] = []string{multipartContentType}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if err := req.SetBody(body, multipartContentType); err != nil {
return nil, err
}
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_models.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_models.go
index 7251de83952bb..803b2858e8153 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_models.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_models.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
@@ -89,6 +86,9 @@ type BlobName struct {
type BlobPrefix struct {
// REQUIRED
Name *string `xml:"Name"`
+
+ // Properties of a blob
+ Properties *BlobProperties `xml:"Properties"`
}
// BlobProperties - Properties of a blob
@@ -98,6 +98,7 @@ type BlobProperties struct {
// REQUIRED
LastModified *time.Time `xml:"Last-Modified"`
+ ACL *string `xml:"Acl"`
AccessTier *AccessTier `xml:"AccessTier"`
AccessTierChangeTime *time.Time `xml:"AccessTierChangeTime"`
AccessTierInferred *bool `xml:"AccessTierInferred"`
@@ -127,6 +128,7 @@ type BlobProperties struct {
// The name of the encryption scope under which the blob is encrypted.
EncryptionScope *string `xml:"EncryptionScope"`
ExpiresOn *time.Time `xml:"Expiry-Time"`
+ Group *string `xml:"Group"`
ImmutabilityPolicyExpiresOn *time.Time `xml:"ImmutabilityPolicyUntilDate"`
ImmutabilityPolicyMode *ImmutabilityPolicyMode `xml:"ImmutabilityPolicyMode"`
IncrementalCopy *bool `xml:"IncrementalCopy"`
@@ -136,11 +138,14 @@ type BlobProperties struct {
LeaseState *LeaseStateType `xml:"LeaseState"`
LeaseStatus *LeaseStatusType `xml:"LeaseStatus"`
LegalHold *bool `xml:"LegalHold"`
+ Owner *string `xml:"Owner"`
+ Permissions *string `xml:"Permissions"`
// If an object is in rehydrate pending state then this header is returned with priority of rehydrate. Valid values are High
// and Standard.
RehydratePriority *RehydratePriority `xml:"RehydratePriority"`
RemainingRetentionDays *int32 `xml:"RemainingRetentionDays"`
+ ResourceType *string `xml:"ResourceType"`
ServerEncrypted *bool `xml:"ServerEncrypted"`
TagCount *int32 `xml:"TagCount"`
}
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_models_serde.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_models_serde.go
index 7e094db8730dc..e2e64d6fffe97 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_models_serde.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_models_serde.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
@@ -46,8 +43,12 @@ func (a *AccessPolicy) UnmarshalXML(dec *xml.Decoder, start xml.StartElement) er
if err := dec.DecodeElement(aux, &start); err != nil {
return err
}
- a.Expiry = (*time.Time)(aux.Expiry)
- a.Start = (*time.Time)(aux.Start)
+ if aux.Expiry != nil && !(*time.Time)(aux.Expiry).IsZero() {
+ a.Expiry = (*time.Time)(aux.Expiry)
+ }
+ if aux.Start != nil && !(*time.Time)(aux.Start).IsZero() {
+ a.Start = (*time.Time)(aux.Start)
+ }
return nil
}
@@ -152,19 +153,35 @@ func (b *BlobProperties) UnmarshalXML(dec *xml.Decoder, start xml.StartElement)
if err := dec.DecodeElement(aux, &start); err != nil {
return err
}
- b.AccessTierChangeTime = (*time.Time)(aux.AccessTierChangeTime)
+ if aux.AccessTierChangeTime != nil && !(*time.Time)(aux.AccessTierChangeTime).IsZero() {
+ b.AccessTierChangeTime = (*time.Time)(aux.AccessTierChangeTime)
+ }
if aux.ContentMD5 != nil {
if err := runtime.DecodeByteArray(*aux.ContentMD5, &b.ContentMD5, runtime.Base64StdFormat); err != nil {
return err
}
}
- b.CopyCompletionTime = (*time.Time)(aux.CopyCompletionTime)
- b.CreationTime = (*time.Time)(aux.CreationTime)
- b.DeletedTime = (*time.Time)(aux.DeletedTime)
- b.ExpiresOn = (*time.Time)(aux.ExpiresOn)
- b.ImmutabilityPolicyExpiresOn = (*time.Time)(aux.ImmutabilityPolicyExpiresOn)
- b.LastAccessedOn = (*time.Time)(aux.LastAccessedOn)
- b.LastModified = (*time.Time)(aux.LastModified)
+ if aux.CopyCompletionTime != nil && !(*time.Time)(aux.CopyCompletionTime).IsZero() {
+ b.CopyCompletionTime = (*time.Time)(aux.CopyCompletionTime)
+ }
+ if aux.CreationTime != nil && !(*time.Time)(aux.CreationTime).IsZero() {
+ b.CreationTime = (*time.Time)(aux.CreationTime)
+ }
+ if aux.DeletedTime != nil && !(*time.Time)(aux.DeletedTime).IsZero() {
+ b.DeletedTime = (*time.Time)(aux.DeletedTime)
+ }
+ if aux.ExpiresOn != nil && !(*time.Time)(aux.ExpiresOn).IsZero() {
+ b.ExpiresOn = (*time.Time)(aux.ExpiresOn)
+ }
+ if aux.ImmutabilityPolicyExpiresOn != nil && !(*time.Time)(aux.ImmutabilityPolicyExpiresOn).IsZero() {
+ b.ImmutabilityPolicyExpiresOn = (*time.Time)(aux.ImmutabilityPolicyExpiresOn)
+ }
+ if aux.LastAccessedOn != nil && !(*time.Time)(aux.LastAccessedOn).IsZero() {
+ b.LastAccessedOn = (*time.Time)(aux.LastAccessedOn)
+ }
+ if aux.LastModified != nil && !(*time.Time)(aux.LastModified).IsZero() {
+ b.LastModified = (*time.Time)(aux.LastModified)
+ }
return nil
}
@@ -271,8 +288,12 @@ func (c *ContainerProperties) UnmarshalXML(dec *xml.Decoder, start xml.StartElem
if err := dec.DecodeElement(aux, &start); err != nil {
return err
}
- c.DeletedTime = (*time.Time)(aux.DeletedTime)
- c.LastModified = (*time.Time)(aux.LastModified)
+ if aux.DeletedTime != nil && !(*time.Time)(aux.DeletedTime).IsZero() {
+ c.DeletedTime = (*time.Time)(aux.DeletedTime)
+ }
+ if aux.LastModified != nil && !(*time.Time)(aux.LastModified).IsZero() {
+ c.LastModified = (*time.Time)(aux.LastModified)
+ }
return nil
}
@@ -316,7 +337,9 @@ func (g *GeoReplication) UnmarshalXML(dec *xml.Decoder, start xml.StartElement)
if err := dec.DecodeElement(aux, &start); err != nil {
return err
}
- g.LastSyncTime = (*time.Time)(aux.LastSyncTime)
+ if aux.LastSyncTime != nil && !(*time.Time)(aux.LastSyncTime).IsZero() {
+ g.LastSyncTime = (*time.Time)(aux.LastSyncTime)
+ }
return nil
}
@@ -436,8 +459,12 @@ func (u *UserDelegationKey) UnmarshalXML(dec *xml.Decoder, start xml.StartElemen
if err := dec.DecodeElement(aux, &start); err != nil {
return err
}
- u.SignedExpiry = (*time.Time)(aux.SignedExpiry)
- u.SignedStart = (*time.Time)(aux.SignedStart)
+ if aux.SignedExpiry != nil && !(*time.Time)(aux.SignedExpiry).IsZero() {
+ u.SignedExpiry = (*time.Time)(aux.SignedExpiry)
+ }
+ if aux.SignedStart != nil && !(*time.Time)(aux.SignedStart).IsZero() {
+ u.SignedStart = (*time.Time)(aux.SignedStart)
+ }
return nil
}
@@ -451,18 +478,8 @@ func populate(m map[string]any, k string, v any) {
}
}
-func populateAny(m map[string]any, k string, v any) {
- if v == nil {
- return
- } else if azcore.IsNullValue(v) {
- m[k] = nil
- } else {
- m[k] = v
- }
-}
-
func unpopulate(data json.RawMessage, fn string, v any) error {
- if data == nil {
+ if data == nil || string(data) == "null" {
return nil
}
if err := json.Unmarshal(data, v); err != nil {
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_options.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_options.go
index 216f8b73ae989..01d1422d02231 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_options.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_options.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
@@ -46,6 +43,13 @@ type AppendBlobClientAppendBlockOptions struct {
// analytics logging is enabled.
RequestID *string
+ // Required if the request body is a structured message. Specifies the message schema version and properties.
+ StructuredBodyType *string
+
+ // Required if the request body is a structured message. Specifies the length of the blob/file content inside the message
+ // body. Will always be smaller than Content-Length.
+ StructuredContentLength *int64
+
// The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations.
// [https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations]
Timeout *int32
@@ -239,9 +243,18 @@ type BlobClientDeleteImmutabilityPolicyOptions struct {
// analytics logging is enabled.
RequestID *string
+ // The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more
+ // information on working with blob snapshots, see Creating a Snapshot of a Blob.
+ // [https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/creating-a-snapshot-of-a-blob]
+ Snapshot *string
+
// The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations.
// [https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations]
Timeout *int32
+
+ // The version id parameter is an opaque DateTime value that, when present, specifies the version of the blob to operate on.
+ // It's for service version 2019-10-10 and newer.
+ VersionID *string
}
// BlobClientDeleteOptions contains the optional parameters for the BlobClient.Delete method.
@@ -294,6 +307,10 @@ type BlobClientDownloadOptions struct {
// [https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/creating-a-snapshot-of-a-blob]
Snapshot *string
+ // Specifies the response content should be returned as a structured message and specifies the message schema version and
+ // properties.
+ StructuredBodyType *string
+
// The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations.
// [https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations]
Timeout *int32
@@ -305,7 +322,13 @@ type BlobClientDownloadOptions struct {
// BlobClientGetAccountInfoOptions contains the optional parameters for the BlobClient.GetAccountInfo method.
type BlobClientGetAccountInfoOptions struct {
- // placeholder for future optional parameters
+ // Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage
+ // analytics logging is enabled.
+ RequestID *string
+
+ // The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations.
+ // [https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations]
+ Timeout *int32
}
// BlobClientGetPropertiesOptions contains the optional parameters for the BlobClient.GetProperties method.
@@ -426,9 +449,18 @@ type BlobClientSetImmutabilityPolicyOptions struct {
// analytics logging is enabled.
RequestID *string
+ // The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more
+ // information on working with blob snapshots, see Creating a Snapshot of a Blob.
+ // [https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/creating-a-snapshot-of-a-blob]
+ Snapshot *string
+
// The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations.
// [https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations]
Timeout *int32
+
+ // The version id parameter is an opaque DateTime value that, when present, specifies the version of the blob to operate on.
+ // It's for service version 2019-10-10 and newer.
+ VersionID *string
}
// BlobClientSetLegalHoldOptions contains the optional parameters for the BlobClient.SetLegalHold method.
@@ -437,9 +469,18 @@ type BlobClientSetLegalHoldOptions struct {
// analytics logging is enabled.
RequestID *string
+ // The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more
+ // information on working with blob snapshots, see Creating a Snapshot of a Blob.
+ // [https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/creating-a-snapshot-of-a-blob]
+ Snapshot *string
+
// The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations.
// [https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations]
Timeout *int32
+
+ // The version id parameter is an opaque DateTime value that, when present, specifies the version of the blob to operate on.
+ // It's for service version 2019-10-10 and newer.
+ VersionID *string
}
// BlobClientSetMetadataOptions contains the optional parameters for the BlobClient.SetMetadata method.
@@ -705,6 +746,13 @@ type BlockBlobClientStageBlockOptions struct {
// analytics logging is enabled.
RequestID *string
+ // Required if the request body is a structured message. Specifies the message schema version and properties.
+ StructuredBodyType *string
+
+ // Required if the request body is a structured message. Specifies the length of the blob/file content inside the message
+ // body. Will always be smaller than Content-Length.
+ StructuredContentLength *int64
+
// The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations.
// [https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations]
Timeout *int32
@@ -742,6 +790,13 @@ type BlockBlobClientUploadOptions struct {
// analytics logging is enabled.
RequestID *string
+ // Required if the request body is a structured message. Specifies the message schema version and properties.
+ StructuredBodyType *string
+
+ // Required if the request body is a structured message. Specifies the length of the blob/file content inside the message
+ // body. Will always be smaller than Content-Length.
+ StructuredContentLength *int64
+
// Optional. Indicates the tier to be set on the blob.
Tier *AccessTier
@@ -876,7 +931,13 @@ type ContainerClientGetAccessPolicyOptions struct {
// ContainerClientGetAccountInfoOptions contains the optional parameters for the ContainerClient.GetAccountInfo method.
type ContainerClientGetAccountInfoOptions struct {
- // placeholder for future optional parameters
+ // Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage
+ // analytics logging is enabled.
+ RequestID *string
+
+ // The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations.
+ // [https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations]
+ Timeout *int32
}
// ContainerClientGetPropertiesOptions contains the optional parameters for the ContainerClient.GetProperties method.
@@ -1307,6 +1368,13 @@ type PageBlobClientUploadPagesOptions struct {
// analytics logging is enabled.
RequestID *string
+ // Required if the request body is a structured message. Specifies the message schema version and properties.
+ StructuredBodyType *string
+
+ // Required if the request body is a structured message. Specifies the length of the blob/file content inside the message
+ // body. Will always be smaller than Content-Length.
+ StructuredContentLength *int64
+
// The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations.
// [https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations]
Timeout *int32
@@ -1360,7 +1428,13 @@ type ServiceClientFilterBlobsOptions struct {
// ServiceClientGetAccountInfoOptions contains the optional parameters for the ServiceClient.GetAccountInfo method.
type ServiceClientGetAccountInfoOptions struct {
- // placeholder for future optional parameters
+ // Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage
+ // analytics logging is enabled.
+ RequestID *string
+
+ // The timeout parameter is expressed in seconds. For more information, see Setting Timeouts for Blob Service Operations.
+ // [https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations]
+ Timeout *int32
}
// ServiceClientGetPropertiesOptions contains the optional parameters for the ServiceClient.GetProperties method.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_pageblob_client.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_pageblob_client.go
index cb6a19f7a335b..8d8c953473eb2 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_pageblob_client.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_pageblob_client.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
@@ -30,7 +27,7 @@ type PageBlobClient struct {
// ClearPages - The Clear Pages operation clears a set of pages from a page blob
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - contentLength - The length of the request.
// - options - PageBlobClientClearPagesOptions contains the optional parameters for the PageBlobClient.ClearPages method.
// - LeaseAccessConditions - LeaseAccessConditions contains a group of parameters for the ContainerClient.GetProperties method.
@@ -69,13 +66,25 @@ func (client *PageBlobClient) clearPagesCreateRequest(ctx context.Context, conte
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-page-write"] = []string{"clear"}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
req.Raw().Header["Content-Length"] = []string{strconv.FormatInt(contentLength, 10)}
- if options != nil && options.Range != nil {
- req.Raw().Header["x-ms-range"] = []string{*options.Range}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
}
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
+ req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ }
+ if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
+ req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
}
if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
@@ -83,41 +92,29 @@ func (client *PageBlobClient) clearPagesCreateRequest(ctx context.Context, conte
if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
}
- if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
- req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
- }
if cpkScopeInfo != nil && cpkScopeInfo.EncryptionScope != nil {
req.Raw().Header["x-ms-encryption-scope"] = []string{*cpkScopeInfo.EncryptionScope}
}
+ if sequenceNumberAccessConditions != nil && sequenceNumberAccessConditions.IfSequenceNumberEqualTo != nil {
+ req.Raw().Header["x-ms-if-sequence-number-eq"] = []string{strconv.FormatInt(*sequenceNumberAccessConditions.IfSequenceNumberEqualTo, 10)}
+ }
if sequenceNumberAccessConditions != nil && sequenceNumberAccessConditions.IfSequenceNumberLessThanOrEqualTo != nil {
req.Raw().Header["x-ms-if-sequence-number-le"] = []string{strconv.FormatInt(*sequenceNumberAccessConditions.IfSequenceNumberLessThanOrEqualTo, 10)}
}
if sequenceNumberAccessConditions != nil && sequenceNumberAccessConditions.IfSequenceNumberLessThan != nil {
req.Raw().Header["x-ms-if-sequence-number-lt"] = []string{strconv.FormatInt(*sequenceNumberAccessConditions.IfSequenceNumberLessThan, 10)}
}
- if sequenceNumberAccessConditions != nil && sequenceNumberAccessConditions.IfSequenceNumberEqualTo != nil {
- req.Raw().Header["x-ms-if-sequence-number-eq"] = []string{strconv.FormatInt(*sequenceNumberAccessConditions.IfSequenceNumberEqualTo, 10)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
- req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
- }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-page-write"] = []string{"clear"}
+ if options != nil && options.Range != nil {
+ req.Raw().Header["x-ms-range"] = []string{*options.Range}
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -181,7 +178,7 @@ func (client *PageBlobClient) clearPagesHandleResponse(resp *http.Response) (Pag
// 2016-05-31.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - copySource - Specifies the name of the source page blob snapshot. This value is a URL of up to 2 KB in length that specifies
// a page blob snapshot. The value should be URL-encoded as it would appear in a request
// URI. The source blob must either be public or must be authenticated via a shared access signature.
@@ -218,27 +215,27 @@ func (client *PageBlobClient) copyIncrementalCreateRequest(ctx context.Context,
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
+ req.Raw().Header["x-ms-copy-source"] = []string{copySource}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- req.Raw().Header["x-ms-copy-source"] = []string{copySource}
req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
- }
- req.Raw().Header["Accept"] = []string{"application/xml"}
return req, nil
}
@@ -283,7 +280,7 @@ func (client *PageBlobClient) copyIncrementalHandleResponse(resp *http.Response)
// Create - The Create operation creates a new page blob.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - contentLength - The length of the request.
// - blobContentLength - This header specifies the maximum size for the page blob, up to 1 TB. The page blob size must be aligned
// to a 512-byte boundary.
@@ -322,13 +319,28 @@ func (client *PageBlobClient) createCreateRequest(ctx context.Context, contentLe
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-blob-type"] = []string{"PageBlob"}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
req.Raw().Header["Content-Length"] = []string{strconv.FormatInt(contentLength, 10)}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
+ req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ }
if options != nil && options.Tier != nil {
req.Raw().Header["x-ms-access-tier"] = []string{string(*options.Tier)}
}
- if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentType != nil {
- req.Raw().Header["x-ms-blob-content-type"] = []string{*blobHTTPHeaders.BlobContentType}
+ if blobHTTPHeaders != nil && blobHTTPHeaders.BlobCacheControl != nil {
+ req.Raw().Header["x-ms-blob-cache-control"] = []string{*blobHTTPHeaders.BlobCacheControl}
+ }
+ if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentDisposition != nil {
+ req.Raw().Header["x-ms-blob-content-disposition"] = []string{*blobHTTPHeaders.BlobContentDisposition}
}
if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentEncoding != nil {
req.Raw().Header["x-ms-blob-content-encoding"] = []string{*blobHTTPHeaders.BlobContentEncoding}
@@ -336,24 +348,22 @@ func (client *PageBlobClient) createCreateRequest(ctx context.Context, contentLe
if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentLanguage != nil {
req.Raw().Header["x-ms-blob-content-language"] = []string{*blobHTTPHeaders.BlobContentLanguage}
}
+ req.Raw().Header["x-ms-blob-content-length"] = []string{strconv.FormatInt(blobContentLength, 10)}
if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentMD5 != nil {
req.Raw().Header["x-ms-blob-content-md5"] = []string{base64.StdEncoding.EncodeToString(blobHTTPHeaders.BlobContentMD5)}
}
- if blobHTTPHeaders != nil && blobHTTPHeaders.BlobCacheControl != nil {
- req.Raw().Header["x-ms-blob-cache-control"] = []string{*blobHTTPHeaders.BlobCacheControl}
+ if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentType != nil {
+ req.Raw().Header["x-ms-blob-content-type"] = []string{*blobHTTPHeaders.BlobContentType}
}
- if options != nil && options.Metadata != nil {
- for k, v := range options.Metadata {
- if v != nil {
- req.Raw().Header["x-ms-meta-"+k] = []string{*v}
- }
- }
+ if options != nil && options.BlobSequenceNumber != nil {
+ req.Raw().Header["x-ms-blob-sequence-number"] = []string{strconv.FormatInt(*options.BlobSequenceNumber, 10)}
}
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ req.Raw().Header["x-ms-blob-type"] = []string{"PageBlob"}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- if blobHTTPHeaders != nil && blobHTTPHeaders.BlobContentDisposition != nil {
- req.Raw().Header["x-ms-blob-content-disposition"] = []string{*blobHTTPHeaders.BlobContentDisposition}
+ if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
+ req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
}
if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
@@ -361,48 +371,35 @@ func (client *PageBlobClient) createCreateRequest(ctx context.Context, contentLe
if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
}
- if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
- req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
- }
if cpkScopeInfo != nil && cpkScopeInfo.EncryptionScope != nil {
req.Raw().Header["x-ms-encryption-scope"] = []string{*cpkScopeInfo.EncryptionScope}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
- req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
- }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- req.Raw().Header["x-ms-blob-content-length"] = []string{strconv.FormatInt(blobContentLength, 10)}
- if options != nil && options.BlobSequenceNumber != nil {
- req.Raw().Header["x-ms-blob-sequence-number"] = []string{strconv.FormatInt(*options.BlobSequenceNumber, 10)}
- }
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
- }
- if options != nil && options.BlobTagsString != nil {
- req.Raw().Header["x-ms-tags"] = []string{*options.BlobTagsString}
+ if options != nil && options.ImmutabilityPolicyMode != nil {
+ req.Raw().Header["x-ms-immutability-policy-mode"] = []string{string(*options.ImmutabilityPolicyMode)}
}
if options != nil && options.ImmutabilityPolicyExpiry != nil {
req.Raw().Header["x-ms-immutability-policy-until-date"] = []string{(*options.ImmutabilityPolicyExpiry).In(gmt).Format(time.RFC1123)}
}
- if options != nil && options.ImmutabilityPolicyMode != nil {
- req.Raw().Header["x-ms-immutability-policy-mode"] = []string{string(*options.ImmutabilityPolicyMode)}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
if options != nil && options.LegalHold != nil {
req.Raw().Header["x-ms-legal-hold"] = []string{strconv.FormatBool(*options.LegalHold)}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ if options != nil && options.Metadata != nil {
+ for k, v := range options.Metadata {
+ if v != nil {
+ req.Raw().Header["x-ms-meta-"+k] = []string{*v}
+ }
+ }
+ }
+ if options != nil && options.BlobTagsString != nil {
+ req.Raw().Header["x-ms-tags"] = []string{*options.BlobTagsString}
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -464,7 +461,7 @@ func (client *PageBlobClient) createHandleResponse(resp *http.Response) (PageBlo
// NewGetPageRangesPager - The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot
// of a page blob
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - PageBlobClientGetPageRangesOptions contains the optional parameters for the PageBlobClient.NewGetPageRangesPager
// method.
// - LeaseAccessConditions - LeaseAccessConditions contains a group of parameters for the ContainerClient.GetProperties method.
@@ -498,45 +495,45 @@ func (client *PageBlobClient) GetPageRangesCreateRequest(ctx context.Context, op
}
reqQP := req.Raw().URL.Query()
reqQP.Set("comp", "pagelist")
- if options != nil && options.Snapshot != nil {
- reqQP.Set("snapshot", *options.Snapshot)
- }
- if options != nil && options.Timeout != nil {
- reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
- }
if options != nil && options.Marker != nil {
reqQP.Set("marker", *options.Marker)
}
if options != nil && options.Maxresults != nil {
reqQP.Set("maxresults", strconv.FormatInt(int64(*options.Maxresults), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- if options != nil && options.Range != nil {
- req.Raw().Header["x-ms-range"] = []string{*options.Range}
+ if options != nil && options.Snapshot != nil {
+ reqQP.Set("snapshot", *options.Snapshot)
}
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ if options != nil && options.Timeout != nil {
+ reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
+ }
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ if options != nil && options.Range != nil {
+ req.Raw().Header["x-ms-range"] = []string{*options.Range}
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -585,7 +582,7 @@ func (client *PageBlobClient) GetPageRangesHandleResponse(resp *http.Response) (
// NewGetPageRangesDiffPager - The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that
// were changed between target blob and previous snapshot.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - PageBlobClientGetPageRangesDiffOptions contains the optional parameters for the PageBlobClient.NewGetPageRangesDiffPager
// method.
// - LeaseAccessConditions - LeaseAccessConditions contains a group of parameters for the ContainerClient.GetProperties method.
@@ -619,51 +616,51 @@ func (client *PageBlobClient) GetPageRangesDiffCreateRequest(ctx context.Context
}
reqQP := req.Raw().URL.Query()
reqQP.Set("comp", "pagelist")
- if options != nil && options.Snapshot != nil {
- reqQP.Set("snapshot", *options.Snapshot)
- }
- if options != nil && options.Timeout != nil {
- reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
- }
- if options != nil && options.Prevsnapshot != nil {
- reqQP.Set("prevsnapshot", *options.Prevsnapshot)
- }
if options != nil && options.Marker != nil {
reqQP.Set("marker", *options.Marker)
}
if options != nil && options.Maxresults != nil {
reqQP.Set("maxresults", strconv.FormatInt(int64(*options.Maxresults), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- if options != nil && options.PrevSnapshotURL != nil {
- req.Raw().Header["x-ms-previous-snapshot-url"] = []string{*options.PrevSnapshotURL}
+ if options != nil && options.Prevsnapshot != nil {
+ reqQP.Set("prevsnapshot", *options.Prevsnapshot)
}
- if options != nil && options.Range != nil {
- req.Raw().Header["x-ms-range"] = []string{*options.Range}
+ if options != nil && options.Snapshot != nil {
+ reqQP.Set("snapshot", *options.Snapshot)
}
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ if options != nil && options.Timeout != nil {
+ reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
+ }
+ req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ if options != nil && options.PrevSnapshotURL != nil {
+ req.Raw().Header["x-ms-previous-snapshot-url"] = []string{*options.PrevSnapshotURL}
+ }
+ if options != nil && options.Range != nil {
+ req.Raw().Header["x-ms-range"] = []string{*options.Range}
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -712,7 +709,7 @@ func (client *PageBlobClient) GetPageRangesDiffHandleResponse(resp *http.Respons
// Resize - Resize the Blob
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - blobContentLength - This header specifies the maximum size for the page blob, up to 1 TB. The page blob size must be aligned
// to a 512-byte boundary.
// - options - PageBlobClientResizeOptions contains the optional parameters for the PageBlobClient.Resize method.
@@ -750,8 +747,25 @@ func (client *PageBlobClient) resizeCreateRequest(ctx context.Context, blobConte
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
+ req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ req.Raw().Header["x-ms-blob-content-length"] = []string{strconv.FormatInt(blobContentLength, 10)}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ }
+ if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
+ req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
}
if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
@@ -759,33 +773,16 @@ func (client *PageBlobClient) resizeCreateRequest(ctx context.Context, blobConte
if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
}
- if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
- req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
- }
if cpkScopeInfo != nil && cpkScopeInfo.EncryptionScope != nil {
req.Raw().Header["x-ms-encryption-scope"] = []string{*cpkScopeInfo.EncryptionScope}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
- req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
- }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- req.Raw().Header["x-ms-blob-content-length"] = []string{strconv.FormatInt(blobContentLength, 10)}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -831,7 +828,7 @@ func (client *PageBlobClient) resizeHandleResponse(resp *http.Response) (PageBlo
// UpdateSequenceNumber - Update the sequence number of the blob
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - sequenceNumberAction - Required if the x-ms-blob-sequence-number header is set for the request. This property applies to
// page blobs only. This property indicates how the service should modify the blob's sequence number
// - options - PageBlobClientUpdateSequenceNumberOptions contains the optional parameters for the PageBlobClient.UpdateSequenceNumber
@@ -868,33 +865,33 @@ func (client *PageBlobClient) updateSequenceNumberCreateRequest(ctx context.Cont
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
}
if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
- req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- req.Raw().Header["x-ms-sequence-number-action"] = []string{string(sequenceNumberAction)}
if options != nil && options.BlobSequenceNumber != nil {
req.Raw().Header["x-ms-blob-sequence-number"] = []string{strconv.FormatInt(*options.BlobSequenceNumber, 10)}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
+ req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
+ }
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ }
+ req.Raw().Header["x-ms-sequence-number-action"] = []string{string(sequenceNumberAction)}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -940,7 +937,7 @@ func (client *PageBlobClient) updateSequenceNumberHandleResponse(resp *http.Resp
// UploadPages - The Upload Pages operation writes a range of pages to a page blob
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - contentLength - The length of the request.
// - body - Initial data
// - options - PageBlobClientUploadPagesOptions contains the optional parameters for the PageBlobClient.UploadPages method.
@@ -980,19 +977,31 @@ func (client *PageBlobClient) uploadPagesCreateRequest(ctx context.Context, cont
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-page-write"] = []string{"update"}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
req.Raw().Header["Content-Length"] = []string{strconv.FormatInt(contentLength, 10)}
if options != nil && options.TransactionalContentMD5 != nil {
req.Raw().Header["Content-MD5"] = []string{base64.StdEncoding.EncodeToString(options.TransactionalContentMD5)}
}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
+ req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ }
if options != nil && options.TransactionalContentCRC64 != nil {
req.Raw().Header["x-ms-content-crc64"] = []string{base64.StdEncoding.EncodeToString(options.TransactionalContentCRC64)}
}
- if options != nil && options.Range != nil {
- req.Raw().Header["x-ms-range"] = []string{*options.Range}
- }
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
+ req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
}
if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
@@ -1000,41 +1009,35 @@ func (client *PageBlobClient) uploadPagesCreateRequest(ctx context.Context, cont
if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
}
- if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
- req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
- }
if cpkScopeInfo != nil && cpkScopeInfo.EncryptionScope != nil {
req.Raw().Header["x-ms-encryption-scope"] = []string{*cpkScopeInfo.EncryptionScope}
}
+ if sequenceNumberAccessConditions != nil && sequenceNumberAccessConditions.IfSequenceNumberEqualTo != nil {
+ req.Raw().Header["x-ms-if-sequence-number-eq"] = []string{strconv.FormatInt(*sequenceNumberAccessConditions.IfSequenceNumberEqualTo, 10)}
+ }
if sequenceNumberAccessConditions != nil && sequenceNumberAccessConditions.IfSequenceNumberLessThanOrEqualTo != nil {
req.Raw().Header["x-ms-if-sequence-number-le"] = []string{strconv.FormatInt(*sequenceNumberAccessConditions.IfSequenceNumberLessThanOrEqualTo, 10)}
}
if sequenceNumberAccessConditions != nil && sequenceNumberAccessConditions.IfSequenceNumberLessThan != nil {
req.Raw().Header["x-ms-if-sequence-number-lt"] = []string{strconv.FormatInt(*sequenceNumberAccessConditions.IfSequenceNumberLessThan, 10)}
}
- if sequenceNumberAccessConditions != nil && sequenceNumberAccessConditions.IfSequenceNumberEqualTo != nil {
- req.Raw().Header["x-ms-if-sequence-number-eq"] = []string{strconv.FormatInt(*sequenceNumberAccessConditions.IfSequenceNumberEqualTo, 10)}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
+ req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
- req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ req.Raw().Header["x-ms-page-write"] = []string{"update"}
+ if options != nil && options.Range != nil {
+ req.Raw().Header["x-ms-range"] = []string{*options.Range}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ if options != nil && options.StructuredBodyType != nil {
+ req.Raw().Header["x-ms-structured-body"] = []string{*options.StructuredBodyType}
}
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
- req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
+ if options != nil && options.StructuredContentLength != nil {
+ req.Raw().Header["x-ms-structured-content-length"] = []string{strconv.FormatInt(*options.StructuredContentLength, 10)}
}
req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
- }
- req.Raw().Header["Accept"] = []string{"application/xml"}
if err := req.SetBody(body, "application/octet-stream"); err != nil {
return nil, err
}
@@ -1101,6 +1104,9 @@ func (client *PageBlobClient) uploadPagesHandleResponse(resp *http.Response) (Pa
if val := resp.Header.Get("x-ms-request-id"); val != "" {
result.RequestID = &val
}
+ if val := resp.Header.Get("x-ms-structured-body"); val != "" {
+ result.StructuredBodyType = &val
+ }
if val := resp.Header.Get("x-ms-version"); val != "" {
result.Version = &val
}
@@ -1111,7 +1117,7 @@ func (client *PageBlobClient) uploadPagesHandleResponse(resp *http.Response) (Pa
// a URL
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - sourceURL - Specify a URL to the copy source.
// - sourceRange - Bytes of source data in the specified range. The length of this range should match the ContentLength header
// and x-ms-range/Range destination range header.
@@ -1158,31 +1164,41 @@ func (client *PageBlobClient) uploadPagesFromURLCreateRequest(ctx context.Contex
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-page-write"] = []string{"update"}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["Content-Length"] = []string{strconv.FormatInt(contentLength, 10)}
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
+ req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
+ req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
+ req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
+ }
+ if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
+ req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ }
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ }
req.Raw().Header["x-ms-copy-source"] = []string{sourceURL}
- req.Raw().Header["x-ms-source-range"] = []string{sourceRange}
- if options != nil && options.SourceContentMD5 != nil {
- req.Raw().Header["x-ms-source-content-md5"] = []string{base64.StdEncoding.EncodeToString(options.SourceContentMD5)}
+ if options != nil && options.CopySourceAuthorization != nil {
+ req.Raw().Header["x-ms-copy-source-authorization"] = []string{*options.CopySourceAuthorization}
}
- if options != nil && options.SourceContentcrc64 != nil {
- req.Raw().Header["x-ms-source-content-crc64"] = []string{base64.StdEncoding.EncodeToString(options.SourceContentcrc64)}
+ if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
+ req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
}
- req.Raw().Header["Content-Length"] = []string{strconv.FormatInt(contentLength, 10)}
- req.Raw().Header["x-ms-range"] = []string{rangeParam}
if cpkInfo != nil && cpkInfo.EncryptionKey != nil {
req.Raw().Header["x-ms-encryption-key"] = []string{*cpkInfo.EncryptionKey}
}
if cpkInfo != nil && cpkInfo.EncryptionKeySHA256 != nil {
req.Raw().Header["x-ms-encryption-key-sha256"] = []string{*cpkInfo.EncryptionKeySHA256}
}
- if cpkInfo != nil && cpkInfo.EncryptionAlgorithm != nil {
- req.Raw().Header["x-ms-encryption-algorithm"] = []string{string(*cpkInfo.EncryptionAlgorithm)}
- }
if cpkScopeInfo != nil && cpkScopeInfo.EncryptionScope != nil {
req.Raw().Header["x-ms-encryption-scope"] = []string{*cpkScopeInfo.EncryptionScope}
}
- if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
- req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
+ if sequenceNumberAccessConditions != nil && sequenceNumberAccessConditions.IfSequenceNumberEqualTo != nil {
+ req.Raw().Header["x-ms-if-sequence-number-eq"] = []string{strconv.FormatInt(*sequenceNumberAccessConditions.IfSequenceNumberEqualTo, 10)}
}
if sequenceNumberAccessConditions != nil && sequenceNumberAccessConditions.IfSequenceNumberLessThanOrEqualTo != nil {
req.Raw().Header["x-ms-if-sequence-number-le"] = []string{strconv.FormatInt(*sequenceNumberAccessConditions.IfSequenceNumberLessThanOrEqualTo, 10)}
@@ -1190,44 +1206,34 @@ func (client *PageBlobClient) uploadPagesFromURLCreateRequest(ctx context.Contex
if sequenceNumberAccessConditions != nil && sequenceNumberAccessConditions.IfSequenceNumberLessThan != nil {
req.Raw().Header["x-ms-if-sequence-number-lt"] = []string{strconv.FormatInt(*sequenceNumberAccessConditions.IfSequenceNumberLessThan, 10)}
}
- if sequenceNumberAccessConditions != nil && sequenceNumberAccessConditions.IfSequenceNumberEqualTo != nil {
- req.Raw().Header["x-ms-if-sequence-number-eq"] = []string{strconv.FormatInt(*sequenceNumberAccessConditions.IfSequenceNumberEqualTo, 10)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfModifiedSince != nil {
- req.Raw().Header["If-Modified-Since"] = []string{(*modifiedAccessConditions.IfModifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfUnmodifiedSince != nil {
- req.Raw().Header["If-Unmodified-Since"] = []string{(*modifiedAccessConditions.IfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfMatch != nil {
- req.Raw().Header["If-Match"] = []string{string(*modifiedAccessConditions.IfMatch)}
- }
- if modifiedAccessConditions != nil && modifiedAccessConditions.IfNoneMatch != nil {
- req.Raw().Header["If-None-Match"] = []string{string(*modifiedAccessConditions.IfNoneMatch)}
- }
if modifiedAccessConditions != nil && modifiedAccessConditions.IfTags != nil {
req.Raw().Header["x-ms-if-tags"] = []string{*modifiedAccessConditions.IfTags}
}
- if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfModifiedSince != nil {
- req.Raw().Header["x-ms-source-if-modified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfModifiedSince).In(gmt).Format(time.RFC1123)}
+ if leaseAccessConditions != nil && leaseAccessConditions.LeaseID != nil {
+ req.Raw().Header["x-ms-lease-id"] = []string{*leaseAccessConditions.LeaseID}
}
- if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfUnmodifiedSince != nil {
- req.Raw().Header["x-ms-source-if-unmodified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
+ req.Raw().Header["x-ms-page-write"] = []string{"update"}
+ req.Raw().Header["x-ms-range"] = []string{rangeParam}
+ if options != nil && options.SourceContentcrc64 != nil {
+ req.Raw().Header["x-ms-source-content-crc64"] = []string{base64.StdEncoding.EncodeToString(options.SourceContentcrc64)}
+ }
+ if options != nil && options.SourceContentMD5 != nil {
+ req.Raw().Header["x-ms-source-content-md5"] = []string{base64.StdEncoding.EncodeToString(options.SourceContentMD5)}
}
if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfMatch != nil {
req.Raw().Header["x-ms-source-if-match"] = []string{string(*sourceModifiedAccessConditions.SourceIfMatch)}
}
+ if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfModifiedSince != nil {
+ req.Raw().Header["x-ms-source-if-modified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfModifiedSince).In(gmt).Format(time.RFC1123)}
+ }
if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfNoneMatch != nil {
req.Raw().Header["x-ms-source-if-none-match"] = []string{string(*sourceModifiedAccessConditions.SourceIfNoneMatch)}
}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
- if options != nil && options.RequestID != nil {
- req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
- }
- if options != nil && options.CopySourceAuthorization != nil {
- req.Raw().Header["x-ms-copy-source-authorization"] = []string{*options.CopySourceAuthorization}
+ if sourceModifiedAccessConditions != nil && sourceModifiedAccessConditions.SourceIfUnmodifiedSince != nil {
+ req.Raw().Header["x-ms-source-if-unmodified-since"] = []string{(*sourceModifiedAccessConditions.SourceIfUnmodifiedSince).In(gmt).Format(time.RFC1123)}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-source-range"] = []string{sourceRange}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_response_types.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_responses.go
similarity index 98%
rename from vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_response_types.go
rename to vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_responses.go
index 738d23c8f19e8..5ed22156d24e8 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_response_types.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_responses.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
@@ -91,6 +88,9 @@ type AppendBlobClientAppendBlockResponse struct {
// RequestID contains the information returned from the x-ms-request-id header response.
RequestID *string
+ // StructuredBodyType contains the information returned from the x-ms-structured-body header response.
+ StructuredBodyType *string
+
// Version contains the information returned from the x-ms-version header response.
Version *string
}
@@ -472,6 +472,12 @@ type BlobClientDownloadResponse struct {
// RequestID contains the information returned from the x-ms-request-id header response.
RequestID *string
+ // StructuredBodyType contains the information returned from the x-ms-structured-body header response.
+ StructuredBodyType *string
+
+ // StructuredContentLength contains the information returned from the x-ms-structured-content-length header response.
+ StructuredContentLength *int64
+
// TagCount contains the information returned from the x-ms-tag-count header response.
TagCount *int64
@@ -493,6 +499,9 @@ type BlobClientGetAccountInfoResponse struct {
// Date contains the information returned from the Date header response.
Date *time.Time
+ // IsHierarchicalNamespaceEnabled contains the information returned from the x-ms-is-hns-enabled header response.
+ IsHierarchicalNamespaceEnabled *bool
+
// RequestID contains the information returned from the x-ms-request-id header response.
RequestID *string
@@ -1170,6 +1179,9 @@ type BlockBlobClientStageBlockResponse struct {
// RequestID contains the information returned from the x-ms-request-id header response.
RequestID *string
+ // StructuredBodyType contains the information returned from the x-ms-structured-body header response.
+ StructuredBodyType *string
+
// Version contains the information returned from the x-ms-version header response.
Version *string
}
@@ -1179,6 +1191,9 @@ type BlockBlobClientUploadResponse struct {
// ClientRequestID contains the information returned from the x-ms-client-request-id header response.
ClientRequestID *string
+ // ContentCRC64 contains the information returned from the x-ms-content-crc64 header response.
+ ContentCRC64 []byte
+
// ContentMD5 contains the information returned from the Content-MD5 header response.
ContentMD5 []byte
@@ -1203,6 +1218,9 @@ type BlockBlobClientUploadResponse struct {
// RequestID contains the information returned from the x-ms-request-id header response.
RequestID *string
+ // StructuredBodyType contains the information returned from the x-ms-structured-body header response.
+ StructuredBodyType *string
+
// Version contains the information returned from the x-ms-version header response.
Version *string
@@ -1374,6 +1392,9 @@ type ContainerClientGetAccountInfoResponse struct {
// Date contains the information returned from the Date header response.
Date *time.Time
+ // IsHierarchicalNamespaceEnabled contains the information returned from the x-ms-is-hns-enabled header response.
+ IsHierarchicalNamespaceEnabled *bool
+
// RequestID contains the information returned from the x-ms-request-id header response.
RequestID *string
@@ -1876,6 +1897,9 @@ type PageBlobClientUploadPagesResponse struct {
// RequestID contains the information returned from the x-ms-request-id header response.
RequestID *string
+ // StructuredBodyType contains the information returned from the x-ms-structured-body header response.
+ StructuredBodyType *string
+
// Version contains the information returned from the x-ms-version header response.
Version *string
}
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_service_client.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_service_client.go
index c792fbf094bfb..8764591b30abb 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_service_client.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_service_client.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
@@ -33,7 +30,7 @@ type ServiceClient struct {
// be scoped within the expression to a single container.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - where - Filters the results to return only to return only blobs whose tags match the specified expression.
// - options - ServiceClientFilterBlobsOptions contains the optional parameters for the ServiceClient.FilterBlobs method.
func (client *ServiceClient) FilterBlobs(ctx context.Context, where string, options *ServiceClientFilterBlobsOptions) (ServiceClientFilterBlobsResponse, error) {
@@ -62,25 +59,25 @@ func (client *ServiceClient) filterBlobsCreateRequest(ctx context.Context, where
}
reqQP := req.Raw().URL.Query()
reqQP.Set("comp", "blobs")
- if options != nil && options.Timeout != nil {
- reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
+ if options != nil && options.Include != nil {
+ reqQP.Set("include", strings.Join(strings.Fields(strings.Trim(fmt.Sprint(options.Include), "[]")), ","))
}
- reqQP.Set("where", where)
if options != nil && options.Marker != nil {
reqQP.Set("marker", *options.Marker)
}
if options != nil && options.Maxresults != nil {
reqQP.Set("maxresults", strconv.FormatInt(int64(*options.Maxresults), 10))
}
- if options != nil && options.Include != nil {
- reqQP.Set("include", strings.Join(strings.Fields(strings.Trim(fmt.Sprint(options.Include), "[]")), ","))
+ if options != nil && options.Timeout != nil {
+ reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
+ reqQP.Set("where", where)
req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -112,7 +109,7 @@ func (client *ServiceClient) filterBlobsHandleResponse(resp *http.Response) (Ser
// GetAccountInfo - Returns the sku name and account kind
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - ServiceClientGetAccountInfoOptions contains the optional parameters for the ServiceClient.GetAccountInfo method.
func (client *ServiceClient) GetAccountInfo(ctx context.Context, options *ServiceClientGetAccountInfoOptions) (ServiceClientGetAccountInfoResponse, error) {
var err error
@@ -139,11 +136,17 @@ func (client *ServiceClient) getAccountInfoCreateRequest(ctx context.Context, op
return nil, err
}
reqQP := req.Raw().URL.Query()
- reqQP.Set("restype", "account")
reqQP.Set("comp", "properties")
- req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ reqQP.Set("restype", "account")
+ if options != nil && options.Timeout != nil {
+ reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
+ }
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
req.Raw().Header["Accept"] = []string{"application/xml"}
+ if options != nil && options.RequestID != nil {
+ req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
+ }
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -186,7 +189,7 @@ func (client *ServiceClient) getAccountInfoHandleResponse(resp *http.Response) (
// CORS (Cross-Origin Resource Sharing) rules.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - ServiceClientGetPropertiesOptions contains the optional parameters for the ServiceClient.GetProperties method.
func (client *ServiceClient) GetProperties(ctx context.Context, options *ServiceClientGetPropertiesOptions) (ServiceClientGetPropertiesResponse, error) {
var err error
@@ -213,17 +216,17 @@ func (client *ServiceClient) getPropertiesCreateRequest(ctx context.Context, opt
return nil, err
}
reqQP := req.Raw().URL.Query()
- reqQP.Set("restype", "service")
reqQP.Set("comp", "properties")
+ reqQP.Set("restype", "service")
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -249,7 +252,7 @@ func (client *ServiceClient) getPropertiesHandleResponse(resp *http.Response) (S
// location endpoint when read-access geo-redundant replication is enabled for the storage account.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - ServiceClientGetStatisticsOptions contains the optional parameters for the ServiceClient.GetStatistics method.
func (client *ServiceClient) GetStatistics(ctx context.Context, options *ServiceClientGetStatisticsOptions) (ServiceClientGetStatisticsResponse, error) {
var err error
@@ -276,17 +279,17 @@ func (client *ServiceClient) getStatisticsCreateRequest(ctx context.Context, opt
return nil, err
}
reqQP := req.Raw().URL.Query()
- reqQP.Set("restype", "service")
reqQP.Set("comp", "stats")
+ reqQP.Set("restype", "service")
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -319,7 +322,7 @@ func (client *ServiceClient) getStatisticsHandleResponse(resp *http.Response) (S
// bearer token authentication.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - keyInfo - Key information
// - options - ServiceClientGetUserDelegationKeyOptions contains the optional parameters for the ServiceClient.GetUserDelegationKey
// method.
@@ -348,17 +351,17 @@ func (client *ServiceClient) getUserDelegationKeyCreateRequest(ctx context.Conte
return nil, err
}
reqQP := req.Raw().URL.Query()
- reqQP.Set("restype", "service")
reqQP.Set("comp", "userdelegationkey")
+ reqQP.Set("restype", "service")
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if err := runtime.MarshalAsXML(req, keyInfo); err != nil {
return nil, err
}
@@ -393,7 +396,7 @@ func (client *ServiceClient) getUserDelegationKeyHandleResponse(resp *http.Respo
// NewListContainersSegmentPager - The List Containers Segment operation returns a list of the containers under the specified
// account
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - options - ServiceClientListContainersSegmentOptions contains the optional parameters for the ServiceClient.NewListContainersSegmentPager
// method.
//
@@ -405,8 +408,8 @@ func (client *ServiceClient) ListContainersSegmentCreateRequest(ctx context.Cont
}
reqQP := req.Raw().URL.Query()
reqQP.Set("comp", "list")
- if options != nil && options.Prefix != nil {
- reqQP.Set("prefix", *options.Prefix)
+ if options != nil && options.Include != nil {
+ reqQP.Set("include", strings.Join(strings.Fields(strings.Trim(fmt.Sprint(options.Include), "[]")), ","))
}
if options != nil && options.Marker != nil {
reqQP.Set("marker", *options.Marker)
@@ -414,18 +417,18 @@ func (client *ServiceClient) ListContainersSegmentCreateRequest(ctx context.Cont
if options != nil && options.Maxresults != nil {
reqQP.Set("maxresults", strconv.FormatInt(int64(*options.Maxresults), 10))
}
- if options != nil && options.Include != nil {
- reqQP.Set("include", strings.Join(strings.Fields(strings.Trim(fmt.Sprint(options.Include), "[]")), ","))
+ if options != nil && options.Prefix != nil {
+ reqQP.Set("prefix", *options.Prefix)
}
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
return req, nil
}
@@ -451,7 +454,7 @@ func (client *ServiceClient) ListContainersSegmentHandleResponse(resp *http.Resp
// and CORS (Cross-Origin Resource Sharing) rules
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - storageServiceProperties - The StorageService properties.
// - options - ServiceClientSetPropertiesOptions contains the optional parameters for the ServiceClient.SetProperties method.
func (client *ServiceClient) SetProperties(ctx context.Context, storageServiceProperties StorageServiceProperties, options *ServiceClientSetPropertiesOptions) (ServiceClientSetPropertiesResponse, error) {
@@ -479,17 +482,17 @@ func (client *ServiceClient) setPropertiesCreateRequest(ctx context.Context, sto
return nil, err
}
reqQP := req.Raw().URL.Query()
- reqQP.Set("restype", "service")
reqQP.Set("comp", "properties")
+ reqQP.Set("restype", "service")
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if err := runtime.MarshalAsXML(req, storageServiceProperties); err != nil {
return nil, err
}
@@ -514,7 +517,7 @@ func (client *ServiceClient) setPropertiesHandleResponse(resp *http.Response) (S
// SubmitBatch - The Batch operation allows multiple API calls to be embedded into a single HTTP request.
// If the operation fails it returns an *azcore.ResponseError type.
//
-// Generated from API version 2023-11-03
+// Generated from API version 2025-01-05
// - contentLength - The length of the request.
// - multipartContentType - Required. The value of this header must be multipart/mixed with a batch boundary. Example header
// value: multipart/mixed; boundary=batch_
@@ -549,15 +552,15 @@ func (client *ServiceClient) submitBatchCreateRequest(ctx context.Context, conte
if options != nil && options.Timeout != nil {
reqQP.Set("timeout", strconv.FormatInt(int64(*options.Timeout), 10))
}
- req.Raw().URL.RawQuery = reqQP.Encode()
+ req.Raw().URL.RawQuery = strings.Replace(reqQP.Encode(), "+", "%20", -1)
runtime.SkipBodyDownload(req)
+ req.Raw().Header["Accept"] = []string{"application/xml"}
req.Raw().Header["Content-Length"] = []string{strconv.FormatInt(contentLength, 10)}
req.Raw().Header["Content-Type"] = []string{multipartContentType}
- req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if options != nil && options.RequestID != nil {
req.Raw().Header["x-ms-client-request-id"] = []string{*options.RequestID}
}
- req.Raw().Header["Accept"] = []string{"application/xml"}
+ req.Raw().Header["x-ms-version"] = []string{ServiceVersion}
if err := req.SetBody(body, multipartContentType); err != nil {
return nil, err
}
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_time_rfc1123.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_time_rfc1123.go
index 586650329724f..ee3732ebcc1d7 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_time_rfc1123.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_time_rfc1123.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
@@ -36,7 +33,14 @@ func (t *dateTimeRFC1123) UnmarshalJSON(data []byte) error {
}
func (t *dateTimeRFC1123) UnmarshalText(data []byte) error {
+ if len(data) == 0 {
+ return nil
+ }
p, err := time.Parse(time.RFC1123, string(data))
*t = dateTimeRFC1123(p)
return err
}
+
+func (t dateTimeRFC1123) String() string {
+ return time.Time(t).Format(time.RFC1123)
+}
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_time_rfc3339.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_time_rfc3339.go
index 82b370133fac4..e9eac9bcb1101 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_time_rfc3339.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_time_rfc3339.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
@@ -15,12 +12,16 @@ import (
)
// Azure reports time in UTC but it doesn't include the 'Z' time zone suffix in some cases.
-var tzOffsetRegex = regexp.MustCompile(`(Z|z|\+|-)(\d+:\d+)*"*$`)
+var tzOffsetRegex = regexp.MustCompile(`(?:Z|z|\+|-)(?:\d+:\d+)*"*$`)
const (
- utcDateTimeJSON = `"2006-01-02T15:04:05.999999999"`
- utcDateTime = "2006-01-02T15:04:05.999999999"
- dateTimeJSON = `"` + time.RFC3339Nano + `"`
+ utcDateTime = "2006-01-02T15:04:05.999999999"
+ utcDateTimeJSON = `"` + utcDateTime + `"`
+ utcDateTimeNoT = "2006-01-02 15:04:05.999999999"
+ utcDateTimeJSONNoT = `"` + utcDateTimeNoT + `"`
+ dateTimeNoT = `2006-01-02 15:04:05.999999999Z07:00`
+ dateTimeJSON = `"` + time.RFC3339Nano + `"`
+ dateTimeJSONNoT = `"` + dateTimeNoT + `"`
)
type dateTimeRFC3339 time.Time
@@ -36,17 +37,36 @@ func (t dateTimeRFC3339) MarshalText() ([]byte, error) {
}
func (t *dateTimeRFC3339) UnmarshalJSON(data []byte) error {
- layout := utcDateTimeJSON
- if tzOffsetRegex.Match(data) {
+ tzOffset := tzOffsetRegex.Match(data)
+ hasT := strings.Contains(string(data), "T") || strings.Contains(string(data), "t")
+ var layout string
+ if tzOffset && hasT {
layout = dateTimeJSON
+ } else if tzOffset {
+ layout = dateTimeJSONNoT
+ } else if hasT {
+ layout = utcDateTimeJSON
+ } else {
+ layout = utcDateTimeJSONNoT
}
return t.Parse(layout, string(data))
}
func (t *dateTimeRFC3339) UnmarshalText(data []byte) error {
- layout := utcDateTime
- if tzOffsetRegex.Match(data) {
+ if len(data) == 0 {
+ return nil
+ }
+ tzOffset := tzOffsetRegex.Match(data)
+ hasT := strings.Contains(string(data), "T") || strings.Contains(string(data), "t")
+ var layout string
+ if tzOffset && hasT {
layout = time.RFC3339Nano
+ } else if tzOffset {
+ layout = dateTimeNoT
+ } else if hasT {
+ layout = utcDateTime
+ } else {
+ layout = utcDateTimeNoT
}
return t.Parse(layout, string(data))
}
@@ -56,3 +76,7 @@ func (t *dateTimeRFC3339) Parse(layout, value string) error {
*t = dateTimeRFC3339(p)
return err
}
+
+func (t dateTimeRFC3339) String() string {
+ return time.Time(t).Format(time.RFC3339Nano)
+}
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_xml_helper.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_xml_helper.go
index 1bd0e4de05a88..355d0176b3d6c 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_xml_helper.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_xml_helper.go
@@ -1,6 +1,3 @@
-//go:build go1.18
-// +build go1.18
-
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared/batch_transfer.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared/batch_transfer.go
index 9f95ad8ae4335..5c44af34ae9b2 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared/batch_transfer.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared/batch_transfer.go
@@ -44,7 +44,6 @@ func DoBatchTransfer(ctx context.Context, o *BatchTransferOptions) error {
// Create the goroutines that process each operation (in parallel).
for g := uint16(0); g < o.Concurrency; g++ {
- //grIndex := g
go func() {
for f := range operationChannel {
err := f()
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared/mmf_unix.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared/mmf_unix.go
index cdcadf3116078..072fd27b1d3f7 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared/mmf_unix.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared/mmf_unix.go
@@ -1,6 +1,6 @@
-//go:build go1.18 && (linux || darwin || dragonfly || freebsd || openbsd || netbsd || solaris || aix)
+//go:build go1.18 && (linux || darwin || dragonfly || freebsd || openbsd || netbsd || solaris || aix || zos)
// +build go1.18
-// +build linux darwin dragonfly freebsd openbsd netbsd solaris aix
+// +build linux darwin dragonfly freebsd openbsd netbsd solaris aix zos
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/pageblob/client.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/pageblob/client.go
index 30d0253af91cb..63ceac9792e3d 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/pageblob/client.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/pageblob/client.go
@@ -380,8 +380,8 @@ func (pb *Client) GetAccountInfo(ctx context.Context, o *blob.GetAccountInfoOpti
// SetHTTPHeaders changes a blob's HTTP headers.
// For more information, see https://docs.microsoft.com/rest/api/storageservices/set-blob-properties.
-func (pb *Client) SetHTTPHeaders(ctx context.Context, HTTPHeaders blob.HTTPHeaders, o *blob.SetHTTPHeadersOptions) (blob.SetHTTPHeadersResponse, error) {
- return pb.BlobClient().SetHTTPHeaders(ctx, HTTPHeaders, o)
+func (pb *Client) SetHTTPHeaders(ctx context.Context, httpHeaders blob.HTTPHeaders, o *blob.SetHTTPHeadersOptions) (blob.SetHTTPHeadersResponse, error) {
+ return pb.BlobClient().SetHTTPHeaders(ctx, httpHeaders, o)
}
// SetMetadata changes a blob's metadata.
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas/service.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas/service.go
index 45f730847d28f..813fa77a9e684 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas/service.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas/service.go
@@ -255,7 +255,7 @@ func (v BlobSignatureValues) SignWithUserDelegation(userDelegationCredential *Us
signature: signature,
}
- //User delegation SAS specific parameters
+ // User delegation SAS specific parameters
p.signedOID = *udk.SignedOID
p.signedTID = *udk.SignedTID
p.signedStart = *udk.SignedStart
@@ -272,7 +272,7 @@ func getCanonicalName(account string, containerName string, blobName string, dir
// Blob: "/blob/account/containername/blobname"
elements := []string{"/blob/", account, "/", containerName}
if blobName != "" {
- elements = append(elements, "/", strings.Replace(blobName, "\\", "/", -1))
+ elements = append(elements, "/", strings.ReplaceAll(blobName, "\\", "/"))
} else if directoryName != "" {
elements = append(elements, "/", directoryName)
}
diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas/url_parts.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas/url_parts.go
index 57fe053f07aeb..758739cb826db 100644
--- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas/url_parts.go
+++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas/url_parts.go
@@ -117,7 +117,7 @@ func (up URLParts) String() string {
rawQuery := up.UnparsedParams
- //If no snapshot is initially provided, fill it in from the SAS query properties to help the user
+ // If no snapshot is initially provided, fill it in from the SAS query properties to help the user
if up.Snapshot == "" && !up.SAS.SnapshotTime().IsZero() {
up.Snapshot = up.SAS.SnapshotTime().Format(exported.SnapshotTimeFormat)
}
diff --git a/vendor/github.com/Masterminds/semver/v3/CHANGELOG.md b/vendor/github.com/Masterminds/semver/v3/CHANGELOG.md
index f95a504fe7030..fabe5e43dc8cc 100644
--- a/vendor/github.com/Masterminds/semver/v3/CHANGELOG.md
+++ b/vendor/github.com/Masterminds/semver/v3/CHANGELOG.md
@@ -1,5 +1,31 @@
# Changelog
+## 3.4.0 (2025-06-27)
+
+### Added
+
+- #268: Added property to Constraints to include prereleases for Check and Validate
+
+### Changed
+
+- #263: Updated Go testing for 1.24, 1.23, and 1.22
+- #269: Updated the error message handling for message case and wrapping errors
+- #266: Restore the ability to have leading 0's when parsing with NewVersion.
+ Opt-out of this by setting CoerceNewVersion to false.
+
+### Fixed
+
+- #257: Fixed the CodeQL link (thanks @dmitris)
+- #262: Restored detailed errors when failed to parse with NewVersion. Opt-out
+ of this by setting DetailedNewVersionErrors to false for faster performance.
+- #267: Handle pre-releases for an "and" group if one constraint includes them
+
+## 3.3.1 (2024-11-19)
+
+### Fixed
+
+- #253: Fix for allowing some version that were invalid
+
## 3.3.0 (2024-08-27)
### Added
@@ -137,7 +163,7 @@ functions. These are described in the added and changed sections below.
- #78: Fix unchecked error in example code (thanks @ravron)
- #70: Fix the handling of pre-releases and the 0.0.0 release edge case
- #97: Fixed copyright file for proper display on GitHub
-- #107: Fix handling prerelease when sorting alphanum and num
+- #107: Fix handling prerelease when sorting alphanum and num
- #109: Fixed where Validate sometimes returns wrong message on error
## 1.4.2 (2018-04-10)
diff --git a/vendor/github.com/Masterminds/semver/v3/README.md b/vendor/github.com/Masterminds/semver/v3/README.md
index ed56936084b95..2f56c676a5de8 100644
--- a/vendor/github.com/Masterminds/semver/v3/README.md
+++ b/vendor/github.com/Masterminds/semver/v3/README.md
@@ -50,6 +50,18 @@ other versions, convert the version back into a string, and get the original
string. Getting the original string is useful if the semantic version was coerced
into a valid form.
+There are package level variables that affect how `NewVersion` handles parsing.
+
+- `CoerceNewVersion` is `true` by default. When set to `true` it coerces non-compliant
+ versions into SemVer. For example, allowing a leading 0 in a major, minor, or patch
+ part. This enables the use of CalVer in versions even when not compliant with SemVer.
+ When set to `false` less coercion work is done.
+- `DetailedNewVersionErrors` provides more detailed errors. It only has an affect when
+ `CoerceNewVersion` is set to `false`. When `DetailedNewVersionErrors` is set to `true`
+ it can provide some more insight into why a version is invalid. Setting
+ `DetailedNewVersionErrors` to `false` is faster on performance but provides less
+ detailed error messages if a version fails to parse.
+
## Sorting Semantic Versions
A set of versions can be sorted using the `sort` package from the standard library.
@@ -160,6 +172,10 @@ means `>=1.2.3-BETA` will return `1.2.3-alpha`. What you might expect from case
sensitivity doesn't apply here. This is due to ASCII sort ordering which is what
the spec specifies.
+The `Constraints` instance returned from `semver.NewConstraint()` has a property
+`IncludePrerelease` that, when set to true, will return prerelease versions when calls
+to `Check()` and `Validate()` are made.
+
### Hyphen Range Comparisons
There are multiple methods to handle ranges and the first is hyphens ranges.
@@ -250,7 +266,7 @@ or [create a pull request](https://github.com/Masterminds/semver/pulls).
Security is an important consideration for this project. The project currently
uses the following tools to help discover security issues:
-* [CodeQL](https://github.com/Masterminds/semver)
+* [CodeQL](https://codeql.github.com)
* [gosec](https://github.com/securego/gosec)
* Daily Fuzz testing
diff --git a/vendor/github.com/Masterminds/semver/v3/constraints.go b/vendor/github.com/Masterminds/semver/v3/constraints.go
index 8461c7ed90388..8b7a10f836907 100644
--- a/vendor/github.com/Masterminds/semver/v3/constraints.go
+++ b/vendor/github.com/Masterminds/semver/v3/constraints.go
@@ -12,6 +12,13 @@ import (
// checked against.
type Constraints struct {
constraints [][]*constraint
+ containsPre []bool
+
+ // IncludePrerelease specifies if pre-releases should be included in
+ // the results. Note, if a constraint range has a prerelease than
+ // prereleases will be included for that AND group even if this is
+ // set to false.
+ IncludePrerelease bool
}
// NewConstraint returns a Constraints instance that a Version instance can
@@ -22,11 +29,10 @@ func NewConstraint(c string) (*Constraints, error) {
c = rewriteRange(c)
ors := strings.Split(c, "||")
- or := make([][]*constraint, len(ors))
+ lenors := len(ors)
+ or := make([][]*constraint, lenors)
+ hasPre := make([]bool, lenors)
for k, v := range ors {
-
- // TODO: Find a way to validate and fetch all the constraints in a simpler form
-
// Validate the segment
if !validConstraintRegex.MatchString(v) {
return nil, fmt.Errorf("improper constraint: %s", v)
@@ -43,12 +49,22 @@ func NewConstraint(c string) (*Constraints, error) {
return nil, err
}
+ // If one of the constraints has a prerelease record this.
+ // This information is used when checking all in an "and"
+ // group to ensure they all check for prereleases.
+ if pc.con.pre != "" {
+ hasPre[k] = true
+ }
+
result[i] = pc
}
or[k] = result
}
- o := &Constraints{constraints: or}
+ o := &Constraints{
+ constraints: or,
+ containsPre: hasPre,
+ }
return o, nil
}
@@ -57,10 +73,10 @@ func (cs Constraints) Check(v *Version) bool {
// TODO(mattfarina): For v4 of this library consolidate the Check and Validate
// functions as the underlying functions make that possible now.
// loop over the ORs and check the inner ANDs
- for _, o := range cs.constraints {
+ for i, o := range cs.constraints {
joy := true
for _, c := range o {
- if check, _ := c.check(v); !check {
+ if check, _ := c.check(v, (cs.IncludePrerelease || cs.containsPre[i])); !check {
joy = false
break
}
@@ -83,12 +99,12 @@ func (cs Constraints) Validate(v *Version) (bool, []error) {
// Capture the prerelease message only once. When it happens the first time
// this var is marked
var prerelesase bool
- for _, o := range cs.constraints {
+ for i, o := range cs.constraints {
joy := true
for _, c := range o {
// Before running the check handle the case there the version is
// a prerelease and the check is not searching for prereleases.
- if c.con.pre == "" && v.pre != "" {
+ if !(cs.IncludePrerelease || cs.containsPre[i]) && v.pre != "" {
if !prerelesase {
em := fmt.Errorf("%s is a prerelease version and the constraint is only looking for release versions", v)
e = append(e, em)
@@ -98,7 +114,7 @@ func (cs Constraints) Validate(v *Version) (bool, []error) {
} else {
- if _, err := c.check(v); err != nil {
+ if _, err := c.check(v, (cs.IncludePrerelease || cs.containsPre[i])); err != nil {
e = append(e, err)
joy = false
}
@@ -227,8 +243,8 @@ type constraint struct {
}
// Check if a version meets the constraint
-func (c *constraint) check(v *Version) (bool, error) {
- return constraintOps[c.origfunc](v, c)
+func (c *constraint) check(v *Version, includePre bool) (bool, error) {
+ return constraintOps[c.origfunc](v, c, includePre)
}
// String prints an individual constraint into a string
@@ -236,7 +252,7 @@ func (c *constraint) string() string {
return c.origfunc + c.orig
}
-type cfunc func(v *Version, c *constraint) (bool, error)
+type cfunc func(v *Version, c *constraint, includePre bool) (bool, error)
func parseConstraint(c string) (*constraint, error) {
if len(c) > 0 {
@@ -272,7 +288,7 @@ func parseConstraint(c string) (*constraint, error) {
// The constraintRegex should catch any regex parsing errors. So,
// we should never get here.
- return nil, errors.New("constraint Parser Error")
+ return nil, errors.New("constraint parser error")
}
cs.con = con
@@ -290,7 +306,7 @@ func parseConstraint(c string) (*constraint, error) {
// The constraintRegex should catch any regex parsing errors. So,
// we should never get here.
- return nil, errors.New("constraint Parser Error")
+ return nil, errors.New("constraint parser error")
}
cs := &constraint{
@@ -305,16 +321,14 @@ func parseConstraint(c string) (*constraint, error) {
}
// Constraint functions
-func constraintNotEqual(v *Version, c *constraint) (bool, error) {
- if c.dirty {
-
- // If there is a pre-release on the version but the constraint isn't looking
- // for them assume that pre-releases are not compatible. See issue 21 for
- // more details.
- if v.Prerelease() != "" && c.con.Prerelease() == "" {
- return false, fmt.Errorf("%s is a prerelease version and the constraint is only looking for release versions", v)
- }
+func constraintNotEqual(v *Version, c *constraint, includePre bool) (bool, error) {
+ // The existence of prereleases is checked at the group level and passed in.
+ // Exit early if the version has a prerelease but those are to be ignored.
+ if v.Prerelease() != "" && !includePre {
+ return false, fmt.Errorf("%s is a prerelease version and the constraint is only looking for release versions", v)
+ }
+ if c.dirty {
if c.con.Major() != v.Major() {
return true, nil
}
@@ -345,12 +359,11 @@ func constraintNotEqual(v *Version, c *constraint) (bool, error) {
return true, nil
}
-func constraintGreaterThan(v *Version, c *constraint) (bool, error) {
+func constraintGreaterThan(v *Version, c *constraint, includePre bool) (bool, error) {
- // If there is a pre-release on the version but the constraint isn't looking
- // for them assume that pre-releases are not compatible. See issue 21 for
- // more details.
- if v.Prerelease() != "" && c.con.Prerelease() == "" {
+ // The existence of prereleases is checked at the group level and passed in.
+ // Exit early if the version has a prerelease but those are to be ignored.
+ if v.Prerelease() != "" && !includePre {
return false, fmt.Errorf("%s is a prerelease version and the constraint is only looking for release versions", v)
}
@@ -391,11 +404,10 @@ func constraintGreaterThan(v *Version, c *constraint) (bool, error) {
return false, fmt.Errorf("%s is less than or equal to %s", v, c.orig)
}
-func constraintLessThan(v *Version, c *constraint) (bool, error) {
- // If there is a pre-release on the version but the constraint isn't looking
- // for them assume that pre-releases are not compatible. See issue 21 for
- // more details.
- if v.Prerelease() != "" && c.con.Prerelease() == "" {
+func constraintLessThan(v *Version, c *constraint, includePre bool) (bool, error) {
+ // The existence of prereleases is checked at the group level and passed in.
+ // Exit early if the version has a prerelease but those are to be ignored.
+ if v.Prerelease() != "" && !includePre {
return false, fmt.Errorf("%s is a prerelease version and the constraint is only looking for release versions", v)
}
@@ -406,12 +418,11 @@ func constraintLessThan(v *Version, c *constraint) (bool, error) {
return false, fmt.Errorf("%s is greater than or equal to %s", v, c.orig)
}
-func constraintGreaterThanEqual(v *Version, c *constraint) (bool, error) {
+func constraintGreaterThanEqual(v *Version, c *constraint, includePre bool) (bool, error) {
- // If there is a pre-release on the version but the constraint isn't looking
- // for them assume that pre-releases are not compatible. See issue 21 for
- // more details.
- if v.Prerelease() != "" && c.con.Prerelease() == "" {
+ // The existence of prereleases is checked at the group level and passed in.
+ // Exit early if the version has a prerelease but those are to be ignored.
+ if v.Prerelease() != "" && !includePre {
return false, fmt.Errorf("%s is a prerelease version and the constraint is only looking for release versions", v)
}
@@ -422,11 +433,10 @@ func constraintGreaterThanEqual(v *Version, c *constraint) (bool, error) {
return false, fmt.Errorf("%s is less than %s", v, c.orig)
}
-func constraintLessThanEqual(v *Version, c *constraint) (bool, error) {
- // If there is a pre-release on the version but the constraint isn't looking
- // for them assume that pre-releases are not compatible. See issue 21 for
- // more details.
- if v.Prerelease() != "" && c.con.Prerelease() == "" {
+func constraintLessThanEqual(v *Version, c *constraint, includePre bool) (bool, error) {
+ // The existence of prereleases is checked at the group level and passed in.
+ // Exit early if the version has a prerelease but those are to be ignored.
+ if v.Prerelease() != "" && !includePre {
return false, fmt.Errorf("%s is a prerelease version and the constraint is only looking for release versions", v)
}
@@ -455,11 +465,10 @@ func constraintLessThanEqual(v *Version, c *constraint) (bool, error) {
// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0, <1.3.0
// ~1.2.3, ~>1.2.3 --> >=1.2.3, <1.3.0
// ~1.2.0, ~>1.2.0 --> >=1.2.0, <1.3.0
-func constraintTilde(v *Version, c *constraint) (bool, error) {
- // If there is a pre-release on the version but the constraint isn't looking
- // for them assume that pre-releases are not compatible. See issue 21 for
- // more details.
- if v.Prerelease() != "" && c.con.Prerelease() == "" {
+func constraintTilde(v *Version, c *constraint, includePre bool) (bool, error) {
+ // The existence of prereleases is checked at the group level and passed in.
+ // Exit early if the version has a prerelease but those are to be ignored.
+ if v.Prerelease() != "" && !includePre {
return false, fmt.Errorf("%s is a prerelease version and the constraint is only looking for release versions", v)
}
@@ -487,16 +496,15 @@ func constraintTilde(v *Version, c *constraint) (bool, error) {
// When there is a .x (dirty) status it automatically opts in to ~. Otherwise
// it's a straight =
-func constraintTildeOrEqual(v *Version, c *constraint) (bool, error) {
- // If there is a pre-release on the version but the constraint isn't looking
- // for them assume that pre-releases are not compatible. See issue 21 for
- // more details.
- if v.Prerelease() != "" && c.con.Prerelease() == "" {
+func constraintTildeOrEqual(v *Version, c *constraint, includePre bool) (bool, error) {
+ // The existence of prereleases is checked at the group level and passed in.
+ // Exit early if the version has a prerelease but those are to be ignored.
+ if v.Prerelease() != "" && !includePre {
return false, fmt.Errorf("%s is a prerelease version and the constraint is only looking for release versions", v)
}
if c.dirty {
- return constraintTilde(v, c)
+ return constraintTilde(v, c, includePre)
}
eq := v.Equal(c.con)
@@ -516,11 +524,10 @@ func constraintTildeOrEqual(v *Version, c *constraint) (bool, error) {
// ^0.0.3 --> >=0.0.3 <0.0.4
// ^0.0 --> >=0.0.0 <0.1.0
// ^0 --> >=0.0.0 <1.0.0
-func constraintCaret(v *Version, c *constraint) (bool, error) {
- // If there is a pre-release on the version but the constraint isn't looking
- // for them assume that pre-releases are not compatible. See issue 21 for
- // more details.
- if v.Prerelease() != "" && c.con.Prerelease() == "" {
+func constraintCaret(v *Version, c *constraint, includePre bool) (bool, error) {
+ // The existence of prereleases is checked at the group level and passed in.
+ // Exit early if the version has a prerelease but those are to be ignored.
+ if v.Prerelease() != "" && !includePre {
return false, fmt.Errorf("%s is a prerelease version and the constraint is only looking for release versions", v)
}
diff --git a/vendor/github.com/Masterminds/semver/v3/version.go b/vendor/github.com/Masterminds/semver/v3/version.go
index 304edc3422ec9..7a3ba73887644 100644
--- a/vendor/github.com/Masterminds/semver/v3/version.go
+++ b/vendor/github.com/Masterminds/semver/v3/version.go
@@ -14,28 +14,40 @@ import (
// The compiled version of the regex created at init() is cached here so it
// only needs to be created once.
var versionRegex *regexp.Regexp
+var looseVersionRegex *regexp.Regexp
+
+// CoerceNewVersion sets if leading 0's are allowd in the version part. Leading 0's are
+// not allowed in a valid semantic version. When set to true, NewVersion will coerce
+// leading 0's into a valid version.
+var CoerceNewVersion = true
+
+// DetailedNewVersionErrors specifies if detailed errors are returned from the NewVersion
+// function. This is used when CoerceNewVersion is set to false. If set to false
+// ErrInvalidSemVer is returned for an invalid version. This does not apply to
+// StrictNewVersion. Setting this function to false returns errors more quickly.
+var DetailedNewVersionErrors = true
var (
// ErrInvalidSemVer is returned a version is found to be invalid when
// being parsed.
- ErrInvalidSemVer = errors.New("Invalid Semantic Version")
+ ErrInvalidSemVer = errors.New("invalid semantic version")
// ErrEmptyString is returned when an empty string is passed in for parsing.
- ErrEmptyString = errors.New("Version string empty")
+ ErrEmptyString = errors.New("version string empty")
// ErrInvalidCharacters is returned when invalid characters are found as
// part of a version
- ErrInvalidCharacters = errors.New("Invalid characters in version")
+ ErrInvalidCharacters = errors.New("invalid characters in version")
// ErrSegmentStartsZero is returned when a version segment starts with 0.
// This is invalid in SemVer.
- ErrSegmentStartsZero = errors.New("Version segment starts with 0")
+ ErrSegmentStartsZero = errors.New("version segment starts with 0")
// ErrInvalidMetadata is returned when the metadata is an invalid format
- ErrInvalidMetadata = errors.New("Invalid Metadata string")
+ ErrInvalidMetadata = errors.New("invalid metadata string")
// ErrInvalidPrerelease is returned when the pre-release is an invalid format
- ErrInvalidPrerelease = errors.New("Invalid Prerelease string")
+ ErrInvalidPrerelease = errors.New("invalid prerelease string")
)
// semVerRegex is the regular expression used to parse a semantic version.
@@ -45,6 +57,12 @@ const semVerRegex string = `v?(0|[1-9]\d*)(?:\.(0|[1-9]\d*))?(?:\.(0|[1-9]\d*))?
`(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?` +
`(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?`
+// looseSemVerRegex is a regular expression that lets invalid semver expressions through
+// with enough detail that certain errors can be checked for.
+const looseSemVerRegex string = `v?([0-9]+)(\.[0-9]+)?(\.[0-9]+)?` +
+ `(-([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?` +
+ `(\+([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?`
+
// Version represents a single semantic version.
type Version struct {
major, minor, patch uint64
@@ -55,6 +73,7 @@ type Version struct {
func init() {
versionRegex = regexp.MustCompile("^" + semVerRegex + "$")
+ looseVersionRegex = regexp.MustCompile("^" + looseSemVerRegex + "$")
}
const (
@@ -142,8 +161,27 @@ func StrictNewVersion(v string) (*Version, error) {
// attempts to convert it to SemVer. If you want to validate it was a strict
// semantic version at parse time see StrictNewVersion().
func NewVersion(v string) (*Version, error) {
+ if CoerceNewVersion {
+ return coerceNewVersion(v)
+ }
m := versionRegex.FindStringSubmatch(v)
if m == nil {
+
+ // Disabling detailed errors is first so that it is in the fast path.
+ if !DetailedNewVersionErrors {
+ return nil, ErrInvalidSemVer
+ }
+
+ // Check for specific errors with the semver string and return a more detailed
+ // error.
+ m = looseVersionRegex.FindStringSubmatch(v)
+ if m == nil {
+ return nil, ErrInvalidSemVer
+ }
+ err := validateVersion(m)
+ if err != nil {
+ return nil, err
+ }
return nil, ErrInvalidSemVer
}
@@ -156,13 +194,13 @@ func NewVersion(v string) (*Version, error) {
var err error
sv.major, err = strconv.ParseUint(m[1], 10, 64)
if err != nil {
- return nil, fmt.Errorf("Error parsing version segment: %s", err)
+ return nil, fmt.Errorf("error parsing version segment: %w", err)
}
if m[2] != "" {
sv.minor, err = strconv.ParseUint(m[2], 10, 64)
if err != nil {
- return nil, fmt.Errorf("Error parsing version segment: %s", err)
+ return nil, fmt.Errorf("error parsing version segment: %w", err)
}
} else {
sv.minor = 0
@@ -171,7 +209,61 @@ func NewVersion(v string) (*Version, error) {
if m[3] != "" {
sv.patch, err = strconv.ParseUint(m[3], 10, 64)
if err != nil {
- return nil, fmt.Errorf("Error parsing version segment: %s", err)
+ return nil, fmt.Errorf("error parsing version segment: %w", err)
+ }
+ } else {
+ sv.patch = 0
+ }
+
+ // Perform some basic due diligence on the extra parts to ensure they are
+ // valid.
+
+ if sv.pre != "" {
+ if err = validatePrerelease(sv.pre); err != nil {
+ return nil, err
+ }
+ }
+
+ if sv.metadata != "" {
+ if err = validateMetadata(sv.metadata); err != nil {
+ return nil, err
+ }
+ }
+
+ return sv, nil
+}
+
+func coerceNewVersion(v string) (*Version, error) {
+ m := looseVersionRegex.FindStringSubmatch(v)
+ if m == nil {
+ return nil, ErrInvalidSemVer
+ }
+
+ sv := &Version{
+ metadata: m[8],
+ pre: m[5],
+ original: v,
+ }
+
+ var err error
+ sv.major, err = strconv.ParseUint(m[1], 10, 64)
+ if err != nil {
+ return nil, fmt.Errorf("error parsing version segment: %w", err)
+ }
+
+ if m[2] != "" {
+ sv.minor, err = strconv.ParseUint(strings.TrimPrefix(m[2], "."), 10, 64)
+ if err != nil {
+ return nil, fmt.Errorf("error parsing version segment: %w", err)
+ }
+ } else {
+ sv.minor = 0
+ }
+
+ if m[3] != "" {
+ sv.patch, err = strconv.ParseUint(strings.TrimPrefix(m[3], "."), 10, 64)
+ if err != nil {
+ return nil, fmt.Errorf("error parsing version segment: %w", err)
}
} else {
sv.patch = 0
@@ -615,7 +707,7 @@ func validatePrerelease(p string) error {
eparts := strings.Split(p, ".")
for _, p := range eparts {
if p == "" {
- return ErrInvalidMetadata
+ return ErrInvalidPrerelease
} else if containsOnly(p, num) {
if len(p) > 1 && p[0] == '0' {
return ErrSegmentStartsZero
@@ -643,3 +735,54 @@ func validateMetadata(m string) error {
}
return nil
}
+
+// validateVersion checks for common validation issues but may not catch all errors
+func validateVersion(m []string) error {
+ var err error
+ var v string
+ if m[1] != "" {
+ if len(m[1]) > 1 && m[1][0] == '0' {
+ return ErrSegmentStartsZero
+ }
+ _, err = strconv.ParseUint(m[1], 10, 64)
+ if err != nil {
+ return fmt.Errorf("error parsing version segment: %w", err)
+ }
+ }
+
+ if m[2] != "" {
+ v = strings.TrimPrefix(m[2], ".")
+ if len(v) > 1 && v[0] == '0' {
+ return ErrSegmentStartsZero
+ }
+ _, err = strconv.ParseUint(v, 10, 64)
+ if err != nil {
+ return fmt.Errorf("error parsing version segment: %w", err)
+ }
+ }
+
+ if m[3] != "" {
+ v = strings.TrimPrefix(m[3], ".")
+ if len(v) > 1 && v[0] == '0' {
+ return ErrSegmentStartsZero
+ }
+ _, err = strconv.ParseUint(v, 10, 64)
+ if err != nil {
+ return fmt.Errorf("error parsing version segment: %w", err)
+ }
+ }
+
+ if m[5] != "" {
+ if err = validatePrerelease(m[5]); err != nil {
+ return err
+ }
+ }
+
+ if m[8] != "" {
+ if err = validateMetadata(m[8]); err != nil {
+ return err
+ }
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/CHANGELOG.md
index 1685a11a19438..435fac42d39a7 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/CHANGELOG.md
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/CHANGELOG.md
@@ -1,3 +1,7 @@
+# v1.255.0 (2025-10-13)
+
+* **Feature**: Release Amazon EC2 c8i, c8i-flex, m8a, and r8gb
+
# v1.254.1 (2025-09-26)
* **Documentation**: This release includes documentation updates for Amazon EBS General Purpose SSD (gp3) volumes with larger size and higher IOPS and throughput.
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/go_module_metadata.go
index e10c35a4c6ed5..ee9ade3aedc24 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/go_module_metadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/go_module_metadata.go
@@ -3,4 +3,4 @@
package ec2
// goModuleVersion is the tagged release for this module
-const goModuleVersion = "1.254.1"
+const goModuleVersion = "1.255.0"
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/enums.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/enums.go
index 36fc6b0f088a0..c5b433d4cd279 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/enums.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ec2/types/enums.go
@@ -4578,6 +4578,48 @@ const (
InstanceTypeR8gn48xlarge InstanceType = "r8gn.48xlarge"
InstanceTypeR8gnMetal24xl InstanceType = "r8gn.metal-24xl"
InstanceTypeR8gnMetal48xl InstanceType = "r8gn.metal-48xl"
+ InstanceTypeC8iLarge InstanceType = "c8i.large"
+ InstanceTypeC8iXlarge InstanceType = "c8i.xlarge"
+ InstanceTypeC8i2xlarge InstanceType = "c8i.2xlarge"
+ InstanceTypeC8i4xlarge InstanceType = "c8i.4xlarge"
+ InstanceTypeC8i8xlarge InstanceType = "c8i.8xlarge"
+ InstanceTypeC8i12xlarge InstanceType = "c8i.12xlarge"
+ InstanceTypeC8i16xlarge InstanceType = "c8i.16xlarge"
+ InstanceTypeC8i24xlarge InstanceType = "c8i.24xlarge"
+ InstanceTypeC8i32xlarge InstanceType = "c8i.32xlarge"
+ InstanceTypeC8i48xlarge InstanceType = "c8i.48xlarge"
+ InstanceTypeC8i96xlarge InstanceType = "c8i.96xlarge"
+ InstanceTypeC8iMetal48xl InstanceType = "c8i.metal-48xl"
+ InstanceTypeC8iMetal96xl InstanceType = "c8i.metal-96xl"
+ InstanceTypeC8iFlexLarge InstanceType = "c8i-flex.large"
+ InstanceTypeC8iFlexXlarge InstanceType = "c8i-flex.xlarge"
+ InstanceTypeC8iFlex2xlarge InstanceType = "c8i-flex.2xlarge"
+ InstanceTypeC8iFlex4xlarge InstanceType = "c8i-flex.4xlarge"
+ InstanceTypeC8iFlex8xlarge InstanceType = "c8i-flex.8xlarge"
+ InstanceTypeC8iFlex12xlarge InstanceType = "c8i-flex.12xlarge"
+ InstanceTypeC8iFlex16xlarge InstanceType = "c8i-flex.16xlarge"
+ InstanceTypeR8gbMedium InstanceType = "r8gb.medium"
+ InstanceTypeR8gbLarge InstanceType = "r8gb.large"
+ InstanceTypeR8gbXlarge InstanceType = "r8gb.xlarge"
+ InstanceTypeR8gb2xlarge InstanceType = "r8gb.2xlarge"
+ InstanceTypeR8gb4xlarge InstanceType = "r8gb.4xlarge"
+ InstanceTypeR8gb8xlarge InstanceType = "r8gb.8xlarge"
+ InstanceTypeR8gb12xlarge InstanceType = "r8gb.12xlarge"
+ InstanceTypeR8gb16xlarge InstanceType = "r8gb.16xlarge"
+ InstanceTypeR8gb24xlarge InstanceType = "r8gb.24xlarge"
+ InstanceTypeR8gbMetal24xl InstanceType = "r8gb.metal-24xl"
+ InstanceTypeM8aMedium InstanceType = "m8a.medium"
+ InstanceTypeM8aLarge InstanceType = "m8a.large"
+ InstanceTypeM8aXlarge InstanceType = "m8a.xlarge"
+ InstanceTypeM8a2xlarge InstanceType = "m8a.2xlarge"
+ InstanceTypeM8a4xlarge InstanceType = "m8a.4xlarge"
+ InstanceTypeM8a8xlarge InstanceType = "m8a.8xlarge"
+ InstanceTypeM8a12xlarge InstanceType = "m8a.12xlarge"
+ InstanceTypeM8a16xlarge InstanceType = "m8a.16xlarge"
+ InstanceTypeM8a24xlarge InstanceType = "m8a.24xlarge"
+ InstanceTypeM8a48xlarge InstanceType = "m8a.48xlarge"
+ InstanceTypeM8aMetal24xl InstanceType = "m8a.metal-24xl"
+ InstanceTypeM8aMetal48xl InstanceType = "m8a.metal-48xl"
)
// Values returns all known values for InstanceType. Note that this can be
@@ -5616,6 +5658,48 @@ func (InstanceType) Values() []InstanceType {
"r8gn.48xlarge",
"r8gn.metal-24xl",
"r8gn.metal-48xl",
+ "c8i.large",
+ "c8i.xlarge",
+ "c8i.2xlarge",
+ "c8i.4xlarge",
+ "c8i.8xlarge",
+ "c8i.12xlarge",
+ "c8i.16xlarge",
+ "c8i.24xlarge",
+ "c8i.32xlarge",
+ "c8i.48xlarge",
+ "c8i.96xlarge",
+ "c8i.metal-48xl",
+ "c8i.metal-96xl",
+ "c8i-flex.large",
+ "c8i-flex.xlarge",
+ "c8i-flex.2xlarge",
+ "c8i-flex.4xlarge",
+ "c8i-flex.8xlarge",
+ "c8i-flex.12xlarge",
+ "c8i-flex.16xlarge",
+ "r8gb.medium",
+ "r8gb.large",
+ "r8gb.xlarge",
+ "r8gb.2xlarge",
+ "r8gb.4xlarge",
+ "r8gb.8xlarge",
+ "r8gb.12xlarge",
+ "r8gb.16xlarge",
+ "r8gb.24xlarge",
+ "r8gb.metal-24xl",
+ "m8a.medium",
+ "m8a.large",
+ "m8a.xlarge",
+ "m8a.2xlarge",
+ "m8a.4xlarge",
+ "m8a.8xlarge",
+ "m8a.12xlarge",
+ "m8a.16xlarge",
+ "m8a.24xlarge",
+ "m8a.48xlarge",
+ "m8a.metal-24xl",
+ "m8a.metal-48xl",
}
}
diff --git a/vendor/github.com/docker/go-connections/nat/nat.go b/vendor/github.com/docker/go-connections/nat/nat.go
index 4049d780c54a5..1ffe0355dc154 100644
--- a/vendor/github.com/docker/go-connections/nat/nat.go
+++ b/vendor/github.com/docker/go-connections/nat/nat.go
@@ -2,6 +2,7 @@
package nat
import (
+ "errors"
"fmt"
"net"
"strconv"
@@ -43,19 +44,19 @@ func NewPort(proto, port string) (Port, error) {
// ParsePort parses the port number string and returns an int
func ParsePort(rawPort string) (int, error) {
- if len(rawPort) == 0 {
+ if rawPort == "" {
return 0, nil
}
port, err := strconv.ParseUint(rawPort, 10, 16)
if err != nil {
- return 0, err
+ return 0, fmt.Errorf("invalid port '%s': %w", rawPort, errors.Unwrap(err))
}
return int(port), nil
}
// ParsePortRangeToInt parses the port range string and returns start/end ints
func ParsePortRangeToInt(rawPort string) (int, int, error) {
- if len(rawPort) == 0 {
+ if rawPort == "" {
return 0, 0, nil
}
start, end, err := ParsePortRange(rawPort)
@@ -91,29 +92,31 @@ func (p Port) Range() (int, int, error) {
return ParsePortRangeToInt(p.Port())
}
-// SplitProtoPort splits a port in the format of proto/port
-func SplitProtoPort(rawPort string) (string, string) {
- parts := strings.Split(rawPort, "/")
- l := len(parts)
- if len(rawPort) == 0 || l == 0 || len(parts[0]) == 0 {
+// SplitProtoPort splits a port(range) and protocol, formatted as "/[]"
+// "/[]". It returns an empty string for both if
+// no port(range) is provided. If a port(range) is provided, but no protocol,
+// the default ("tcp") protocol is returned.
+//
+// SplitProtoPort does not validate or normalize the returned values.
+func SplitProtoPort(rawPort string) (proto string, port string) {
+ port, proto, _ = strings.Cut(rawPort, "/")
+ if port == "" {
return "", ""
}
- if l == 1 {
- return "tcp", rawPort
+ if proto == "" {
+ proto = "tcp"
}
- if len(parts[1]) == 0 {
- return "tcp", parts[0]
- }
- return parts[1], parts[0]
+ return proto, port
}
-func validateProto(proto string) bool {
- for _, availableProto := range []string{"tcp", "udp", "sctp"} {
- if availableProto == proto {
- return true
- }
+func validateProto(proto string) error {
+ switch proto {
+ case "tcp", "udp", "sctp":
+ // All good
+ return nil
+ default:
+ return errors.New("invalid proto: " + proto)
}
- return false
}
// ParsePortSpecs receives port specs in the format of ip:public:private/proto and parses
@@ -123,22 +126,18 @@ func ParsePortSpecs(ports []string) (map[Port]struct{}, map[Port][]PortBinding,
exposedPorts = make(map[Port]struct{}, len(ports))
bindings = make(map[Port][]PortBinding)
)
- for _, rawPort := range ports {
- portMappings, err := ParsePortSpec(rawPort)
+ for _, p := range ports {
+ portMappings, err := ParsePortSpec(p)
if err != nil {
return nil, nil, err
}
- for _, portMapping := range portMappings {
- port := portMapping.Port
- if _, exists := exposedPorts[port]; !exists {
+ for _, pm := range portMappings {
+ port := pm.Port
+ if _, ok := exposedPorts[port]; !ok {
exposedPorts[port] = struct{}{}
}
- bslice, exists := bindings[port]
- if !exists {
- bslice = []PortBinding{}
- }
- bindings[port] = append(bslice, portMapping.Binding)
+ bindings[port] = append(bindings[port], pm.Binding)
}
}
return exposedPorts, bindings, nil
@@ -150,28 +149,34 @@ type PortMapping struct {
Binding PortBinding
}
-func splitParts(rawport string) (string, string, string) {
+func (p *PortMapping) String() string {
+ return net.JoinHostPort(p.Binding.HostIP, p.Binding.HostPort+":"+string(p.Port))
+}
+
+func splitParts(rawport string) (hostIP, hostPort, containerPort string) {
parts := strings.Split(rawport, ":")
- n := len(parts)
- containerPort := parts[n-1]
- switch n {
+ switch len(parts) {
case 1:
- return "", "", containerPort
+ return "", "", parts[0]
case 2:
- return "", parts[0], containerPort
+ return "", parts[0], parts[1]
case 3:
- return parts[0], parts[1], containerPort
+ return parts[0], parts[1], parts[2]
default:
- return strings.Join(parts[:n-2], ":"), parts[n-2], containerPort
+ n := len(parts)
+ return strings.Join(parts[:n-2], ":"), parts[n-2], parts[n-1]
}
}
// ParsePortSpec parses a port specification string into a slice of PortMappings
func ParsePortSpec(rawPort string) ([]PortMapping, error) {
- var proto string
ip, hostPort, containerPort := splitParts(rawPort)
- proto, containerPort = SplitProtoPort(containerPort)
+ proto, containerPort := SplitProtoPort(containerPort)
+ proto = strings.ToLower(proto)
+ if err := validateProto(proto); err != nil {
+ return nil, err
+ }
if ip != "" && ip[0] == '[' {
// Strip [] from IPV6 addresses
@@ -182,7 +187,7 @@ func ParsePortSpec(rawPort string) ([]PortMapping, error) {
ip = rawIP
}
if ip != "" && net.ParseIP(ip) == nil {
- return nil, fmt.Errorf("invalid IP address: %s", ip)
+ return nil, errors.New("invalid IP address: " + ip)
}
if containerPort == "" {
return nil, fmt.Errorf("no port specified: %s", rawPort)
@@ -190,51 +195,43 @@ func ParsePortSpec(rawPort string) ([]PortMapping, error) {
startPort, endPort, err := ParsePortRange(containerPort)
if err != nil {
- return nil, fmt.Errorf("invalid containerPort: %s", containerPort)
+ return nil, errors.New("invalid containerPort: " + containerPort)
}
- var startHostPort, endHostPort uint64 = 0, 0
- if len(hostPort) > 0 {
+ var startHostPort, endHostPort uint64
+ if hostPort != "" {
startHostPort, endHostPort, err = ParsePortRange(hostPort)
if err != nil {
- return nil, fmt.Errorf("invalid hostPort: %s", hostPort)
+ return nil, errors.New("invalid hostPort: " + hostPort)
}
- }
-
- if hostPort != "" && (endPort-startPort) != (endHostPort-startHostPort) {
- // Allow host port range iff containerPort is not a range.
- // In this case, use the host port range as the dynamic
- // host port range to allocate into.
- if endPort != startPort {
- return nil, fmt.Errorf("invalid ranges specified for container and host Ports: %s and %s", containerPort, hostPort)
+ if (endPort - startPort) != (endHostPort - startHostPort) {
+ // Allow host port range iff containerPort is not a range.
+ // In this case, use the host port range as the dynamic
+ // host port range to allocate into.
+ if endPort != startPort {
+ return nil, fmt.Errorf("invalid ranges specified for container and host Ports: %s and %s", containerPort, hostPort)
+ }
}
}
- if !validateProto(strings.ToLower(proto)) {
- return nil, fmt.Errorf("invalid proto: %s", proto)
- }
-
- ports := []PortMapping{}
- for i := uint64(0); i <= (endPort - startPort); i++ {
- containerPort = strconv.FormatUint(startPort+i, 10)
- if len(hostPort) > 0 {
- hostPort = strconv.FormatUint(startHostPort+i, 10)
- }
- // Set hostPort to a range only if there is a single container port
- // and a dynamic host port.
- if startPort == endPort && startHostPort != endHostPort {
- hostPort = fmt.Sprintf("%s-%s", hostPort, strconv.FormatUint(endHostPort, 10))
- }
- port, err := NewPort(strings.ToLower(proto), containerPort)
- if err != nil {
- return nil, err
- }
+ count := endPort - startPort + 1
+ ports := make([]PortMapping, 0, count)
- binding := PortBinding{
- HostIP: ip,
- HostPort: hostPort,
+ for i := uint64(0); i < count; i++ {
+ cPort := Port(strconv.FormatUint(startPort+i, 10) + "/" + proto)
+ hPort := ""
+ if hostPort != "" {
+ hPort = strconv.FormatUint(startHostPort+i, 10)
+ // Set hostPort to a range only if there is a single container port
+ // and a dynamic host port.
+ if count == 1 && startHostPort != endHostPort {
+ hPort += "-" + strconv.FormatUint(endHostPort, 10)
+ }
}
- ports = append(ports, PortMapping{Port: port, Binding: binding})
+ ports = append(ports, PortMapping{
+ Port: cPort,
+ Binding: PortBinding{HostIP: ip, HostPort: hPort},
+ })
}
return ports, nil
}
diff --git a/vendor/github.com/docker/go-connections/nat/parse.go b/vendor/github.com/docker/go-connections/nat/parse.go
index e4b53e8a32421..64affa2a904c6 100644
--- a/vendor/github.com/docker/go-connections/nat/parse.go
+++ b/vendor/github.com/docker/go-connections/nat/parse.go
@@ -1,7 +1,7 @@
package nat
import (
- "fmt"
+ "errors"
"strconv"
"strings"
)
@@ -9,7 +9,7 @@ import (
// ParsePortRange parses and validates the specified string as a port-range (8000-9000)
func ParsePortRange(ports string) (uint64, uint64, error) {
if ports == "" {
- return 0, 0, fmt.Errorf("empty string specified for ports")
+ return 0, 0, errors.New("empty string specified for ports")
}
if !strings.Contains(ports, "-") {
start, err := strconv.ParseUint(ports, 10, 16)
@@ -27,7 +27,7 @@ func ParsePortRange(ports string) (uint64, uint64, error) {
return 0, 0, err
}
if end < start {
- return 0, 0, fmt.Errorf("invalid range specified for port: %s", ports)
+ return 0, 0, errors.New("invalid range specified for port: " + ports)
}
return start, end, nil
}
diff --git a/vendor/github.com/docker/go-connections/sockets/README.md b/vendor/github.com/docker/go-connections/sockets/README.md
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/vendor/github.com/docker/go-connections/sockets/proxy.go b/vendor/github.com/docker/go-connections/sockets/proxy.go
index c897cb02adeaa..f04980e40a5ae 100644
--- a/vendor/github.com/docker/go-connections/sockets/proxy.go
+++ b/vendor/github.com/docker/go-connections/sockets/proxy.go
@@ -9,6 +9,8 @@ import (
// GetProxyEnv allows access to the uppercase and the lowercase forms of
// proxy-related variables. See the Go specification for details on these
// variables. https://golang.org/pkg/net/http/
+//
+// Deprecated: this function was used as helper for [DialerFromEnvironment] and is no longer used. It will be removed in the next release.
func GetProxyEnv(key string) string {
proxyValue := os.Getenv(strings.ToUpper(key))
if proxyValue == "" {
@@ -19,10 +21,11 @@ func GetProxyEnv(key string) string {
// DialerFromEnvironment was previously used to configure a net.Dialer to route
// connections through a SOCKS proxy.
-// DEPRECATED: SOCKS proxies are now supported by configuring only
+//
+// Deprecated: SOCKS proxies are now supported by configuring only
// http.Transport.Proxy, and no longer require changing http.Transport.Dial.
-// Therefore, only sockets.ConfigureTransport() needs to be called, and any
-// sockets.DialerFromEnvironment() calls can be dropped.
+// Therefore, only [sockets.ConfigureTransport] needs to be called, and any
+// [sockets.DialerFromEnvironment] calls can be dropped.
func DialerFromEnvironment(direct *net.Dialer) (*net.Dialer, error) {
return direct, nil
}
diff --git a/vendor/github.com/docker/go-connections/sockets/sockets.go b/vendor/github.com/docker/go-connections/sockets/sockets.go
index b0eae239d2c56..6117297860dbd 100644
--- a/vendor/github.com/docker/go-connections/sockets/sockets.go
+++ b/vendor/github.com/docker/go-connections/sockets/sockets.go
@@ -2,13 +2,19 @@
package sockets
import (
+ "context"
"errors"
+ "fmt"
"net"
"net/http"
+ "syscall"
"time"
)
-const defaultTimeout = 10 * time.Second
+const (
+ defaultTimeout = 10 * time.Second
+ maxUnixSocketPathSize = len(syscall.RawSockaddrUnix{}.Path)
+)
// ErrProtocolNotAvailable is returned when a given transport protocol is not provided by the operating system.
var ErrProtocolNotAvailable = errors.New("protocol not available")
@@ -35,3 +41,26 @@ func ConfigureTransport(tr *http.Transport, proto, addr string) error {
}
return nil
}
+
+// DialPipe connects to a Windows named pipe. It is not supported on
+// non-Windows platforms.
+//
+// Deprecated: use [github.com/Microsoft/go-winio.DialPipe] or [github.com/Microsoft/go-winio.DialPipeContext].
+func DialPipe(addr string, timeout time.Duration) (net.Conn, error) {
+ return dialPipe(addr, timeout)
+}
+
+func configureUnixTransport(tr *http.Transport, proto, addr string) error {
+ if len(addr) > maxUnixSocketPathSize {
+ return fmt.Errorf("unix socket path %q is too long", addr)
+ }
+ // No need for compression in local communications.
+ tr.DisableCompression = true
+ dialer := &net.Dialer{
+ Timeout: defaultTimeout,
+ }
+ tr.DialContext = func(ctx context.Context, _, _ string) (net.Conn, error) {
+ return dialer.DialContext(ctx, proto, addr)
+ }
+ return nil
+}
diff --git a/vendor/github.com/docker/go-connections/sockets/sockets_unix.go b/vendor/github.com/docker/go-connections/sockets/sockets_unix.go
index 78a34a980d284..913d2f00dd2f6 100644
--- a/vendor/github.com/docker/go-connections/sockets/sockets_unix.go
+++ b/vendor/github.com/docker/go-connections/sockets/sockets_unix.go
@@ -3,37 +3,16 @@
package sockets
import (
- "context"
- "fmt"
"net"
"net/http"
"syscall"
"time"
)
-const maxUnixSocketPathSize = len(syscall.RawSockaddrUnix{}.Path)
-
-func configureUnixTransport(tr *http.Transport, proto, addr string) error {
- if len(addr) > maxUnixSocketPathSize {
- return fmt.Errorf("unix socket path %q is too long", addr)
- }
- // No need for compression in local communications.
- tr.DisableCompression = true
- dialer := &net.Dialer{
- Timeout: defaultTimeout,
- }
- tr.DialContext = func(ctx context.Context, _, _ string) (net.Conn, error) {
- return dialer.DialContext(ctx, proto, addr)
- }
- return nil
-}
-
func configureNpipeTransport(tr *http.Transport, proto, addr string) error {
return ErrProtocolNotAvailable
}
-// DialPipe connects to a Windows named pipe.
-// This is not supported on other OSes.
-func DialPipe(_ string, _ time.Duration) (net.Conn, error) {
+func dialPipe(_ string, _ time.Duration) (net.Conn, error) {
return nil, syscall.EAFNOSUPPORT
}
diff --git a/vendor/github.com/docker/go-connections/sockets/sockets_windows.go b/vendor/github.com/docker/go-connections/sockets/sockets_windows.go
index 7acafc5a2ad86..6d6beb3855c05 100644
--- a/vendor/github.com/docker/go-connections/sockets/sockets_windows.go
+++ b/vendor/github.com/docker/go-connections/sockets/sockets_windows.go
@@ -9,10 +9,6 @@ import (
"github.com/Microsoft/go-winio"
)
-func configureUnixTransport(tr *http.Transport, proto, addr string) error {
- return ErrProtocolNotAvailable
-}
-
func configureNpipeTransport(tr *http.Transport, proto, addr string) error {
// No need for compression in local communications.
tr.DisableCompression = true
@@ -22,7 +18,6 @@ func configureNpipeTransport(tr *http.Transport, proto, addr string) error {
return nil
}
-// DialPipe connects to a Windows named pipe.
-func DialPipe(addr string, timeout time.Duration) (net.Conn, error) {
+func dialPipe(addr string, timeout time.Duration) (net.Conn, error) {
return winio.DialPipe(addr, &timeout)
}
diff --git a/vendor/github.com/docker/go-connections/sockets/unix_socket.go b/vendor/github.com/docker/go-connections/sockets/unix_socket.go
index b9233521e49ad..e736f71d38b1d 100644
--- a/vendor/github.com/docker/go-connections/sockets/unix_socket.go
+++ b/vendor/github.com/docker/go-connections/sockets/unix_socket.go
@@ -1,5 +1,3 @@
-//go:build !windows
-
/*
Package sockets is a simple unix domain socket wrapper.
@@ -57,26 +55,6 @@ import (
// SockOption sets up socket file's creating option
type SockOption func(string) error
-// WithChown modifies the socket file's uid and gid
-func WithChown(uid, gid int) SockOption {
- return func(path string) error {
- if err := os.Chown(path, uid, gid); err != nil {
- return err
- }
- return nil
- }
-}
-
-// WithChmod modifies socket file's access mode.
-func WithChmod(mask os.FileMode) SockOption {
- return func(path string) error {
- if err := os.Chmod(path, mask); err != nil {
- return err
- }
- return nil
- }
-}
-
// NewUnixSocketWithOpts creates a unix socket with the specified options.
// By default, socket permissions are 0000 (i.e.: no access for anyone); pass
// WithChmod() and WithChown() to set the desired ownership and permissions.
@@ -90,22 +68,7 @@ func NewUnixSocketWithOpts(path string, opts ...SockOption) (net.Listener, error
return nil, err
}
- // net.Listen does not allow for permissions to be set. As a result, when
- // specifying custom permissions ("WithChmod()"), there is a short time
- // between creating the socket and applying the permissions, during which
- // the socket permissions are Less restrictive than desired.
- //
- // To work around this limitation of net.Listen(), we temporarily set the
- // umask to 0777, which forces the socket to be created with 000 permissions
- // (i.e.: no access for anyone). After that, WithChmod() must be used to set
- // the desired permissions.
- //
- // We don't use "defer" here, to reset the umask to its original value as soon
- // as possible. Ideally we'd be able to detect if WithChmod() was passed as
- // an option, and skip changing umask if default permissions are used.
- origUmask := syscall.Umask(0o777)
- l, err := net.Listen("unix", path)
- syscall.Umask(origUmask)
+ l, err := listenUnix(path)
if err != nil {
return nil, err
}
@@ -119,8 +82,3 @@ func NewUnixSocketWithOpts(path string, opts ...SockOption) (net.Listener, error
return l, nil
}
-
-// NewUnixSocket creates a unix socket with the specified path and group.
-func NewUnixSocket(path string, gid int) (net.Listener, error) {
- return NewUnixSocketWithOpts(path, WithChown(0, gid), WithChmod(0o660))
-}
diff --git a/vendor/github.com/docker/go-connections/sockets/unix_socket_unix.go b/vendor/github.com/docker/go-connections/sockets/unix_socket_unix.go
new file mode 100644
index 0000000000000..a41a716547424
--- /dev/null
+++ b/vendor/github.com/docker/go-connections/sockets/unix_socket_unix.go
@@ -0,0 +1,54 @@
+//go:build !windows
+
+package sockets
+
+import (
+ "net"
+ "os"
+ "syscall"
+)
+
+// WithChown modifies the socket file's uid and gid
+func WithChown(uid, gid int) SockOption {
+ return func(path string) error {
+ if err := os.Chown(path, uid, gid); err != nil {
+ return err
+ }
+ return nil
+ }
+}
+
+// WithChmod modifies socket file's access mode.
+func WithChmod(mask os.FileMode) SockOption {
+ return func(path string) error {
+ if err := os.Chmod(path, mask); err != nil {
+ return err
+ }
+ return nil
+ }
+}
+
+// NewUnixSocket creates a unix socket with the specified path and group.
+func NewUnixSocket(path string, gid int) (net.Listener, error) {
+ return NewUnixSocketWithOpts(path, WithChown(0, gid), WithChmod(0o660))
+}
+
+func listenUnix(path string) (net.Listener, error) {
+ // net.Listen does not allow for permissions to be set. As a result, when
+ // specifying custom permissions ("WithChmod()"), there is a short time
+ // between creating the socket and applying the permissions, during which
+ // the socket permissions are Less restrictive than desired.
+ //
+ // To work around this limitation of net.Listen(), we temporarily set the
+ // umask to 0777, which forces the socket to be created with 000 permissions
+ // (i.e.: no access for anyone). After that, WithChmod() must be used to set
+ // the desired permissions.
+ //
+ // We don't use "defer" here, to reset the umask to its original value as soon
+ // as possible. Ideally we'd be able to detect if WithChmod() was passed as
+ // an option, and skip changing umask if default permissions are used.
+ origUmask := syscall.Umask(0o777)
+ l, err := net.Listen("unix", path)
+ syscall.Umask(origUmask)
+ return l, err
+}
diff --git a/vendor/github.com/docker/go-connections/sockets/unix_socket_windows.go b/vendor/github.com/docker/go-connections/sockets/unix_socket_windows.go
new file mode 100644
index 0000000000000..5ec29e059e784
--- /dev/null
+++ b/vendor/github.com/docker/go-connections/sockets/unix_socket_windows.go
@@ -0,0 +1,7 @@
+package sockets
+
+import "net"
+
+func listenUnix(path string) (net.Listener, error) {
+ return net.Listen("unix", path)
+}
diff --git a/vendor/github.com/docker/go-connections/tlsconfig/config.go b/vendor/github.com/docker/go-connections/tlsconfig/config.go
index 606c98a38b515..8b0264f68b757 100644
--- a/vendor/github.com/docker/go-connections/tlsconfig/config.go
+++ b/vendor/github.com/docker/go-connections/tlsconfig/config.go
@@ -34,51 +34,37 @@ type Options struct {
// the system pool will be used.
ExclusiveRootPools bool
MinVersion uint16
- // If Passphrase is set, it will be used to decrypt a TLS private key
- // if the key is encrypted.
- //
- // Deprecated: Use of encrypted TLS private keys has been deprecated, and
- // will be removed in a future release. Golang has deprecated support for
- // legacy PEM encryption (as specified in RFC 1423), as it is insecure by
- // design (see https://go-review.googlesource.com/c/go/+/264159).
- Passphrase string
-}
-
-// Extra (server-side) accepted CBC cipher suites - will phase out in the future
-var acceptedCBCCiphers = []uint16{
- tls.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
- tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
- tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
- tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
}
// DefaultServerAcceptedCiphers should be uses by code which already has a crypto/tls
// options struct but wants to use a commonly accepted set of TLS cipher suites, with
// known weak algorithms removed.
-var DefaultServerAcceptedCiphers = append(clientCipherSuites, acceptedCBCCiphers...)
+var DefaultServerAcceptedCiphers = defaultCipherSuites
+
+// defaultCipherSuites is shared by both client and server as the default set.
+var defaultCipherSuites = []uint16{
+ tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
+ tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
+ tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
+ tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
+}
// ServerDefault returns a secure-enough TLS configuration for the server TLS configuration.
func ServerDefault(ops ...func(*tls.Config)) *tls.Config {
- tlsConfig := &tls.Config{
- // Avoid fallback by default to SSL protocols < TLS1.2
- MinVersion: tls.VersionTLS12,
- PreferServerCipherSuites: true,
- CipherSuites: DefaultServerAcceptedCiphers,
- }
-
- for _, op := range ops {
- op(tlsConfig)
- }
-
- return tlsConfig
+ return defaultConfig(ops...)
}
// ClientDefault returns a secure-enough TLS configuration for the client TLS configuration.
func ClientDefault(ops ...func(*tls.Config)) *tls.Config {
+ return defaultConfig(ops...)
+}
+
+// defaultConfig is the default config used by both client and server TLS configuration.
+func defaultConfig(ops ...func(*tls.Config)) *tls.Config {
tlsConfig := &tls.Config{
- // Prefer TLS1.2 as the client minimum
+ // Avoid fallback by default to SSL protocols < TLS1.2
MinVersion: tls.VersionTLS12,
- CipherSuites: clientCipherSuites,
+ CipherSuites: defaultCipherSuites,
}
for _, op := range ops {
@@ -92,13 +78,13 @@ func ClientDefault(ops ...func(*tls.Config)) *tls.Config {
func certPool(caFile string, exclusivePool bool) (*x509.CertPool, error) {
// If we should verify the server, we need to load a trusted ca
var (
- certPool *x509.CertPool
- err error
+ pool *x509.CertPool
+ err error
)
if exclusivePool {
- certPool = x509.NewCertPool()
+ pool = x509.NewCertPool()
} else {
- certPool, err = SystemCertPool()
+ pool, err = SystemCertPool()
if err != nil {
return nil, fmt.Errorf("failed to read system certificates: %v", err)
}
@@ -107,10 +93,10 @@ func certPool(caFile string, exclusivePool bool) (*x509.CertPool, error) {
if err != nil {
return nil, fmt.Errorf("could not read CA certificate %q: %v", caFile, err)
}
- if !certPool.AppendCertsFromPEM(pemData) {
+ if !pool.AppendCertsFromPEM(pemData) {
return nil, fmt.Errorf("failed to append certificates from PEM file: %q", caFile)
}
- return certPool, nil
+ return pool, nil
}
// allTLSVersions lists all the TLS versions and is used by the code that validates
@@ -144,34 +130,32 @@ func adjustMinVersion(options Options, config *tls.Config) error {
return nil
}
-// IsErrEncryptedKey returns true if the 'err' is an error of incorrect
-// password when trying to decrypt a TLS private key.
+// errEncryptedKeyDeprecated is produced when we encounter an encrypted
+// (password-protected) key. From https://go-review.googlesource.com/c/go/+/264159;
//
-// Deprecated: Use of encrypted TLS private keys has been deprecated, and
-// will be removed in a future release. Golang has deprecated support for
-// legacy PEM encryption (as specified in RFC 1423), as it is insecure by
-// design (see https://go-review.googlesource.com/c/go/+/264159).
-func IsErrEncryptedKey(err error) bool {
- return errors.Is(err, x509.IncorrectPasswordError)
-}
+// > Legacy PEM encryption as specified in RFC 1423 is insecure by design. Since
+// > it does not authenticate the ciphertext, it is vulnerable to padding oracle
+// > attacks that can let an attacker recover the plaintext
+// >
+// > It's unfortunate that we don't implement PKCS#8 encryption so we can't
+// > recommend an alternative but PEM encryption is so broken that it's worth
+// > deprecating outright.
+//
+// Also see https://docs.docker.com/go/deprecated/
+var errEncryptedKeyDeprecated = errors.New("private key is encrypted; encrypted private keys are obsolete, and not supported")
// getPrivateKey returns the private key in 'keyBytes', in PEM-encoded format.
-// If the private key is encrypted, 'passphrase' is used to decrypted the
-// private key.
-func getPrivateKey(keyBytes []byte, passphrase string) ([]byte, error) {
+// It returns an error if the file could not be decoded or was protected by
+// a passphrase.
+func getPrivateKey(keyBytes []byte) ([]byte, error) {
// this section makes some small changes to code from notary/tuf/utils/x509.go
pemBlock, _ := pem.Decode(keyBytes)
if pemBlock == nil {
return nil, fmt.Errorf("no valid private key found")
}
- var err error
if x509.IsEncryptedPEMBlock(pemBlock) { //nolint:staticcheck // Ignore SA1019 (IsEncryptedPEMBlock is deprecated)
- keyBytes, err = x509.DecryptPEMBlock(pemBlock, []byte(passphrase)) //nolint:staticcheck // Ignore SA1019 (DecryptPEMBlock is deprecated)
- if err != nil {
- return nil, fmt.Errorf("private key is encrypted, but could not decrypt it: %w", err)
- }
- keyBytes = pem.EncodeToMemory(&pem.Block{Type: pemBlock.Type, Bytes: keyBytes})
+ return nil, errEncryptedKeyDeprecated
}
return keyBytes, nil
@@ -195,7 +179,7 @@ func getCert(options Options) ([]tls.Certificate, error) {
return nil, err
}
- prKeyBytes, err = getPrivateKey(prKeyBytes, options.Passphrase)
+ prKeyBytes, err = getPrivateKey(prKeyBytes)
if err != nil {
return nil, err
}
@@ -210,7 +194,7 @@ func getCert(options Options) ([]tls.Certificate, error) {
// Client returns a TLS configuration meant to be used by a client.
func Client(options Options) (*tls.Config, error) {
- tlsConfig := ClientDefault()
+ tlsConfig := defaultConfig()
tlsConfig.InsecureSkipVerify = options.InsecureSkipVerify
if !options.InsecureSkipVerify && options.CAFile != "" {
CAs, err := certPool(options.CAFile, options.ExclusiveRootPools)
@@ -235,7 +219,7 @@ func Client(options Options) (*tls.Config, error) {
// Server returns a TLS configuration meant to be used by a server.
func Server(options Options) (*tls.Config, error) {
- tlsConfig := ServerDefault()
+ tlsConfig := defaultConfig()
tlsConfig.ClientAuth = options.ClientAuth
tlsCert, err := tls.LoadX509KeyPair(options.CertFile, options.KeyFile)
if err != nil {
diff --git a/vendor/github.com/docker/go-connections/tlsconfig/config_client_ciphers.go b/vendor/github.com/docker/go-connections/tlsconfig/config_client_ciphers.go
deleted file mode 100644
index a82f9fa52e2e8..0000000000000
--- a/vendor/github.com/docker/go-connections/tlsconfig/config_client_ciphers.go
+++ /dev/null
@@ -1,14 +0,0 @@
-// Package tlsconfig provides primitives to retrieve secure-enough TLS configurations for both clients and servers.
-package tlsconfig
-
-import (
- "crypto/tls"
-)
-
-// Client TLS cipher suites (dropping CBC ciphers for client preferred suite set)
-var clientCipherSuites = []uint16{
- tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
- tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
- tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
- tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
-}
diff --git a/vendor/github.com/influxdata/telegraf/.golangci.yml b/vendor/github.com/influxdata/telegraf/.golangci.yml
index 773d49df8c113..55bff1726d208 100644
--- a/vendor/github.com/influxdata/telegraf/.golangci.yml
+++ b/vendor/github.com/influxdata/telegraf/.golangci.yml
@@ -1,5 +1,13 @@
+version: "2"
+
linters:
- disable-all: true
+ # Default set of linters.
+ # The value can be: `standard`, `all`, `none`, or `fast`.
+ # Default: standard
+ default: none
+
+ # Enable specific linter.
+ # https://golangci-lint.run/usage/linters/#enabled-by-default
enable:
- asasalint
- asciicheck
@@ -11,12 +19,10 @@ linters:
- errcheck
- errname
- errorlint
- - gci
- gocheckcompilerdirectives
- gocritic
- goprintffuncname
- gosec
- - gosimple
- govet
- ineffassign
- interfacebloat
@@ -34,401 +40,538 @@ linters:
- staticcheck
- testifylint
- tparallel
- - typecheck
- unconvert
- unparam
- unused
- usetesting
-linters-settings:
- depguard:
- rules:
- # Name of a rule.
- main:
- # Packages that are not allowed where the value is a suggestion.
- deny:
- - pkg: log
- desc: 'Use injected telegraf.Logger instead'
- # List of file globs that will match this list of settings to compare against.
- # Default: $all
- files:
- - "!**/agent/**"
- - "!**/cmd/**"
- - "!**/config/**"
- - "!**/filter/**"
- - "!**/internal/**"
- - "!**/logger/**"
- - "!**/metric/**"
- - "!**/models/**"
- - "!**/plugins/serializers/**"
- - "!**/scripts/**"
- - "!**/selfstat/**"
- - "!**/testutil/**"
- - "!**/tools/**"
- - "!**/*_test.go"
- errcheck:
- # report about assignment of errors to blank identifier: `num, _ := strconv.Atoi(numStr)`.
- # Such cases aren't reported by default.
- # Default: false
- check-blank: true
-
- # List of functions to exclude from checking, where each entry is a single function to exclude.
- # See https://github.com/kisielk/errcheck#excluding-functions for details.
- exclude-functions:
- - "(*hash/maphash.Hash).Write"
- - "(*hash/maphash.Hash).WriteByte"
- - "(*hash/maphash.Hash).WriteString"
- - "(*github.com/influxdata/telegraf/plugins/outputs/postgresql/sqltemplate.Template).UnmarshalText"
-
- gci:
- sections:
- - standard
- - default
- - localmodule
-
- gocritic:
- # Disable all checks.
- # Default: false
- disable-all: true
- # Which checks should be enabled in addition to default checks; can't be combined with 'disabled-checks'.
- # By default, list of stable checks is used (https://go-critic.com/overview#checks-overview).
- # To see which checks are enabled run `GL_DEBUG=gocritic golangci-lint run --enable=gocritic`.
- enabled-checks:
- # diagnostic
- - argOrder
- - badCall
- - badCond
- - badLock
- - badRegexp
- - badSorting
- - badSyncOnceFunc
- - builtinShadowDecl
- - caseOrder
- - codegenComment
- - commentedOutCode
- - deferInLoop
- - deprecatedComment
- - dupArg
- - dupBranchBody
- - dupCase
- - dupSubExpr
- - dynamicFmtString
- - emptyDecl
- - evalOrder
- - exitAfterDefer
- - externalErrorReassign
- - filepathJoin
- - flagName
- - mapKey
- - nilValReturn
- - offBy1
- - regexpPattern
- - sloppyLen
- - sloppyReassign
- - sloppyTypeAssert
- - sortSlice
- - sprintfQuotedString
- - sqlQuery
- - syncMapLoadAndDelete
- - truncateCmp
- - uncheckedInlineErr
- - unnecessaryDefer
- - weakCond
- # performance
- - appendCombine
- - equalFold
- - hugeParam
- - indexAlloc
- - preferDecodeRune
- - preferFprint
- - preferStringWriter
- - preferWriteByte
- - rangeExprCopy
- - rangeValCopy
- - sliceClear
- - stringXbytes
-
- # Settings passed to gocritic.
- # The settings key is the name of a supported gocritic checker.
- # The list of supported checkers can be find in https://go-critic.com/overview.
- settings:
- hugeParam:
- # Size in bytes that makes the warning trigger.
- # Default: 80
- sizeThreshold: 512
- rangeValCopy:
- # Size in bytes that makes the warning trigger.
- # Default: 128
- sizeThreshold: 512
-
- gosec:
- # To select a subset of rules to run.
- # Available rules: https://github.com/securego/gosec#available-rules
- # Default: [] - means include all rules
- includes:
- - G101 # Look for hard coded credentials
- - G102 # Bind to all interfaces
- - G103 # Audit the use of unsafe block
- - G106 # Audit the use of ssh.InsecureIgnoreHostKey
- - G107 # Url provided to HTTP request as taint input
- - G108 # Profiling endpoint automatically exposed on /debug/pprof
- - G109 # Potential Integer overflow made by strconv.Atoi result conversion to int16/32
- - G110 # Potential DoS vulnerability via decompression bomb
- - G111 # Potential directory traversal
- - G112 # Potential slowloris attack
- - G114 # Use of net/http serve function that has no support for setting timeouts
- - G201 # SQL query construction using format string
- - G202 # SQL query construction using string concatenation
- - G203 # Use of unescaped data in HTML templates
- - G301 # Poor file permissions used when creating a directory
- - G302 # Poor file permissions used with chmod
- - G303 # Creating tempfile using a predictable path
- - G305 # File traversal when extracting zip/tar archive
- - G306 # Poor file permissions used when writing to a new file
- - G401 # Detect the usage of MD5 or SHA1
- - G403 # Ensure minimum RSA key length of 2048 bits
- - G404 # Insecure random number source (rand)
- - G405 # Detect the usage of DES or RC4
- - G406 # Detect the usage of MD4 or RIPEMD160
- - G501 # Import blocklist: crypto/md5
- - G502 # Import blocklist: crypto/des
- - G503 # Import blocklist: crypto/rc4
- - G505 # Import blocklist: crypto/sha1
- - G506 # Import blocklist: golang.org/x/crypto/md4
- - G507 # Import blocklist: golang.org/x/crypto/ripemd160
- - G601 # Implicit memory aliasing of items from a range statement
- - G602 # Slice access out of bounds
+ settings:
+ depguard:
+ # Rules to apply.
+ #
+ # Variables:
+ # - File Variables
+ # Use an exclamation mark `!` to negate a variable.
+ # Example: `!$test` matches any file that is not a go test file.
+ #
+ # `$all` - matches all go files
+ # `$test` - matches all go test files
+ #
+ # - Package Variables
+ #
+ # `$gostd` - matches all of go's standard library (Pulled from `GOROOT`)
+ #
+ # Default (applies if no custom rules are defined): Only allow $gostd in all files.
+ rules:
+ # Name of a rule.
+ main:
+ # List of file globs that will match this list of settings to compare against.
+ # By default, if a path is relative, it is relative to the directory where the golangci-lint command is executed.
+ # The placeholder '${base-path}' is substituted with a path relative to the mode defined with `run.relative-path-mode`.
+ # The placeholder '${config-path}' is substituted with a path relative to the configuration file.
+ # Default: $all
+ files:
+ - '!**/agent/**'
+ - '!**/cmd/**'
+ - '!**/config/**'
+ - '!**/filter/**'
+ - '!**/internal/**'
+ - '!**/logger/**'
+ - '!**/metric/**'
+ - '!**/models/**'
+ - '!**/plugins/serializers/**'
+ - '!**/scripts/**'
+ - '!**/selfstat/**'
+ - '!**/testutil/**'
+ - '!**/tools/**'
+ - '!**/*_test.go'
+ # List of packages that are not allowed.
+ # Entries can be a variable (starting with $), a string prefix, or an exact match (if ending with $).
+ # Default: []
+ deny:
+ - pkg: log
+ desc: 'Use injected telegraf.Logger instead'
+
+ errcheck:
+ # report about assignment of errors to blank identifier: `num, _ := strconv.Atoi(numStr)`.
+ # Such cases aren't reported by default.
+ # Default: false
+ check-blank: true
+
+ # List of functions to exclude from checking, where each entry is a single function to exclude.
+ # See https://github.com/kisielk/errcheck#excluding-functions for details.
+ exclude-functions:
+ - '(*hash/maphash.Hash).Write'
+ - '(*hash/maphash.Hash).WriteByte'
+ - '(*hash/maphash.Hash).WriteString'
+ - '(*github.com/influxdata/telegraf/plugins/outputs/postgresql/sqltemplate.Template).UnmarshalText'
+
+ gocritic:
+ # Disable all checks.
+ # Default: false
+ disable-all: true
+ # Which checks should be enabled in addition to default checks; can't be combined with 'disabled-checks'.
+ # By default, list of stable checks is used (https://go-critic.com/overview#checks-overview).
+ # To see which checks are enabled run `GL_DEBUG=gocritic golangci-lint run --enable=gocritic`.
+ enabled-checks:
+ # diagnostic
+ - argOrder
+ - badCall
+ - badCond
+ - badLock
+ - badRegexp
+ - badSorting
+ - badSyncOnceFunc
+ - builtinShadowDecl
+ - caseOrder
+ - codegenComment
+ - commentedOutCode
+ - deferInLoop
+ - deprecatedComment
+ - dupArg
+ - dupBranchBody
+ - dupCase
+ - dupSubExpr
+ - dynamicFmtString
+ - emptyDecl
+ - evalOrder
+ - exitAfterDefer
+ - externalErrorReassign
+ - filepathJoin
+ - flagName
+ - mapKey
+ - nilValReturn
+ - offBy1
+ - regexpPattern
+ - sloppyLen
+ - sloppyReassign
+ - sloppyTypeAssert
+ - sortSlice
+ - sprintfQuotedString
+ - sqlQuery
+ - syncMapLoadAndDelete
+ - truncateCmp
+ - uncheckedInlineErr
+ - unnecessaryDefer
+ - weakCond
+ # performance
+ - appendCombine
+ - equalFold
+ - hugeParam
+ - indexAlloc
+ - preferDecodeRune
+ - preferFprint
+ - preferStringWriter
+ - preferWriteByte
+ - rangeExprCopy
+ - rangeValCopy
+ - sliceClear
+ - stringXbytes
+
+ # Settings passed to gocritic.
+ # The settings key is the name of a supported gocritic checker.
+ # The list of supported checkers can be found at https://go-critic.com/overview.
+ settings:
+ hugeParam:
+ # Size in bytes that makes the warning trigger.
+ # Default: 80
+ sizeThreshold: 512
+ rangeValCopy:
+ # Size in bytes that makes the warning trigger.
+ # Default: 128
+ sizeThreshold: 512
+
+ gosec:
+ # To select a subset of rules to run.
+ # Available rules: https://github.com/securego/gosec#available-rules
+ # Default: [] - means include all rules
+ includes:
+ - G101 # Look for hard coded credentials
+ - G102 # Bind to all interfaces
+ - G103 # Audit the use of unsafe block
+ - G106 # Audit the use of ssh.InsecureIgnoreHostKey
+ - G107 # Url provided to HTTP request as taint input
+ - G108 # Profiling endpoint automatically exposed on /debug/pprof
+ - G109 # Potential Integer overflow made by strconv.Atoi result conversion to int16/32
+ - G110 # Potential DoS vulnerability via decompression bomb
+ - G111 # Potential directory traversal
+ - G112 # Potential slowloris attack
+ - G114 # Use of net/http serve function that has no support for setting timeouts
+ - G201 # SQL query construction using format string
+ - G202 # SQL query construction using string concatenation
+ - G203 # Use of unescaped data in HTML templates
+ - G301 # Poor file permissions used when creating a directory
+ - G302 # Poor file permissions used with chmod
+ - G303 # Creating tempfile using a predictable path
+ - G305 # File traversal when extracting zip/tar archive
+ - G306 # Poor file permissions used when writing to a new file
+ - G401 # Detect the usage of MD5 or SHA1
+ - G403 # Ensure minimum RSA key length of 2048 bits
+ - G404 # Insecure random number source (rand)
+ - G405 # Detect the usage of DES or RC4
+ - G406 # Detect the usage of MD4 or RIPEMD160
+ - G501 # Import blocklist: crypto/md5
+ - G502 # Import blocklist: crypto/des
+ - G503 # Import blocklist: crypto/rc4
+ - G505 # Import blocklist: crypto/sha1
+ - G506 # Import blocklist: golang.org/x/crypto/md4
+ - G507 # Import blocklist: golang.org/x/crypto/ripemd160
+ - G601 # Implicit memory aliasing of items from a range statement
+ - G602 # Slice access out of bounds
# G104, G105, G113, G204, G304, G307, G402, G504 were not enabled intentionally
# TODO: review G115 when reporting false positives is fixed (https://github.com/securego/gosec/issues/1212)
- # To specify the configuration of rules.
- config:
- # Maximum allowed permissions mode for os.OpenFile and os.Chmod
- # Default: "0600"
- G302: "0640"
- # Maximum allowed permissions mode for os.WriteFile and ioutil.WriteFile
- # Default: "0600"
- G306: "0640"
- govet:
- settings:
- ## Check the logging function like it would be a printf
- printf:
- # Comma-separated list of print function names to check (in addition to default, see `go tool vet help printf`).
- # Default: []
- funcs:
- - (github.com/influxdata/telegraf.Logger).Debugf
- - (github.com/influxdata/telegraf.Logger).Infof
- - (github.com/influxdata/telegraf.Logger).Warnf
- - (github.com/influxdata/telegraf.Logger).Errorf
- - (github.com/influxdata/telegraf.Logger).Debug
- - (github.com/influxdata/telegraf.Logger).Info
- - (github.com/influxdata/telegraf.Logger).Warn
- - (github.com/influxdata/telegraf.Logger).Error
- lll:
- # Max line length, lines longer will be reported.
- # '\t' is counted as 1 character by default, and can be changed with the tab-width option.
- # Default: 120.
- line-length: 160
- # Tab width in spaces.
- # Default: 1
- tab-width: 4
- nakedret:
- # Make an issue if func has more lines of code than this setting, and it has naked returns.
- # Default: 30
- max-func-lines: 1
- nolintlint:
- # Enable to require an explanation of nonzero length after each nolint directive.
- # Default: false
- require-explanation: true
- # Enable to require nolint directives to mention the specific linter being suppressed.
- # Default: false
- require-specific: true
- prealloc:
- # Report pre-allocation suggestions only on simple loops that have no returns/breaks/continues/gotos in them.
- # Default: true
- simple: false
- revive:
+
+ # To specify the configuration of rules.
+ config:
+ # Maximum allowed permissions mode for os.OpenFile and os.Chmod
+ # Default: "0600"
+ G302: "0640"
+ # Maximum allowed permissions mode for os.WriteFile and ioutil.WriteFile
+ # Default: "0600"
+ G306: "0640"
+
+ govet:
+ # Settings per analyzer.
+ settings:
+ # Analyzer name, run `go tool vet help` to see all analyzers.
+ printf:
+ # Comma-separated list of print function names to check (in addition to default, see `go tool vet help printf`).
+ # Default: []
+ funcs:
+ - (github.com/influxdata/telegraf.Logger).Tracef
+ - (github.com/influxdata/telegraf.Logger).Debugf
+ - (github.com/influxdata/telegraf.Logger).Infof
+ - (github.com/influxdata/telegraf.Logger).Warnf
+ - (github.com/influxdata/telegraf.Logger).Errorf
+ - (github.com/influxdata/telegraf.Logger).Trace
+ - (github.com/influxdata/telegraf.Logger).Debug
+ - (github.com/influxdata/telegraf.Logger).Info
+ - (github.com/influxdata/telegraf.Logger).Warn
+ - (github.com/influxdata/telegraf.Logger).Error
+
+ lll:
+ # Max line length, lines longer will be reported.
+ # '\t' is counted as 1 character by default, and can be changed with the tab-width option.
+ # Default: 120.
+ line-length: 160
+ # Tab width in spaces.
+ # Default: 1
+ tab-width: 4
+
+ nakedret:
+ # Make an issue if func has more lines of code than this setting, and it has naked returns.
+ # Default: 30
+ max-func-lines: 1
+
+ nolintlint:
+ # Enable to require an explanation of nonzero length after each nolint directive.
+ # Default: false
+ require-explanation: true
+ # Enable to require nolint directives to mention the specific linter being suppressed.
+ # Default: false
+ require-specific: true
+
+ prealloc:
+ # Report pre-allocation suggestions only on simple loops that have no returns/breaks/continues/gotos in them.
+ # Default: true
+ simple: false
+
+ revive:
+ # Sets the default severity.
+ # See https://github.com/mgechev/revive#configuration
+ # Default: warning
+ severity: error
+
+ # Run `GL_DEBUG=revive golangci-lint run --enable-only=revive` to see default, all available rules, and enabled rules.
+ rules:
+ - name: argument-limit
+ arguments: [ 6 ]
+ - name: atomic
+ - name: bare-return
+ - name: blank-imports
+ - name: bool-literal-in-expr
+ - name: call-to-gc
+ - name: comment-spacings
+ - name: confusing-naming
+ - name: confusing-results
+ - name: constant-logical-expr
+ - name: context-as-argument
+ - name: context-keys-type
+ - name: datarace
+ - name: deep-exit
+ - name: defer
+ - name: dot-imports
+ - name: duplicated-imports
+ - name: early-return
+ - name: empty-block
+ - name: empty-lines
+ - name: enforce-map-style
+ exclude: [ "TEST" ]
+ arguments:
+ - "make"
+ - name: enforce-repeated-arg-type-style
+ arguments:
+ - "short"
+ - name: enforce-slice-style
+ arguments:
+ - "make"
+ - name: error-naming
+ - name: error-return
+ - name: error-strings
+ - name: errorf
+ - name: exported
+ exclude:
+ - "**/accumulator.go"
+ - "**/agent/**"
+ - "**/cmd/**"
+ - "**/config/**"
+ - "**/filter/**"
+ - "**/internal/**"
+ - "**/logger/**"
+ - "**/logger.go"
+ - "**/metric/**"
+ - "**/metric.go"
+ - "**/migrations/**"
+ - "**/models/**"
+ - "**/persister/**"
+ - "**/metric.go"
+ - "**/parser.go"
+ - "**/plugin.go"
+ - "**/plugins/common/**"
+ - "**/plugins/outputs/**"
+ - "**/plugins/parsers/**"
+ - "**/selfstat/**"
+ - "**/serializer.go"
+ - "**/testutil/**"
+ - "**/tools/**"
+ arguments:
+ - "check-private-receivers"
+ - "say-repetitive-instead-of-stutters"
+ - "check-public-interface"
+ - "disable-checks-on-types"
+ - name: function-result-limit
+ arguments: [ 3 ]
+ - name: get-return
+ - name: identical-branches
+ - name: if-return
+ - name: import-alias-naming
+ arguments:
+ - "^[a-z][a-z0-9_]*[a-z0-9]+$"
+ - name: import-shadowing
+ - name: increment-decrement
+ - name: indent-error-flow
+ - name: max-public-structs
+ arguments: [ 5 ]
+ exclude: [ "TEST" ]
+ - name: modifies-parameter
+ - name: modifies-value-receiver
+ - name: optimize-operands-order
+ - name: package-comments
+ - name: range
+ - name: range-val-address
+ - name: range-val-in-closure
+ - name: receiver-naming
+ - name: redefines-builtin-id
+ - name: redundant-import-alias
+ - name: string-format
+ arguments:
+ - - 'fmt.Errorf[0],errors.New[0]'
+ - '/^([^A-Z]|$)/'
+ - 'Error string must not start with a capital letter.'
+ - - 'fmt.Errorf[0],errors.New[0]'
+ - '/(^|[^\.!?])$/'
+ - 'Error string must not end in punctuation.'
+ - - 'panic'
+ - '/^[^\n]*$/'
+ - 'Must not contain line breaks.'
+ - name: string-of-int
+ - name: struct-tag
+ - name: superfluous-else
+ - name: time-equal
+ - name: time-naming
+ - name: unconditional-recursion
+ - name: unexported-naming
+ - name: unnecessary-stmt
+ - name: unreachable-code
+ - name: unused-parameter
+ - name: unused-receiver
+ - name: var-declaration
+ - name: var-naming
+ arguments:
+ - [ ] # AllowList
+ - [ "ID", "DB", "TS" ] # DenyList
+ - name: waitgroup-by-value
+
+ staticcheck:
+ # SAxxxx checks in https://staticcheck.dev/docs/configuration/options/#checks
+ # Example (to disable some checks): [ "all", "-SA1000", "-SA1001"]
+ # Default: ["all", "-ST1000", "-ST1003", "-ST1016", "-ST1020", "-ST1021", "-ST1022"]
+ checks:
+ - all
+ # Poorly chosen identifier.
+ # https://staticcheck.dev/docs/checks/#ST1003
+ - -ST1003
+ # Apply De Morgan's law.
+ # https://staticcheck.dev/docs/checks/#QF1001
+ - -QF1001
+ # Convert if/else-if chain to tagged switch.
+ # https://staticcheck.dev/docs/checks/#QF1003
+ - -QF1003
+ # Use 'strings.ReplaceAll' instead of 'strings.Replace' with 'n == -1'.
+ # https://staticcheck.dev/docs/checks/#QF1004
+ - -QF1004
+ # Lift 'if'+'break' into loop condition.
+ # https://staticcheck.dev/docs/checks/#QF1006
+ - -QF1006
+ # Merge conditional assignment into variable declaration.
+ # https://staticcheck.dev/docs/checks/#QF1007
+ - -QF1007
+ # Omit embedded fields from selector expression.
+ # https://staticcheck.dev/docs/checks/#QF1008
+ - -QF1008
+ # Use 'time.Time.Equal' instead of '==' operator.
+ # https://staticcheck.dev/docs/checks/#QF1009
+ - -QF1009
+
+ testifylint:
+ # Disable all checkers (https://github.com/Antonboom/testifylint#checkers).
+ # Default: false
+ disable-all: true
+ # Enable checkers by name
+ enable:
+ - blank-import
+ - bool-compare
+ - compares
+ - contains
+ - empty
+ - encoded-compare
+ - error-is-as
+ - error-nil
+ - expected-actual
+ - float-compare
+ - formatter
+ - go-require
+ - len
+ - negative-positive
+ - nil-compare
+ - regexp
+ - require-error
+ - suite-broken-parallel
+ - suite-dont-use-pkg
+ - suite-extra-assert-call
+ - suite-subtest-run
+ - suite-thelper
+ - useless-assert
+
+ usetesting:
+ # Enable/disable `os.TempDir()` detections.
+ # Default: false
+ os-temp-dir: true
+
+ # Defines a set of rules to ignore issues.
+ # It does not skip the analysis, and so does not ignore "typecheck" errors.
+ exclusions:
+ # Mode of the generated files analysis.
+ #
+ # - `strict`: sources are excluded by strictly following the Go generated file convention.
+ # Source files that have lines matching only the following regular expression will be excluded: `^// Code generated .* DO NOT EDIT\.$`
+ # This line must appear before the first non-comment, non-blank text in the file.
+ # https://go.dev/s/generatedcode
+ # - `lax`: sources are excluded if they contain lines like `autogenerated file`, `code generated`, `do not edit`, etc.
+ # - `disable`: disable the generated files exclusion.
+ #
+ # Default: strict
+ generated: lax
+
+ # Excluding configuration per-path, per-linter, per-text and per-source.
rules:
- - name: argument-limit
- arguments: [ 6 ]
- - name: atomic
- - name: bare-return
- - name: blank-imports
- - name: bool-literal-in-expr
- - name: call-to-gc
- - name: comment-spacings
- - name: confusing-naming
- - name: confusing-results
- - name: constant-logical-expr
- - name: context-as-argument
- - name: context-keys-type
- - name: datarace
- - name: deep-exit
- - name: defer
- - name: dot-imports
- - name: duplicated-imports
- - name: early-return
- - name: empty-block
- - name: empty-lines
- - name: enforce-map-style
- arguments: ["make"]
- exclude: [ "TEST" ]
- - name: enforce-repeated-arg-type-style
- arguments: ["short"]
- - name: enforce-slice-style
- arguments: ["make"]
- - name: error-naming
- - name: error-return
- - name: error-strings
- - name: errorf
- - name: function-result-limit
- arguments: [ 3 ]
- - name: get-return
- - name: identical-branches
- - name: if-return
- - name: import-alias-naming
- arguments:
- - "^[a-z][a-z0-9_]*[a-z0-9]+$"
- - name: import-shadowing
- - name: increment-decrement
- - name: indent-error-flow
- - name: max-public-structs
- exclude: [ "TEST" ]
- arguments: [ 5 ]
- - name: modifies-parameter
- - name: modifies-value-receiver
- - name: optimize-operands-order
- - name: package-comments
- - name: range
- - name: range-val-address
- - name: range-val-in-closure
- - name: receiver-naming
- - name: redefines-builtin-id
- - name: redundant-import-alias
- - name: string-format
- arguments:
- - - 'fmt.Errorf[0],errors.New[0]'
- - '/^([^A-Z]|$)/'
- - 'Error string must not start with a capital letter.'
- - - 'fmt.Errorf[0],errors.New[0]'
- - '/(^|[^\.!?])$/'
- - 'Error string must not end in punctuation.'
- - - 'panic'
- - '/^[^\n]*$/'
- - 'Must not contain line breaks.'
- - name: string-of-int
- - name: struct-tag
- - name: superfluous-else
- - name: time-equal
- - name: time-naming
- - name: unconditional-recursion
- - name: unexported-naming
- - name: unnecessary-stmt
- - name: unreachable-code
- - name: unused-parameter
- - name: unused-receiver
- - name: var-declaration
- - name: var-naming
- - name: waitgroup-by-value
- testifylint:
- # Disable all checkers (https://github.com/Antonboom/testifylint#checkers).
- # Default: false
- disable-all: true
- # Enable checkers by name
- enable:
- - blank-import
- - bool-compare
- - compares
- - contains
- - empty
- - encoded-compare
- - error-is-as
- - error-nil
- - expected-actual
- - float-compare
- - formatter
- - go-require
- - len
- - negative-positive
- - nil-compare
- - regexp
- - require-error
- - suite-broken-parallel
- - suite-dont-use-pkg
- - suite-extra-assert-call
- - suite-subtest-run
- - suite-thelper
- - useless-assert
- usetesting:
- # Enable/disable `os.TempDir()` detections.
- # Default: false
- os-temp-dir: true
+ # errcheck
+ - path: cmd/telegraf/(main|printer|cmd_plugins).go
+ text: "Error return value of `outputBuffer.Write` is not checked"
-issues:
- # List of regexps of issue texts to exclude.
- #
- # But independently of this option we use default exclude patterns,
- # it can be disabled by `exclude-use-default: false`.
- # To list all excluded by default patterns execute `golangci-lint run --help`
- #
- # Default: https://golangci-lint.run/usage/false-positives/#default-exclusions
- exclude:
- # revive:var-naming
- - don't use an underscore in package name
- # EXC0001 errcheck: Almost all programs ignore errors on these functions, and in most cases it's ok
- - Error return value of .((os\.)?std(out|err)\..*|.*Close.*|.*Flush|.*Disconnect|.*Clear|os\.Remove(All)?|.*print(f|ln)?|os\.(Un)?Setenv). is not checked
- # EXC0013 revive: Annoying issue about not having a comment. The rare codebase has such comments
- - package comment should be of the form "(.+)...
- # EXC0015 revive: Annoying issue about not having a comment. The rare codebase has such comments
- - should have a package comment
-
- # Excluding configuration per-path, per-linter, per-text and per-source
- exclude-rules:
- - path: plugins/parsers/influx
- linters:
- - govet
-
- - path: cmd/telegraf/(main|printer|cmd_plugins).go
- text: "Error return value of `outputBuffer.Write` is not checked" #errcheck
-
- - path: plugins/inputs/win_perf_counters/pdh.go
- linters:
- - errcheck
-
- - path: _test\.go
- text: "Potential hardcoded credentials" #gosec:G101
-
- - path: _test\.go
- text: "Use of weak random number generator" #gosec:G404
-
- - path-except: ^plugins/(aggregators|inputs|outputs|parsers|processors|serializers)/...
- text: "max-public-structs: you have exceeded the maximum number" #revive:max-public-structs
-
- # Independently of option `exclude` we use default exclude patterns,
- # it can be disabled by this option.
- # To list all excluded by default patterns execute `golangci-lint run --help`.
- # Default: true
- exclude-use-default: false
-
- # Which dirs to exclude: issues from them won't be reported.
- # Can use regexp here: `generated.*`, regexp is applied on full path,
- # including the path prefix if one is set.
- # Default dirs are skipped independently of this option's value (see exclude-dirs-use-default).
- # "/" will be replaced by current OS file path separator to properly work on Windows.
- # Default: []
- exclude-dirs:
- - assets
- - docs
- - etc
-
- # Which files to exclude: they will be analyzed, but issues from them won't be reported.
- # There is no need to include all autogenerated files,
- # we confidently recognize autogenerated files.
- # If it's not, please let us know.
- # "/" will be replaced by current OS file path separator to properly work on Windows.
- # Default: []
- exclude-files:
- - plugins/parsers/influx/machine.go*
+ - path: plugins/inputs/win_perf_counters/pdh.go
+ linters:
+ - errcheck
+ # gosec:G101
+ - path: _test\.go
+ text: "Potential hardcoded credentials"
+
+ # gosec:G404
+ - path: _test\.go
+ text: "Use of weak random number generator"
+
+ # revive:max-public-structs
+ - path-except: ^plugins/(aggregators|inputs|outputs|parsers|processors|serializers)/...
+ text: "max-public-structs: you have exceeded the maximum number"
+
+ # revive:var-naming
+ - path: (.+)\.go$
+ text: don't use an underscore in package name
+
+ # revive:var-naming
+ - path: (.*)\.go$
+ text: avoid meaningless package names
+
+ # revive:var-naming: Exclude mixed-caps packages in migrations, as these migrations are fixing the issues from before.
+ - path: migrations/.*\.go$
+ text: don't use MixedCaps in package name
+
+ # revive:exported
+ - path: (.+)\.go$
+ text: exported method .*\.(Init |SampleConfig |Gather |Start |Stop |GetState |SetState |SetParser |SetParserFunc |SetTranslator |Probe |Add |Push |Reset |Serialize |SerializeBatch |Get |Set |List |GetResolver |Apply |SetSerializer )should have comment or be unexported
+
+ # EXC0001 errcheck: Almost all programs ignore errors on these functions, and in most cases it's ok
+ - path: (.+)\.go$
+ text: Error return value of .((os\.)?std(out|err)\..*|.*Close.*|.*close.*|.*Flush|.*Disconnect|.*disconnect|.*Clear|os\.Remove(All)?|.*print(f|ln)?|os\.Setenv|os\.Unsetenv). is not checked
+
+ # EXC0013 revive: Annoying issue about not having a comment. The rare codebase has such comments
+ - path: (.+)\.go$
+ text: package comment should be of the form "(.+)...
+
+ # EXC0015 revive: Annoying issue about not having a comment. The rare codebase has such comments
+ - path: (.+)\.go$
+ text: should have a package comment
+
+ # Which file paths to exclude: they will be analyzed, but issues from them won't be reported.
+ # "/" will be replaced by the current OS file path separator to properly work on Windows.
+ # Default: []
+ paths:
+ - plugins/parsers/influx/machine.go*
+
+formatters:
+ # Enable specific formatter.
+ # Default: [] (uses standard Go formatting)
+ enable:
+ - gci
+
+ # Formatters settings.
+ settings:
+ gci:
+ # Section configuration to compare against.
+ # Section names are case-insensitive and may contain parameters in ().
+ # The default order of sections is `standard > default > custom > blank > dot > alias > localmodule`.
+ # If `custom-order` is `true`, it follows the order of `sections` option.
+ # Default: ["standard", "default"]
+ sections:
+ - standard # Standard section: captures all standard packages.
+ - default # Default section: contains all imports that could not be matched to another section type.
+ - localmodule # Local module section: contains all local packages. This section is not present unless explicitly enabled.
+
+ exclusions:
+ # Mode of the generated files analysis.
+ #
+ # - `strict`: sources are excluded by strictly following the Go generated file convention.
+ # Source files that have lines matching only the following regular expression will be excluded: `^// Code generated .* DO NOT EDIT\.$`
+ # This line must appear before the first non-comment, non-blank text in the file.
+ # https://go.dev/s/generatedcode
+ # - `lax`: sources are excluded if they contain lines like `autogenerated file`, `code generated`, `do not edit`, etc.
+ # - `disable`: disable the generated files exclusion.
+ #
+ # Default: lax
+ generated: lax
+
+issues:
# Maximum issues count per one linter.
# Set to 0 to disable.
# Default: 50
@@ -443,49 +586,48 @@ issues:
# Default: true
uniq-by-line: false
-# output configuration options
+# Output configuration options.
output:
# The formats used to render issues.
- # Formats:
- # - `colored-line-number`
- # - `line-number`
- # - `json`
- # - `colored-tab`
- # - `tab`
- # - `html`
- # - `checkstyle`
- # - `code-climate`
- # - `junit-xml`
- # - `junit-xml-extended`
- # - `github-actions`
- # - `teamcity`
- # - `sarif`
- # Output path can be either `stdout`, `stderr` or path to the file to write to.
- #
- # For the CLI flag (`--out-format`), multiple formats can be specified by separating them by comma.
- # The output can be specified for each of them by separating format name and path by colon symbol.
- # Example: "--out-format=checkstyle:report.xml,json:stdout,colored-line-number"
- # The CLI flag (`--out-format`) override the configuration file.
- #
- # Default:
- # formats:
- # - format: colored-line-number
- # path: stdout
formats:
- - format: tab
+ # Prints issues in columns representation separated by tabulations.
+ tab:
+ # Output path can be either `stdout`, `stderr` or path to the file to write to.
+ # Default: stdout
path: stdout
- # Sort results by the order defined in `sort-order`.
- # Default: false
- sort-results: true
+ # Order to use when sorting results.
+ # Possible values: `file`, `linter`, and `severity`.
+ #
+ # If the severity values are inside the following list, they are ordered in this order:
+ # 1. error
+ # 2. warning
+ # 3. high
+ # 4. medium
+ # 5. low
+ # Either they are sorted alphabetically.
+ #
+ # Default: ["linter", "file"]
+ sort-order:
+ - file # filepath, line, and column.
+ - linter
# Show statistics per linter.
- # Default: false
+ # Default: true
show-stats: true
-# Options for analysis running.
-run:
- # Timeout for analysis, e.g. 30s, 5m.
- # If the value is lower or equal to 0, the timeout is disabled.
- # Default: 1m
- timeout: 10m
+severity:
+ # Set the default severity for issues.
+ #
+ # If severity rules are defined and the issues do not match or no severity is provided to the rule
+ # this will be the default severity applied.
+ # Severities should match the supported severity names of the selected out format.
+ # - Code climate: https://docs.codeclimate.com/docs/issues#issue-severity
+ # - Checkstyle: https://checkstyle.sourceforge.io/property_types.html#SeverityLevel
+ # - GitHub: https://help.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-an-error-message
+ # - TeamCity: https://www.jetbrains.com/help/teamcity/service-messages.html#Inspection+Instance
+ #
+ # `@linter` can be used as severity value to keep the severity from linters (e.g. revive, gosec, ...)
+ #
+ # Default: ""
+ default: error
diff --git a/vendor/github.com/influxdata/telegraf/.markdownlint.jsonc b/vendor/github.com/influxdata/telegraf/.markdownlint.jsonc
new file mode 100644
index 0000000000000..d79c4e033922b
--- /dev/null
+++ b/vendor/github.com/influxdata/telegraf/.markdownlint.jsonc
@@ -0,0 +1,12 @@
+{
+ "MD013": {
+ "code_blocks": false,
+ "tables": false,
+ "heading_line_length": 90
+ },
+ "MD033": {
+ "allowed_elements": [
+ "br"
+ ]
+ }
+}
diff --git a/vendor/github.com/influxdata/telegraf/.markdownlint.yml b/vendor/github.com/influxdata/telegraf/.markdownlint.yml
deleted file mode 100644
index 893179487d310..0000000000000
--- a/vendor/github.com/influxdata/telegraf/.markdownlint.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "MD013": false,
- "MD033": {
- "allowed_elements": ["br"]
- }
-}
diff --git a/vendor/github.com/influxdata/telegraf/CHANGELOG-1.13.md b/vendor/github.com/influxdata/telegraf/CHANGELOG-1.13.md
index a55e02ed92d91..f40bfc1e04cfc 100644
--- a/vendor/github.com/influxdata/telegraf/CHANGELOG-1.13.md
+++ b/vendor/github.com/influxdata/telegraf/CHANGELOG-1.13.md
@@ -1,4 +1,4 @@
-
+
# Changelog v1.13 and Earlier
## v1.13.4 [2020-02-25]
@@ -2293,10 +2293,10 @@ format that they would like to parse. Currently supports: "json", "influx", and
"graphite"
- Users of message broker and file output plugins can now choose what data format
they would like to output. Currently supports: "influx" and "graphite"
-- More info on parsing _incoming_ data formats can be found
-[here](https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md)
-- More info on serializing _outgoing_ data formats can be found
-[here](https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md)
+- For more info on parsing _incoming_ data formats see the
+ [documentation](https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md)
+- For more info on serializing _outgoing_ data formats see the
+ [documentation](https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md)
- Telegraf now has an option `flush_buffer_when_full` that will flush the
metric buffer whenever it fills up for each output, rather than dropping
points and only flushing on a set time interval. This will default to `true`
diff --git a/vendor/github.com/influxdata/telegraf/CHANGELOG.md b/vendor/github.com/influxdata/telegraf/CHANGELOG.md
index a3a53580d110b..59a53a198946e 100644
--- a/vendor/github.com/influxdata/telegraf/CHANGELOG.md
+++ b/vendor/github.com/influxdata/telegraf/CHANGELOG.md
@@ -1,6 +1,798 @@
-
+
# Changelog
+## v1.36.3 [2025-10-21]
+
+### Bugfixes
+
+- [#17765](https://github.com/influxdata/telegraf/pull/17765) `inputs.chrony` Prevent race condition in concurrent gather calls
+- [#17634](https://github.com/influxdata/telegraf/pull/17634) `inputs.docker` Fix incorrect CPU usage_percent for Podman containers
+- [#17740](https://github.com/influxdata/telegraf/pull/17740) `inputs.kube_inventory` Prevent panic in endpoints' ready flag
+- [#17483](https://github.com/influxdata/telegraf/pull/17483) `inputs.smart` Correct exit_status for active vs standby drives
+- [#17617](https://github.com/influxdata/telegraf/pull/17617) `inputs.zfs` Parse field values according to provided type
+- [#17787](https://github.com/influxdata/telegraf/pull/17787) `outputs.nats` Unwrap wrapped metrics to avoid panic on missing Field method
+- [#17573](https://github.com/influxdata/telegraf/pull/17573) `parsers.csv` Support concurrent usage
+- [#17738](https://github.com/influxdata/telegraf/pull/17738) `secretstores.systemd` Handle dash version separator correctly
+
+### Dependency Updates
+
+- [#17770](https://github.com/influxdata/telegraf/pull/17770) `deps` Bump cloud.google.com/go/bigquery from 1.70.0 to 1.71.0
+- [#17821](https://github.com/influxdata/telegraf/pull/17821) `deps` Bump cloud.google.com/go/monitoring from 1.24.2 to 1.24.3
+- [#17777](https://github.com/influxdata/telegraf/pull/17777) `deps` Bump cloud.google.com/go/pubsub/v2 from 2.0.0 to 2.2.0
+- [#17846](https://github.com/influxdata/telegraf/pull/17846) `deps` Bump cloud.google.com/go/pubsub/v2 from 2.2.0 to 2.2.1
+- [#17718](https://github.com/influxdata/telegraf/pull/17718) `deps` Bump cloud.google.com/go/storage from 1.56.2 to 1.57.0
+- [#17805](https://github.com/influxdata/telegraf/pull/17805) `deps` Bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.12.0 to 1.13.0
+- [#17784](https://github.com/influxdata/telegraf/pull/17784) `deps` Bump github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs from 1.4.0 to 2.0.0
+- [#17810](https://github.com/influxdata/telegraf/pull/17810) `deps` Bump github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs/v2 from 2.0.0 to 2.0.1
+- [#17804](https://github.com/influxdata/telegraf/pull/17804) `deps` Bump github.com/IBM/sarama from 1.46.1 to 1.46.2
+- [#17724](https://github.com/influxdata/telegraf/pull/17724) `deps` Bump github.com/SAP/go-hdb from 1.14.4 to 1.14.5
+- [#17808](https://github.com/influxdata/telegraf/pull/17808) `deps` Bump github.com/SAP/go-hdb from 1.14.5 to 1.14.6
+- [#17866](https://github.com/influxdata/telegraf/pull/17866) `deps` Bump github.com/SAP/go-hdb from 1.14.6 to 1.14.7
+- [#17822](https://github.com/influxdata/telegraf/pull/17822) `deps` Bump github.com/antchfx/xmlquery from 1.4.4 to 1.5.0
+- [#17868](https://github.com/influxdata/telegraf/pull/17868) `deps` Bump github.com/aws/aws-sdk-go-v2/config from 1.31.12 to 1.31.13
+- [#17730](https://github.com/influxdata/telegraf/pull/17730) `deps` Bump github.com/aws/aws-sdk-go-v2/config from 1.31.9 to 1.31.12
+- [#17719](https://github.com/influxdata/telegraf/pull/17719) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatch from 1.50.1 to 1.51.1
+- [#17863](https://github.com/influxdata/telegraf/pull/17863) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatch from 1.51.1 to 1.51.2
+- [#17716](https://github.com/influxdata/telegraf/pull/17716) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.58.0 to 1.58.2
+- [#17715](https://github.com/influxdata/telegraf/pull/17715) `deps` Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.50.3 to 1.50.5
+- [#17772](https://github.com/influxdata/telegraf/pull/17772) `deps` Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.50.5 to 1.51.0
+- [#17714](https://github.com/influxdata/telegraf/pull/17714) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.253.0 to 1.254.1
+- [#17814](https://github.com/influxdata/telegraf/pull/17814) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.254.1 to 1.255.0
+- [#17728](https://github.com/influxdata/telegraf/pull/17728) `deps` Bump github.com/aws/aws-sdk-go-v2/service/kinesis from 1.40.3 to 1.40.5
+- [#17848](https://github.com/influxdata/telegraf/pull/17848) `deps` Bump github.com/aws/aws-sdk-go-v2/service/kinesis from 1.40.5 to 1.40.6
+- [#17723](https://github.com/influxdata/telegraf/pull/17723) `deps` Bump github.com/aws/aws-sdk-go-v2/service/timestreamwrite from 1.35.3 to 1.35.5
+- [#17864](https://github.com/influxdata/telegraf/pull/17864) `deps` Bump github.com/aws/smithy-go from 1.23.0 to 1.23.1
+- [#17849](https://github.com/influxdata/telegraf/pull/17849) `deps` Bump github.com/bluenviron/gomavlib/v3 from 3.2.1 to 3.3.0
+- [#17774](https://github.com/influxdata/telegraf/pull/17774) `deps` Bump github.com/docker/docker from 28.4.0+incompatible to 28.5.0+incompatible
+- [#17816](https://github.com/influxdata/telegraf/pull/17816) `deps` Bump github.com/docker/docker from 28.5.0+incompatible to 28.5.1+incompatible
+- [#17769](https://github.com/influxdata/telegraf/pull/17769) `deps` Bump github.com/go-ldap/ldap/v3 from 3.4.11 to 3.4.12
+- [#17775](https://github.com/influxdata/telegraf/pull/17775) `deps` Bump github.com/go-logfmt/logfmt from 0.6.0 to 0.6.1
+- [#17727](https://github.com/influxdata/telegraf/pull/17727) `deps` Bump github.com/hashicorp/consul/api from 1.32.3 to 1.32.4
+- [#17862](https://github.com/influxdata/telegraf/pull/17862) `deps` Bump github.com/klauspost/compress from 1.18.0 to 1.18.1
+- [#17773](https://github.com/influxdata/telegraf/pull/17773) `deps` Bump github.com/leodido/go-syslog/v4 from 4.2.1-0.20250421191238-de2e76af1251 to 4.3.0
+- [#17729](https://github.com/influxdata/telegraf/pull/17729) `deps` Bump github.com/lxc/incus/v6 from 6.16.0 to 6.17.0
+- [#17860](https://github.com/influxdata/telegraf/pull/17860) `deps` Bump github.com/nats-io/nats-server/v2 from 2.12.0 to 2.12.1
+- [#17766](https://github.com/influxdata/telegraf/pull/17766) `deps` Bump github.com/nats-io/nats.go from 1.46.0 to 1.46.1
+- [#17851](https://github.com/influxdata/telegraf/pull/17851) `deps` Bump github.com/nats-io/nats.go from 1.46.1 to 1.47.0
+- [#17813](https://github.com/influxdata/telegraf/pull/17813) `deps` Bump github.com/prometheus/common from 0.66.1 to 0.67.1
+- [#17867](https://github.com/influxdata/telegraf/pull/17867) `deps` Bump github.com/prometheus/prometheus from 0.306.0 to 0.307.1
+- [#17861](https://github.com/influxdata/telegraf/pull/17861) `deps` Bump github.com/redis/go-redis/v9 from 9.14.0 to 9.14.1
+- [#17767](https://github.com/influxdata/telegraf/pull/17767) `deps` Bump github.com/shirou/gopsutil/v4 from 4.25.8 to 4.25.9
+- [#17725](https://github.com/influxdata/telegraf/pull/17725) `deps` Bump github.com/snowflakedb/gosnowflake from 0.0.0-20250911095445-20c4d105d9a0 to 1.17.0
+- [#17776](https://github.com/influxdata/telegraf/pull/17776) `deps` Bump go.opentelemetry.io/collector/pdata from 1.42.0 to 1.43.0
+- [#17817](https://github.com/influxdata/telegraf/pull/17817) `deps` Bump go.step.sm/crypto from 0.70.0 to 0.71.0
+- [#17857](https://github.com/influxdata/telegraf/pull/17857) `deps` Bump go.step.sm/crypto from 0.71.0 to 0.72.0
+- [#17820](https://github.com/influxdata/telegraf/pull/17820) `deps` Bump golang.org/x/crypto from 0.42.0 to 0.43.0
+- [#17806](https://github.com/influxdata/telegraf/pull/17806) `deps` Bump golang.org/x/mod from 0.28.0 to 0.29.0
+- [#17819](https://github.com/influxdata/telegraf/pull/17819) `deps` Bump golang.org/x/net from 0.44.0 to 0.46.0
+- [#17818](https://github.com/influxdata/telegraf/pull/17818) `deps` Bump golang.org/x/oauth2 from 0.31.0 to 0.32.0
+- [#17823](https://github.com/influxdata/telegraf/pull/17823) `deps` Bump golang.org/x/sys from 0.36.0 to 0.37.0
+- [#17717](https://github.com/influxdata/telegraf/pull/17717) `deps` Bump google.golang.org/api from 0.249.0 to 0.250.0
+- [#17778](https://github.com/influxdata/telegraf/pull/17778) `deps` Bump google.golang.org/api from 0.250.0 to 0.251.0
+- [#17807](https://github.com/influxdata/telegraf/pull/17807) `deps` Bump google.golang.org/api from 0.251.0 to 0.252.0
+- [#17771](https://github.com/influxdata/telegraf/pull/17771) `deps` Bump google.golang.org/grpc from 1.75.1 to 1.76.0
+- [#17768](https://github.com/influxdata/telegraf/pull/17768) `deps` Bump google.golang.org/protobuf from 1.36.9 to 1.36.10
+- [#17811](https://github.com/influxdata/telegraf/pull/17811) `deps` Bump modernc.org/sqlite from 1.39.0 to 1.39.1
+- [#17779](https://github.com/influxdata/telegraf/pull/17779) `deps` Bump super-linter/super-linter from 8.1.0 to 8.2.0
+- [#17853](https://github.com/influxdata/telegraf/pull/17853) `deps` Bump super-linter/super-linter from 8.2.0 to 8.2.1
+- [#17610](https://github.com/influxdata/telegraf/pull/17610) `deps` Switch to maintained yaml library
+- [#17794](https://github.com/influxdata/telegraf/pull/17794) `deps` Update golangci-lint to 2.5.0
+
+## v1.36.2 [2025-09-29]
+
+### Bugfixes
+
+- [#17609](https://github.com/influxdata/telegraf/pull/17609) `filter` Handle multiple conditions correctly
+- [#17552](https://github.com/influxdata/telegraf/pull/17552) `inputs.procstat` Use correct values for disk_read_bytes, disk_write_bytes on Linux
+- [#17613](https://github.com/influxdata/telegraf/pull/17613) `inputs.tail` Fix data race when cleaning up unused tailers
+
+### Dependency Updates
+
+- [#17599](https://github.com/influxdata/telegraf/pull/17599) `deps` Bump actions/setup-go from 5 to 6
+- [#17650](https://github.com/influxdata/telegraf/pull/17650) `deps` Bump cloud.google.com/go/bigquery from 1.69.0 to 1.70.0
+- [#17654](https://github.com/influxdata/telegraf/pull/17654) `deps` Bump cloud.google.com/go/storage from 1.56.1 to 1.56.2
+- [#17688](https://github.com/influxdata/telegraf/pull/17688) `deps` Bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.19.0 to 1.19.1
+- [#17683](https://github.com/influxdata/telegraf/pull/17683) `deps` Bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.11.0 to 1.12.0
+- [#17644](https://github.com/influxdata/telegraf/pull/17644) `deps` Bump github.com/ClickHouse/clickhouse-go/v2 from 2.40.1 to 2.40.3
+- [#17522](https://github.com/influxdata/telegraf/pull/17522) `deps` Bump github.com/IBM/sarama from 1.45.2 to 1.46.0
+- [#17682](https://github.com/influxdata/telegraf/pull/17682) `deps` Bump github.com/IBM/sarama from 1.46.0 to 1.46.1
+- [#17636](https://github.com/influxdata/telegraf/pull/17636) `deps` Bump github.com/SAP/go-hdb from 1.14.0 to 1.14.3
+- [#17677](https://github.com/influxdata/telegraf/pull/17677) `deps` Bump github.com/SAP/go-hdb from 1.14.3 to 1.14.4
+- [#17647](https://github.com/influxdata/telegraf/pull/17647) `deps` Bump github.com/apache/arrow-go/v18 from 18.4.0 to 18.4.1
+- [#17587](https://github.com/influxdata/telegraf/pull/17587) `deps` Bump github.com/apache/inlong/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang from 1.0.5 to 1.0.6
+- [#17642](https://github.com/influxdata/telegraf/pull/17642) `deps` Bump github.com/awnumar/memguard from 0.22.5 to 0.23.0
+- [#17693](https://github.com/influxdata/telegraf/pull/17693) `deps` Bump github.com/aws/aws-sdk-go-v2/config from 1.31.4 to 1.31.9
+- [#17588](https://github.com/influxdata/telegraf/pull/17588) `deps` Bump github.com/aws/aws-sdk-go-v2/feature/ec2/imds from 1.18.5 to 1.18.7
+- [#17641](https://github.com/influxdata/telegraf/pull/17641) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatch from 1.48.2 to 1.50.1
+- [#17656](https://github.com/influxdata/telegraf/pull/17656) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.57.0 to 1.57.4
+- [#17690](https://github.com/influxdata/telegraf/pull/17690) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.57.4 to 1.58.0
+- [#17596](https://github.com/influxdata/telegraf/pull/17596) `deps` Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.49.1 to 1.50.2
+- [#17649](https://github.com/influxdata/telegraf/pull/17649) `deps` Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.50.2 to 1.50.3
+- [#17583](https://github.com/influxdata/telegraf/pull/17583) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.246.0 to 1.251.1
+- [#17640](https://github.com/influxdata/telegraf/pull/17640) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.251.1 to 1.251.2
+- [#17681](https://github.com/influxdata/telegraf/pull/17681) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.251.2 to 1.253.0
+- [#17595](https://github.com/influxdata/telegraf/pull/17595) `deps` Bump github.com/aws/aws-sdk-go-v2/service/kinesis from 1.39.1 to 1.40.2
+- [#17646](https://github.com/influxdata/telegraf/pull/17646) `deps` Bump github.com/aws/aws-sdk-go-v2/service/kinesis from 1.40.2 to 1.40.3
+- [#17638](https://github.com/influxdata/telegraf/pull/17638) `deps` Bump github.com/aws/aws-sdk-go-v2/service/sts from 1.38.1 to 1.38.4
+- [#17582](https://github.com/influxdata/telegraf/pull/17582) `deps` Bump github.com/aws/aws-sdk-go-v2/service/timestreamwrite from 1.34.2 to 1.35.2
+- [#17658](https://github.com/influxdata/telegraf/pull/17658) `deps` Bump github.com/aws/aws-sdk-go-v2/service/timestreamwrite from 1.35.2 to 1.35.3
+- [#17673](https://github.com/influxdata/telegraf/pull/17673) `deps` Bump github.com/cloudevents/sdk-go/v2 from 2.16.1 to 2.16.2
+- [#17601](https://github.com/influxdata/telegraf/pull/17601) `deps` Bump github.com/docker/docker from 28.3.3+incompatible to 28.4.0+incompatible
+- [#17653](https://github.com/influxdata/telegraf/pull/17653) `deps` Bump github.com/eclipse/paho.golang from 0.22.0 to 0.23.0
+- [#17680](https://github.com/influxdata/telegraf/pull/17680) `deps` Bump github.com/eclipse/paho.mqtt.golang from 1.5.0 to 1.5.1
+- [#17597](https://github.com/influxdata/telegraf/pull/17597) `deps` Bump github.com/google/cel-go from 0.26.0 to 0.26.1
+- [#17689](https://github.com/influxdata/telegraf/pull/17689) `deps` Bump github.com/hashicorp/consul/api from 1.32.1 to 1.32.3
+- [#17651](https://github.com/influxdata/telegraf/pull/17651) `deps` Bump github.com/lxc/incus/v6 from 6.15.0 to 6.16.0
+- [#17635](https://github.com/influxdata/telegraf/pull/17635) `deps` Bump github.com/nats-io/nats-server/v2 from 2.11.8 to 2.11.9
+- [#17670](https://github.com/influxdata/telegraf/pull/17670) `deps` Bump github.com/nats-io/nats-server/v2 from 2.11.9 to 2.12.0
+- [#17675](https://github.com/influxdata/telegraf/pull/17675) `deps` Bump github.com/nats-io/nats.go from 1.45.0 to 1.46.0
+- [#17674](https://github.com/influxdata/telegraf/pull/17674) `deps` Bump github.com/peterbourgon/unixtransport from 0.0.6 to 0.0.7
+- [#17593](https://github.com/influxdata/telegraf/pull/17593) `deps` Bump github.com/prometheus/client_golang from 1.23.0 to 1.23.2
+- [#17585](https://github.com/influxdata/telegraf/pull/17585) `deps` Bump github.com/prometheus/common from 0.65.0 to 0.66.1
+- [#17685](https://github.com/influxdata/telegraf/pull/17685) `deps` Bump github.com/prometheus/prometheus from 0.305.0 to 0.306.0
+- [#17329](https://github.com/influxdata/telegraf/pull/17329) `deps` Bump github.com/prometheus/prometheus from 0.54.1 to 0.305.0
+- [#17645](https://github.com/influxdata/telegraf/pull/17645) `deps` Bump github.com/redis/go-redis/v9 from 9.12.1 to 9.14.0
+- [#17567](https://github.com/influxdata/telegraf/pull/17567) `deps` Bump github.com/shirou/gopsutil/v4 from 4.25.7 to 4.25.8
+- [#17699](https://github.com/influxdata/telegraf/pull/17699) `deps` Bump github.com/snowflakedb/gosnowflake from 1.16.0 to 0.0.0-20250911095445-20c4d105d9a0
+- [#17590](https://github.com/influxdata/telegraf/pull/17590) `deps` Bump github.com/stretchr/testify from 1.10.0 to 1.11.1
+- [#17687](https://github.com/influxdata/telegraf/pull/17687) `deps` Bump github.com/testcontainers/testcontainers-go from 0.38.0 to 0.39.0
+- [#17676](https://github.com/influxdata/telegraf/pull/17676) `deps` Bump github.com/testcontainers/testcontainers-go/modules/azure from 0.38.0 to 0.39.0
+- [#17671](https://github.com/influxdata/telegraf/pull/17671) `deps` Bump github.com/testcontainers/testcontainers-go/modules/kafka from 0.38.0 to 0.39.0
+- [#17584](https://github.com/influxdata/telegraf/pull/17584) `deps` Bump github.com/tidwall/wal from 1.2.0 to 1.2.1
+- [#17581](https://github.com/influxdata/telegraf/pull/17581) `deps` Bump github.com/tinylib/msgp from 1.3.0 to 1.4.0
+- [#17591](https://github.com/influxdata/telegraf/pull/17591) `deps` Bump go.opentelemetry.io/collector/pdata from 1.39.0 to 1.41.0
+- [#17686](https://github.com/influxdata/telegraf/pull/17686) `deps` Bump go.opentelemetry.io/collector/pdata from 1.41.0 to 1.42.0
+- [#17602](https://github.com/influxdata/telegraf/pull/17602) `deps` Bump go.opentelemetry.io/proto/otlp from 1.7.0 to 1.8.0
+- [#17652](https://github.com/influxdata/telegraf/pull/17652) `deps` Bump golang.org/x/crypto from 0.41.0 to 0.42.0
+- [#17691](https://github.com/influxdata/telegraf/pull/17691) `deps` Bump golang.org/x/mod from 0.27.0 to 0.28.0
+- [#17655](https://github.com/influxdata/telegraf/pull/17655) `deps` Bump golang.org/x/oauth2 from 0.30.0 to 0.31.0
+- [#17589](https://github.com/influxdata/telegraf/pull/17589) `deps` Bump golang.org/x/sync from 0.16.0 to 0.17.0
+- [#17580](https://github.com/influxdata/telegraf/pull/17580) `deps` Bump golang.org/x/term from 0.34.0 to 0.35.0
+- [#17679](https://github.com/influxdata/telegraf/pull/17679) `deps` Bump google.golang.org/api from 0.248.0 to 0.249.0
+- [#17639](https://github.com/influxdata/telegraf/pull/17639) `deps` Bump google.golang.org/grpc from 1.75.0 to 1.75.1
+- [#17643](https://github.com/influxdata/telegraf/pull/17643) `deps` Bump google.golang.org/protobuf from 1.36.8 to 1.36.9
+- [#17598](https://github.com/influxdata/telegraf/pull/17598) `deps` Bump k8s.io/api from 0.33.4 to 0.34.0
+- [#17692](https://github.com/influxdata/telegraf/pull/17692) `deps` Bump k8s.io/client-go from 0.34.0 to 0.34.1
+- [#17657](https://github.com/influxdata/telegraf/pull/17657) `deps` Bump modernc.org/sqlite from 1.38.2 to 1.39.0
+- [#17648](https://github.com/influxdata/telegraf/pull/17648) `deps` Bump tj-actions/changed-files from 46.0.5 to 47.0.0
+- [#17707](https://github.com/influxdata/telegraf/pull/17707) `deps` Remove collectd replacement
+
+## v1.36.1 [2025-09-08]
+
+### Bugfixes
+
+- [#17605](https://github.com/influxdata/telegraf/pull/17605) `outputs.influxdb` Fix crash on init
+
+## v1.36.0 [2025-09-08]
+
+### Important Changes
+
+- PR [#17355](https://github.com/influxdata/telegraf/pull/17355) changes the `profiles` support
+ of `inputs.opentelemetry` from the `v1 experimental` to the `v1 development` as this experimental API
+ is updated upstream. This will change the metric by for example removing the no-longer reported
+ `frame_type`, `stack_trace_id`, `build_id`, and `build_id_type` fields. Also, the value format of other fields
+ or tags might have changed. Please refer to the
+ [OpenTelemetry documentation](https://opentelemetry.io/docs/) for more details.
+
+### New Plugins
+
+- [#17368](https://github.com/influxdata/telegraf/pull/17368) `inputs.turbostat` Add plugin
+- [#17078](https://github.com/influxdata/telegraf/pull/17078) `processors.round` Add plugin
+
+### Features
+
+- [#16705](https://github.com/influxdata/telegraf/pull/16705) `agent` Introduce labels and selectors to enable and disable plugins
+- [#17547](https://github.com/influxdata/telegraf/pull/17547) `inputs.influxdb_v2_listener` Add `/health` route
+- [#17312](https://github.com/influxdata/telegraf/pull/17312) `inputs.internal` Allow to collect statistics per plugin instance
+- [#17024](https://github.com/influxdata/telegraf/pull/17024) `inputs.lvm` Add sync_percent for lvm_logical_vol
+- [#17355](https://github.com/influxdata/telegraf/pull/17355) `inputs.opentelemetry` Upgrade otlp proto module
+- [#17156](https://github.com/influxdata/telegraf/pull/17156) `inputs.syslog` Add support for RFC3164 over TCP
+- [#17543](https://github.com/influxdata/telegraf/pull/17543) `inputs.syslog` Allow limiting message size in octet counting mode
+- [#17539](https://github.com/influxdata/telegraf/pull/17539) `inputs.x509_cert` Add support for Windows certificate stores
+- [#17244](https://github.com/influxdata/telegraf/pull/17244) `output.nats` Allow disabling stream creation for externally managed streams
+- [#17474](https://github.com/influxdata/telegraf/pull/17474) `outputs.elasticsearch` Support array headers and preserve commas in values
+- [#17548](https://github.com/influxdata/telegraf/pull/17548) `outputs.influxdb` Add internal statistics for written bytes
+- [#17213](https://github.com/influxdata/telegraf/pull/17213) `outputs.nats` Allow providing a subject layout
+- [#17346](https://github.com/influxdata/telegraf/pull/17346) `outputs.nats` Enable batch serialization with use_batch_format
+- [#17249](https://github.com/influxdata/telegraf/pull/17249) `outputs.sql` Allow sending batches of metrics in transactions
+- [#17510](https://github.com/influxdata/telegraf/pull/17510) `parsers.avro` Support record arrays at root level
+- [#17365](https://github.com/influxdata/telegraf/pull/17365) `plugins.snmp` Allow debug logging in gosnmp
+- [#17345](https://github.com/influxdata/telegraf/pull/17345) `selfstat` Implement collection of plugin-internal statistics
+
+### Bugfixes
+
+- [#17411](https://github.com/influxdata/telegraf/pull/17411) `inputs.diskio` Handle counter wrapping in io fields
+- [#17551](https://github.com/influxdata/telegraf/pull/17551) `inputs.s7comm` Use correct value for string length with 'extra' parameter
+- [#17579](https://github.com/influxdata/telegraf/pull/17579) `internal` Extract go version more robustly
+- [#17566](https://github.com/influxdata/telegraf/pull/17566) `outputs` Retrigger batch-available-events only if at least one metric was written successfully
+- [#17381](https://github.com/influxdata/telegraf/pull/17381) `packaging` Rename rpm from loong64 to loongarch64
+
+### Dependency Updates
+
+- [#17519](https://github.com/influxdata/telegraf/pull/17519) `deps` Bump cloud.google.com/go/storage from 1.56.0 to 1.56.1
+- [#17532](https://github.com/influxdata/telegraf/pull/17532) `deps` Bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.18.2 to 1.19.0
+- [#17494](https://github.com/influxdata/telegraf/pull/17494) `deps` Bump github.com/SAP/go-hdb from 1.13.12 to 1.14.0
+- [#17488](https://github.com/influxdata/telegraf/pull/17488) `deps` Bump github.com/antchfx/xpath from 1.3.4 to 1.3.5
+- [#17540](https://github.com/influxdata/telegraf/pull/17540) `deps` Bump github.com/aws/aws-sdk-go-v2/config from 1.31.0 to 1.31.2
+- [#17538](https://github.com/influxdata/telegraf/pull/17538) `deps` Bump github.com/aws/aws-sdk-go-v2/credentials from 1.18.4 to 1.18.6
+- [#17517](https://github.com/influxdata/telegraf/pull/17517) `deps` Bump github.com/aws/aws-sdk-go-v2/feature/ec2/imds from 1.18.3 to 1.18.4
+- [#17528](https://github.com/influxdata/telegraf/pull/17528) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatch from 1.48.0 to 1.48.2
+- [#17536](https://github.com/influxdata/telegraf/pull/17536) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.56.0 to 1.57.0
+- [#17524](https://github.com/influxdata/telegraf/pull/17524) `deps` Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.46.0 to 1.49.1
+- [#17493](https://github.com/influxdata/telegraf/pull/17493) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.242.0 to 1.244.0
+- [#17527](https://github.com/influxdata/telegraf/pull/17527) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.244.0 to 1.246.0
+- [#17530](https://github.com/influxdata/telegraf/pull/17530) `deps` Bump github.com/aws/aws-sdk-go-v2/service/kinesis from 1.38.0 to 1.39.1
+- [#17534](https://github.com/influxdata/telegraf/pull/17534) `deps` Bump github.com/aws/aws-sdk-go-v2/service/sts from 1.37.0 to 1.38.0
+- [#17513](https://github.com/influxdata/telegraf/pull/17513) `deps` Bump github.com/aws/aws-sdk-go-v2/service/timestreamwrite from 1.34.0 to 1.34.2
+- [#17514](https://github.com/influxdata/telegraf/pull/17514) `deps` Bump github.com/coreos/go-systemd/v22 from 22.5.0 to 22.6.0
+- [#17563](https://github.com/influxdata/telegraf/pull/17563) `deps` Bump github.com/facebook/time from 0.0.0-20240626113945-18207c5d8ddc to 0.0.0-20250903103710-a5911c32cdb9
+- [#17526](https://github.com/influxdata/telegraf/pull/17526) `deps` Bump github.com/gophercloud/gophercloud/v2 from 2.7.0 to 2.8.0
+- [#17537](https://github.com/influxdata/telegraf/pull/17537) `deps` Bump github.com/microsoft/go-mssqldb from 1.9.2 to 1.9.3
+- [#17490](https://github.com/influxdata/telegraf/pull/17490) `deps` Bump github.com/nats-io/nats-server/v2 from 2.11.7 to 2.11.8
+- [#17523](https://github.com/influxdata/telegraf/pull/17523) `deps` Bump github.com/nats-io/nats.go from 1.44.0 to 1.45.0
+- [#17492](https://github.com/influxdata/telegraf/pull/17492) `deps` Bump github.com/safchain/ethtool from 0.5.10 to 0.6.2
+- [#17486](https://github.com/influxdata/telegraf/pull/17486) `deps` Bump github.com/snowflakedb/gosnowflake from 1.15.0 to 1.16.0
+- [#17541](https://github.com/influxdata/telegraf/pull/17541) `deps` Bump github.com/tidwall/wal from 1.1.8 to 1.2.0
+- [#17529](https://github.com/influxdata/telegraf/pull/17529) `deps` Bump github.com/vmware/govmomi from 0.51.0 to 0.52.0
+- [#17496](https://github.com/influxdata/telegraf/pull/17496) `deps` Bump go.opentelemetry.io/collector/pdata from 1.36.1 to 1.38.0
+- [#17533](https://github.com/influxdata/telegraf/pull/17533) `deps` Bump go.opentelemetry.io/collector/pdata from 1.38.0 to 1.39.0
+- [#17516](https://github.com/influxdata/telegraf/pull/17516) `deps` Bump go.step.sm/crypto from 0.69.0 to 0.70.0
+- [#17499](https://github.com/influxdata/telegraf/pull/17499) `deps` Bump golang.org/x/mod from 0.26.0 to 0.27.0
+- [#17497](https://github.com/influxdata/telegraf/pull/17497) `deps` Bump golang.org/x/net from 0.42.0 to 0.43.0
+- [#17487](https://github.com/influxdata/telegraf/pull/17487) `deps` Bump google.golang.org/api from 0.246.0 to 0.247.0
+- [#17531](https://github.com/influxdata/telegraf/pull/17531) `deps` Bump google.golang.org/api from 0.247.0 to 0.248.0
+- [#17520](https://github.com/influxdata/telegraf/pull/17520) `deps` Bump google.golang.org/grpc from 1.74.2 to 1.75.0
+- [#17518](https://github.com/influxdata/telegraf/pull/17518) `deps` Bump google.golang.org/protobuf from 1.36.7 to 1.36.8
+- [#17498](https://github.com/influxdata/telegraf/pull/17498) `deps` Bump k8s.io/client-go from 0.33.3 to 0.33.4
+- [#17515](https://github.com/influxdata/telegraf/pull/17515) `deps` Bump super-linter/super-linter from 8.0.0 to 8.1.0
+
+## v1.35.4 [2025-08-18]
+
+### Bugfixes
+
+- [#17451](https://github.com/influxdata/telegraf/pull/17451) `agent` Update help message for CLI flag --test
+- [#17413](https://github.com/influxdata/telegraf/pull/17413) `inputs.gnmi` Handle empty updates in gnmi notification response
+- [#17445](https://github.com/influxdata/telegraf/pull/17445) `inputs.redfish` Log correct address on HTTP error
+
+### Dependency Updates
+
+- [#17454](https://github.com/influxdata/telegraf/pull/17454) `deps` Bump actions/checkout from 4 to 5
+- [#17404](https://github.com/influxdata/telegraf/pull/17404) `deps` Bump cloud.google.com/go/storage from 1.55.0 to 1.56.0
+- [#17428](https://github.com/influxdata/telegraf/pull/17428) `deps` Bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.18.1 to 1.18.2
+- [#17455](https://github.com/influxdata/telegraf/pull/17455) `deps` Bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.10.1 to 1.11.0
+- [#17383](https://github.com/influxdata/telegraf/pull/17383) `deps` Bump github.com/ClickHouse/clickhouse-go/v2 from 2.37.2 to 2.39.0
+- [#17435](https://github.com/influxdata/telegraf/pull/17435) `deps` Bump github.com/ClickHouse/clickhouse-go/v2 from 2.39.0 to 2.40.1
+- [#17393](https://github.com/influxdata/telegraf/pull/17393) `deps` Bump github.com/apache/arrow-go/v18 from 18.3.1 to 18.4.0
+- [#17439](https://github.com/influxdata/telegraf/pull/17439) `deps` Bump github.com/apache/inlong/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang from 1.0.3 to 1.0.5
+- [#17437](https://github.com/influxdata/telegraf/pull/17437) `deps` Bump github.com/aws/aws-sdk-go-v2 from 1.37.0 to 1.37.2
+- [#17402](https://github.com/influxdata/telegraf/pull/17402) `deps` Bump github.com/aws/aws-sdk-go-v2/config from 1.29.17 to 1.30.0
+- [#17458](https://github.com/influxdata/telegraf/pull/17458) `deps` Bump github.com/aws/aws-sdk-go-v2/config from 1.30.1 to 1.31.0
+- [#17391](https://github.com/influxdata/telegraf/pull/17391) `deps` Bump github.com/aws/aws-sdk-go-v2/credentials from 1.17.70 to 1.18.0
+- [#17436](https://github.com/influxdata/telegraf/pull/17436) `deps` Bump github.com/aws/aws-sdk-go-v2/credentials from 1.18.1 to 1.18.3
+- [#17434](https://github.com/influxdata/telegraf/pull/17434) `deps` Bump github.com/aws/aws-sdk-go-v2/feature/ec2/imds from 1.18.0 to 1.18.2
+- [#17461](https://github.com/influxdata/telegraf/pull/17461) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatch from 1.45.3 to 1.48.0
+- [#17392](https://github.com/influxdata/telegraf/pull/17392) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.51.0 to 1.54.0
+- [#17440](https://github.com/influxdata/telegraf/pull/17440) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.54.0 to 1.55.0
+- [#17473](https://github.com/influxdata/telegraf/pull/17473) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.55.0 to 1.56.0
+- [#17431](https://github.com/influxdata/telegraf/pull/17431) `deps` Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.44.0 to 1.46.0
+- [#17470](https://github.com/influxdata/telegraf/pull/17470) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.231.0 to 1.242.0
+- [#17397](https://github.com/influxdata/telegraf/pull/17397) `deps` Bump github.com/aws/aws-sdk-go-v2/service/kinesis from 1.35.3 to 1.36.0
+- [#17430](https://github.com/influxdata/telegraf/pull/17430) `deps` Bump github.com/aws/aws-sdk-go-v2/service/kinesis from 1.36.0 to 1.37.0
+- [#17469](https://github.com/influxdata/telegraf/pull/17469) `deps` Bump github.com/aws/aws-sdk-go-v2/service/kinesis from 1.37.0 to 1.38.0
+- [#17432](https://github.com/influxdata/telegraf/pull/17432) `deps` Bump github.com/aws/aws-sdk-go-v2/service/sts from 1.35.0 to 1.36.0
+- [#17401](https://github.com/influxdata/telegraf/pull/17401) `deps` Bump github.com/aws/aws-sdk-go-v2/service/timestreamwrite from 1.31.2 to 1.32.0
+- [#17421](https://github.com/influxdata/telegraf/pull/17421) `deps` Bump github.com/aws/aws-sdk-go-v2/service/timestreamwrite from 1.32.0 to 1.33.0
+- [#17464](https://github.com/influxdata/telegraf/pull/17464) `deps` Bump github.com/aws/aws-sdk-go-v2/service/timestreamwrite from 1.33.0 to 1.34.0
+- [#17457](https://github.com/influxdata/telegraf/pull/17457) `deps` Bump github.com/clarify/clarify-go from 0.4.0 to 0.4.1
+- [#17407](https://github.com/influxdata/telegraf/pull/17407) `deps` Bump github.com/docker/docker from 28.3.2+incompatible to 28.3.3+incompatible
+- [#17463](https://github.com/influxdata/telegraf/pull/17463) `deps` Bump github.com/docker/go-connections from 0.5.0 to 0.6.0
+- [#17394](https://github.com/influxdata/telegraf/pull/17394) `deps` Bump github.com/golang-jwt/jwt/v5 from 5.2.2 to 5.2.3
+- [#17423](https://github.com/influxdata/telegraf/pull/17423) `deps` Bump github.com/gopacket/gopacket from 1.3.1 to 1.4.0
+- [#17399](https://github.com/influxdata/telegraf/pull/17399) `deps` Bump github.com/jedib0t/go-pretty/v6 from 6.6.7 to 6.6.8
+- [#17422](https://github.com/influxdata/telegraf/pull/17422) `deps` Bump github.com/lxc/incus/v6 from 6.14.0 to 6.15.0
+- [#17429](https://github.com/influxdata/telegraf/pull/17429) `deps` Bump github.com/miekg/dns from 1.1.67 to 1.1.68
+- [#17433](https://github.com/influxdata/telegraf/pull/17433) `deps` Bump github.com/nats-io/nats-server/v2 from 2.11.6 to 2.11.7
+- [#17426](https://github.com/influxdata/telegraf/pull/17426) `deps` Bump github.com/nats-io/nats.go from 1.43.0 to 1.44.0
+- [#17456](https://github.com/influxdata/telegraf/pull/17456) `deps` Bump github.com/redis/go-redis/v9 from 9.11.0 to 9.12.1
+- [#17420](https://github.com/influxdata/telegraf/pull/17420) `deps` Bump github.com/shirou/gopsutil/v4 from 4.25.6 to 4.25.7
+- [#17388](https://github.com/influxdata/telegraf/pull/17388) `deps` Bump github.com/testcontainers/testcontainers-go/modules/azure from 0.37.0 to 0.38.0
+- [#17382](https://github.com/influxdata/telegraf/pull/17382) `deps` Bump github.com/testcontainers/testcontainers-go/modules/kafka from 0.37.0 to 0.38.0
+- [#17427](https://github.com/influxdata/telegraf/pull/17427) `deps` Bump github.com/yuin/goldmark from 1.7.12 to 1.7.13
+- [#17386](https://github.com/influxdata/telegraf/pull/17386) `deps` Bump go.opentelemetry.io/collector/pdata from 1.36.0 to 1.36.1
+- [#17425](https://github.com/influxdata/telegraf/pull/17425) `deps` Bump go.step.sm/crypto from 0.67.0 to 0.68.0
+- [#17462](https://github.com/influxdata/telegraf/pull/17462) `deps` Bump go.step.sm/crypto from 0.68.0 to 0.69.0
+- [#17460](https://github.com/influxdata/telegraf/pull/17460) `deps` Bump golang.org/x/crypto from 0.40.0 to 0.41.0
+- [#17424](https://github.com/influxdata/telegraf/pull/17424) `deps` Bump google.golang.org/api from 0.243.0 to 0.244.0
+- [#17459](https://github.com/influxdata/telegraf/pull/17459) `deps` Bump google.golang.org/api from 0.244.0 to 0.246.0
+- [#17465](https://github.com/influxdata/telegraf/pull/17465) `deps` Bump google.golang.org/protobuf from 1.36.6 to 1.36.7
+- [#17384](https://github.com/influxdata/telegraf/pull/17384) `deps` Bump k8s.io/apimachinery from 0.33.2 to 0.33.3
+- [#17389](https://github.com/influxdata/telegraf/pull/17389) `deps` Bump k8s.io/client-go from 0.33.2 to 0.33.3
+- [#17396](https://github.com/influxdata/telegraf/pull/17396) `deps` Bump modernc.org/sqlite from 1.38.0 to 1.38.1
+- [#17385](https://github.com/influxdata/telegraf/pull/17385) `deps` Bump software.sslmate.com/src/go-pkcs12 from 0.5.0 to 0.6.0
+- [#17390](https://github.com/influxdata/telegraf/pull/17390) `deps` Bump super-linter/super-linter from 7.4.0 to 8.0.0
+- [#17448](https://github.com/influxdata/telegraf/pull/17448) `deps` Fix collectd dependency not resolving
+- [#17410](https://github.com/influxdata/telegraf/pull/17410) `deps` Migrate from cloud.google.com/go/pubsub to v2
+
+## v1.35.3 [2025-07-28]
+
+### Bugfixes
+
+- [#17373](https://github.com/influxdata/telegraf/pull/17373) `agent` Handle nil timer on telegraf reload when no debounce is specified
+- [#17340](https://github.com/influxdata/telegraf/pull/17340) `agent` Make Windows service install more robust
+- [#17310](https://github.com/influxdata/telegraf/pull/17310) `outputs.sql` Add timestamp to derived datatypes
+- [#17349](https://github.com/influxdata/telegraf/pull/17349) `outputs` Retrigger batch-available-events only for non-failing writes
+- [#17293](https://github.com/influxdata/telegraf/pull/17293) `parsers.json_v2` Respect string type for objects and arrays
+- [#17367](https://github.com/influxdata/telegraf/pull/17367) `plugins.snmp` Update gosnmp to prevent panic in snmp agents
+- [#17292](https://github.com/influxdata/telegraf/pull/17292) `processors.snmp_lookup` Avoid re-enqueing updates after plugin stopped
+- [#17369](https://github.com/influxdata/telegraf/pull/17369) `processors.snmp_lookup` Prevent deadlock during plugin shutdown
+
+### Dependency Updates
+
+- [#17320](https://github.com/influxdata/telegraf/pull/17320) `deps` Bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.18.0 to 1.18.1
+- [#17328](https://github.com/influxdata/telegraf/pull/17328) `deps` Bump github.com/SAP/go-hdb from 1.13.11 to 1.13.12
+- [#17301](https://github.com/influxdata/telegraf/pull/17301) `deps` Bump github.com/SAP/go-hdb from 1.13.9 to 1.13.11
+- [#17326](https://github.com/influxdata/telegraf/pull/17326) `deps` Bump github.com/alitto/pond/v2 from 2.4.0 to 2.5.0
+- [#17295](https://github.com/influxdata/telegraf/pull/17295) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.227.0 to 1.230.0
+- [#17332](https://github.com/influxdata/telegraf/pull/17332) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.230.0 to 1.231.0
+- [#17300](https://github.com/influxdata/telegraf/pull/17300) `deps` Bump github.com/docker/docker from 28.3.0+incompatible to 28.3.1+incompatible
+- [#17334](https://github.com/influxdata/telegraf/pull/17334) `deps` Bump github.com/docker/docker from 28.3.1+incompatible to 28.3.2+incompatible
+- [#17327](https://github.com/influxdata/telegraf/pull/17327) `deps` Bump github.com/google/cel-go from 0.25.0 to 0.26.0
+- [#17331](https://github.com/influxdata/telegraf/pull/17331) `deps` Bump github.com/miekg/dns from 1.1.66 to 1.1.67
+- [#17297](https://github.com/influxdata/telegraf/pull/17297) `deps` Bump github.com/nats-io/nats-server/v2 from 2.11.5 to 2.11.6
+- [#17321](https://github.com/influxdata/telegraf/pull/17321) `deps` Bump github.com/openconfig/goyang from 1.6.2 to 1.6.3
+- [#17298](https://github.com/influxdata/telegraf/pull/17298) `deps` Bump github.com/prometheus/procfs from 0.16.1 to 0.17.0
+- [#17296](https://github.com/influxdata/telegraf/pull/17296) `deps` Bump github.com/shirou/gopsutil/v4 from 4.25.5 to 4.25.6
+- [#17299](https://github.com/influxdata/telegraf/pull/17299) `deps` Bump github.com/snowflakedb/gosnowflake from 1.14.1 to 1.15.0
+- [#17323](https://github.com/influxdata/telegraf/pull/17323) `deps` Bump go.opentelemetry.io/collector/pdata from 1.35.0 to 1.36.0
+- [#17091](https://github.com/influxdata/telegraf/pull/17091) `deps` Bump go.step.sm/crypto from 0.64.0 to 0.67.0
+- [#17330](https://github.com/influxdata/telegraf/pull/17330) `deps` Bump golang.org/x/crypto from 0.39.0 to 0.40.0
+- [#17322](https://github.com/influxdata/telegraf/pull/17322) `deps` Bump golang.org/x/mod from 0.25.0 to 0.26.0
+- [#17336](https://github.com/influxdata/telegraf/pull/17336) `deps` Bump golang.org/x/net from 0.41.0 to 0.42.0
+- [#17337](https://github.com/influxdata/telegraf/pull/17337) `deps` Bump golang.org/x/sys from 0.33.0 to 0.34.0
+- [#17335](https://github.com/influxdata/telegraf/pull/17335) `deps` Bump golang.org/x/term from 0.32.0 to 0.33.0
+- [#17294](https://github.com/influxdata/telegraf/pull/17294) `deps` Bump google.golang.org/api from 0.239.0 to 0.240.0
+- [#17325](https://github.com/influxdata/telegraf/pull/17325) `deps` Bump google.golang.org/api from 0.240.0 to 0.241.0
+- [#17138](https://github.com/influxdata/telegraf/pull/17138) `deps` Bump modernc.org/sqlite from 1.37.0 to 1.38.0
+
+## v1.35.2 [2025-07-07]
+
+### Bugfixes
+
+- [#17248](https://github.com/influxdata/telegraf/pull/17248) `agent` Add missing config flags for migrate command
+- [#17240](https://github.com/influxdata/telegraf/pull/17240) `disk-buffer` Correctly reset the mask after adding to an empty buffer
+- [#17284](https://github.com/influxdata/telegraf/pull/17284) `disk-buffer` Expire metric tracking information in the right place
+- [#17257](https://github.com/influxdata/telegraf/pull/17257) `disk-buffer` Mask old tracking metrics on restart
+- [#17247](https://github.com/influxdata/telegraf/pull/17247) `disk-buffer` Remove empty buffer on close
+- [#17285](https://github.com/influxdata/telegraf/pull/17285) `inputs.gnmi` Avoid interpreting path elements with multiple colons as namespace
+- [#17278](https://github.com/influxdata/telegraf/pull/17278) `inputs.gnmi` Handle base64 encoded IEEE-754 floats correctly
+- [#17258](https://github.com/influxdata/telegraf/pull/17258) `inputs.kibana` Support Kibana 8.x status API format change
+- [#17214](https://github.com/influxdata/telegraf/pull/17214) `inputs.ntpq` Fix ntpq field misalignment parsing errors
+- [#17234](https://github.com/influxdata/telegraf/pull/17234) `outputs.microsoft_fabric` Correct app name
+- [#17291](https://github.com/influxdata/telegraf/pull/17291) `outputs.nats` Avoid initializing Jetstream unconditionally
+- [#17246](https://github.com/influxdata/telegraf/pull/17246) `outputs` Retrigger batch-available-events correctly
+
+### Dependency Updates
+
+- [#17217](https://github.com/influxdata/telegraf/pull/17217) `deps` Bump github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs from 1.3.2 to 1.4.0
+- [#17226](https://github.com/influxdata/telegraf/pull/17226) `deps` Bump github.com/ClickHouse/clickhouse-go/v2 from 2.37.0 to 2.37.1
+- [#17265](https://github.com/influxdata/telegraf/pull/17265) `deps` Bump github.com/ClickHouse/clickhouse-go/v2 from 2.37.1 to 2.37.2
+- [#17268](https://github.com/influxdata/telegraf/pull/17268) `deps` Bump github.com/Masterminds/semver/v3 from 3.3.1 to 3.4.0
+- [#17271](https://github.com/influxdata/telegraf/pull/17271) `deps` Bump github.com/SAP/go-hdb from 1.13.7 to 1.13.9
+- [#17232](https://github.com/influxdata/telegraf/pull/17232) `deps` Bump github.com/alitto/pond/v2 from 2.3.4 to 2.4.0
+- [#17231](https://github.com/influxdata/telegraf/pull/17231) `deps` Bump github.com/apache/arrow-go/v18 from 18.3.0 to 18.3.1
+- [#17223](https://github.com/influxdata/telegraf/pull/17223) `deps` Bump github.com/aws/aws-sdk-go-v2/config from 1.29.15 to 1.29.17
+- [#17220](https://github.com/influxdata/telegraf/pull/17220) `deps` Bump github.com/aws/aws-sdk-go-v2/credentials from 1.17.69 to 1.17.70
+- [#17227](https://github.com/influxdata/telegraf/pull/17227) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.50.3 to 1.51.0
+- [#17262](https://github.com/influxdata/telegraf/pull/17262) `deps` Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.43.4 to 1.44.0
+- [#17224](https://github.com/influxdata/telegraf/pull/17224) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.225.1 to 1.225.2
+- [#17260](https://github.com/influxdata/telegraf/pull/17260) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.226.0 to 1.227.0
+- [#17264](https://github.com/influxdata/telegraf/pull/17264) `deps` Bump github.com/docker/docker from 28.2.2+incompatible to 28.3.0+incompatible
+- [#17256](https://github.com/influxdata/telegraf/pull/17256) `deps` Bump github.com/lxc/incus/v6 from 6.13.0 to 6.14.0
+- [#17272](https://github.com/influxdata/telegraf/pull/17272) `deps` Bump github.com/microsoft/go-mssqldb from 1.8.2 to 1.9.2
+- [#17261](https://github.com/influxdata/telegraf/pull/17261) `deps` Bump github.com/nats-io/nats-server/v2 from 2.11.4 to 2.11.5
+- [#17266](https://github.com/influxdata/telegraf/pull/17266) `deps` Bump github.com/peterbourgon/unixtransport from 0.0.5 to 0.0.6
+- [#17229](https://github.com/influxdata/telegraf/pull/17229) `deps` Bump github.com/prometheus/common from 0.64.0 to 0.65.0
+- [#17267](https://github.com/influxdata/telegraf/pull/17267) `deps` Bump github.com/redis/go-redis/v9 from 9.10.0 to 9.11.0
+- [#17273](https://github.com/influxdata/telegraf/pull/17273) `deps` Bump go.opentelemetry.io/collector/pdata from 1.34.0 to 1.35.0
+- [#17219](https://github.com/influxdata/telegraf/pull/17219) `deps` Bump google.golang.org/api from 0.237.0 to 0.238.0
+- [#17263](https://github.com/influxdata/telegraf/pull/17263) `deps` Bump google.golang.org/api from 0.238.0 to 0.239.0
+- [#17218](https://github.com/influxdata/telegraf/pull/17218) `deps` Bump k8s.io/api from 0.33.1 to 0.33.2
+- [#17228](https://github.com/influxdata/telegraf/pull/17228) `deps` Bump k8s.io/client-go from 0.33.1 to 0.33.2
+
+## v1.35.1 [2025-06-23]
+
+### Bugfixes
+
+- [#17178](https://github.com/influxdata/telegraf/pull/17178) `inputs.procstat` Fix user filter conditional logic
+- [#17210](https://github.com/influxdata/telegraf/pull/17210) `processors.strings` Add explicit TOML tags on struct fields
+
+### Dependency Updates
+
+- [#17194](https://github.com/influxdata/telegraf/pull/17194) `deps` Bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.10.0 to 1.10.1
+- [#17189](https://github.com/influxdata/telegraf/pull/17189) `deps` Bump github.com/ClickHouse/clickhouse-go/v2 from 2.36.0 to 2.37.0
+- [#17186](https://github.com/influxdata/telegraf/pull/17186) `deps` Bump github.com/SAP/go-hdb from 1.13.6 to 1.13.7
+- [#17188](https://github.com/influxdata/telegraf/pull/17188) `deps` Bump github.com/alitto/pond/v2 from 2.3.2 to 2.3.4
+- [#17180](https://github.com/influxdata/telegraf/pull/17180) `deps` Bump github.com/aws/aws-sdk-go-v2/credentials from 1.17.68 to 1.17.69
+- [#17185](https://github.com/influxdata/telegraf/pull/17185) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatch from 1.45.1 to 1.45.2
+- [#17187](https://github.com/influxdata/telegraf/pull/17187) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.50.1 to 1.50.2
+- [#17183](https://github.com/influxdata/telegraf/pull/17183) `deps` Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.43.2 to 1.43.3
+- [#17182](https://github.com/influxdata/telegraf/pull/17182) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.225.0 to 1.225.1
+- [#17190](https://github.com/influxdata/telegraf/pull/17190) `deps` Bump github.com/aws/aws-sdk-go-v2/service/kinesis from 1.35.1 to 1.35.2
+- [#17193](https://github.com/influxdata/telegraf/pull/17193) `deps` Bump github.com/aws/aws-sdk-go-v2/service/timestreamwrite from 1.31.0 to 1.31.1
+- [#17195](https://github.com/influxdata/telegraf/pull/17195) `deps` Bump github.com/aws/smithy-go from 1.22.3 to 1.22.4
+- [#17196](https://github.com/influxdata/telegraf/pull/17196) `deps` Bump github.com/cloudevents/sdk-go/v2 from 2.16.0 to 2.16.1
+- [#17212](https://github.com/influxdata/telegraf/pull/17212) `deps` Bump github.com/go-chi/chi/v5 from 5.2.1 to 5.2.2
+- [#17191](https://github.com/influxdata/telegraf/pull/17191) `deps` Bump github.com/go-sql-driver/mysql from 1.9.2 to 1.9.3
+- [#17192](https://github.com/influxdata/telegraf/pull/17192) `deps` Bump github.com/peterbourgon/unixtransport from 0.0.4 to 0.0.5
+- [#17181](https://github.com/influxdata/telegraf/pull/17181) `deps` Bump github.com/redis/go-redis/v9 from 9.9.0 to 9.10.0
+- [#17197](https://github.com/influxdata/telegraf/pull/17197) `deps` Bump github.com/urfave/cli/v2 from 2.27.6 to 2.27.7
+- [#17198](https://github.com/influxdata/telegraf/pull/17198) `deps` Bump go.opentelemetry.io/collector/pdata from 1.33.0 to 1.34.0
+- [#17184](https://github.com/influxdata/telegraf/pull/17184) `deps` Bump google.golang.org/api from 0.236.0 to 0.237.0
+
+## v1.35.0 [2025-06-16]
+
+### Deprecation Removals
+
+This release removes the following deprecated plugin aliases:
+
+- `inputs.cisco_telemetry_gnmi` in [#17101](https://github.com/influxdata/telegraf/pull/17101)
+- `inputs.http_listener` in [#17102](https://github.com/influxdata/telegraf/pull/17102)
+- `inputs.KNXListener` in [#17168](https://github.com/influxdata/telegraf/pull/17168)
+- `inputs.logparser` in [#17170](https://github.com/influxdata/telegraf/pull/17170)
+
+Furthermore, the following deprecated plugin options are removed:
+
+- `ssl_ca`, `ssl_cert` and `ssl_key` of common TLS settings in [#17119](https://github.com/influxdata/telegraf/pull/17119)
+- `url` of `inputs.amqp_consumer` in [#17149](https://github.com/influxdata/telegraf/pull/17149)
+- `namespace` of `inputs.cloudwatch` in [#17123](https://github.com/influxdata/telegraf/pull/17123)
+- `datacentre` of `inputs.consul` in [#17150](https://github.com/influxdata/telegraf/pull/17150)
+- `container_names`, `perdevice` and `total` of `inputs.docker` in [#17148](https://github.com/influxdata/telegraf/pull/17148)
+- `http_timeout` of `inputs.elasticsearch` in [#17124](https://github.com/influxdata/telegraf/pull/17124)
+- `directory` of `inputs.filecount` in [#17152](https://github.com/influxdata/telegraf/pull/17152)
+- `guess_path_tag` and `enable_tls` of `inputs.gnmi` in [#17151](https://github.com/influxdata/telegraf/pull/17151)
+- `bearer_token` of `inputs.http` in [#17153](https://github.com/influxdata/telegraf/pull/17153)
+- `path` and `port` of `inputs.http_listener_v2` in [#17158](https://github.com/influxdata/telegraf/pull/17158)
+- `address` of `inputs.http_response` in [#17157](https://github.com/influxdata/telegraf/pull/17157)
+- `object_type` of `inputs.icinga2` in [#17163](https://github.com/influxdata/telegraf/pull/17163)
+- `max_line_size` of `inputs.influxdb_listener` in [#17162](https://github.com/influxdata/telegraf/pull/17162)
+- `enable_file_download` of `inputs.internet_speed` in [#17165](https://github.com/influxdata/telegraf/pull/17165)
+- `bearer_token_string` of `inputs.kube_inventory` in [#17110](https://github.com/influxdata/telegraf/pull/17110)
+- `bearer_token_string` of `inputs.kubernetes` in [#17109](https://github.com/influxdata/telegraf/pull/17109)
+- `server` of `inputs.nsq_consumer` in [#17166](https://github.com/influxdata/telegraf/pull/17166)
+- `dns_lookup` of `inputs.ntpq` in [#17159](https://github.com/influxdata/telegraf/pull/17159)
+- `ssl` of `inputs.openldap` in [#17103](https://github.com/influxdata/telegraf/pull/17103)
+- `name` and `queues` of `inputs.rabbitmq` in [#17105](https://github.com/influxdata/telegraf/pull/17105)
+- `path` of `inputs.smart` in [#17113](https://github.com/influxdata/telegraf/pull/17113)
+- `azuredb` and `query_version` of `inputs.sqlserver` in [#17112](https://github.com/influxdata/telegraf/pull/17112)
+- `parse_data_dog_tags` and `udp_packet_size` of `inputs.statsd` in [#17171](https://github.com/influxdata/telegraf/pull/17171)
+- `force_discover_on_init` of `inputs.vsphere` in [#17169](https://github.com/influxdata/telegraf/pull/17169)
+- `database`, `precision`, `retention_policy` and `url` of `outputs.amqp` in [#16950](https://github.com/influxdata/telegraf/pull/16950)
+- `precision` of `outputs.influxdb` in [#17160](https://github.com/influxdata/telegraf/pull/17160)
+- `partitionkey` and `use_random_partitionkey` of `outputs.kinesis` in [#17167](https://github.com/influxdata/telegraf/pull/17167)
+- `source_tag` of `outputs.librato` in [#17174](https://github.com/influxdata/telegraf/pull/17174)
+- `batch` and `topic_prefix` of `outputs.mqtt` in [#17176](https://github.com/influxdata/telegraf/pull/17176)
+- `trace` of `outputs.remotefile` in [#17173](https://github.com/influxdata/telegraf/pull/17173)
+- `host`, `port` and `string_to_number` of `outputs.wavefront` in [#17172](https://github.com/influxdata/telegraf/pull/17172)
+
+Replacements do exist, so please migrate your configuration in case you are
+still using one of those plugins or options. The `telegraf config migrate`
+command might be able to assist with the procedure.
+
+### New Plugins
+
+- [#16390](https://github.com/influxdata/telegraf/pull/16390) `inputs.fritzbox` Add plugin
+- [#16780](https://github.com/influxdata/telegraf/pull/16780) `inputs.mavlink` Add plugin
+- [#16509](https://github.com/influxdata/telegraf/pull/16509) `inputs.whois` Add plugin
+- [#16211](https://github.com/influxdata/telegraf/pull/16211) `outputs.inlong` Add plugin
+- [#16827](https://github.com/influxdata/telegraf/pull/16827) `outputs.microsoft_fabric` Add plugin
+- [#16629](https://github.com/influxdata/telegraf/pull/16629) `processors.cumulative_sum` Add plugin
+
+### Features
+
+- [#17048](https://github.com/influxdata/telegraf/pull/17048) `agent` Add debounce for watch events
+- [#16524](https://github.com/influxdata/telegraf/pull/16524) `common.kafka` Add AWS-MSK-IAM SASL authentication
+- [#16867](https://github.com/influxdata/telegraf/pull/16867) `common.ratelimiter` Implement means to reserve memory for concurrent use
+- [#16148](https://github.com/influxdata/telegraf/pull/16148) `common.shim` Add batch to shim
+- [#17121](https://github.com/influxdata/telegraf/pull/17121) `inputs.amqp_consumer` Allow string values in queue arguments
+- [#17051](https://github.com/influxdata/telegraf/pull/17051) `inputs.opcua` Allow forcing reconnection on every gather cycle
+- [#16532](https://github.com/influxdata/telegraf/pull/16532) `inputs.opcua_listener` Allow to subscribe to OPCUA events
+- [#16882](https://github.com/influxdata/telegraf/pull/16882) `inputs.prometheus` Add HTTP service discovery support
+- [#16999](https://github.com/influxdata/telegraf/pull/16999) `inputs.s7comm` Add support for LREAL and LINT data types
+- [#16452](https://github.com/influxdata/telegraf/pull/16452) `inputs.unbound` Collect histogram statistics
+- [#16700](https://github.com/influxdata/telegraf/pull/16700) `inputs.whois` Support IDN domains
+- [#17119](https://github.com/influxdata/telegraf/pull/17119) `migrations` Add migration for common.tls ssl options
+- [#17101](https://github.com/influxdata/telegraf/pull/17101) `migrations` Add migration for inputs.cisco_telemetry_gnmi
+- [#17123](https://github.com/influxdata/telegraf/pull/17123) `migrations` Add migration for inputs.cloudwatch
+- [#17148](https://github.com/influxdata/telegraf/pull/17148) `migrations` Add migration for inputs.docker
+- [#17124](https://github.com/influxdata/telegraf/pull/17124) `migrations` Add migration for inputs.elasticsearch
+- [#17102](https://github.com/influxdata/telegraf/pull/17102) `migrations` Add migration for inputs.http_listener
+- [#17162](https://github.com/influxdata/telegraf/pull/17162) `migrations` Add migration for inputs.influxdb_listener
+- [#17110](https://github.com/influxdata/telegraf/pull/17110) `migrations` Add migration for inputs.kube_inventory
+- [#17109](https://github.com/influxdata/telegraf/pull/17109) `migrations` Add migration for inputs.kubernetes
+- [#17103](https://github.com/influxdata/telegraf/pull/17103) `migrations` Add migration for inputs.openldap
+- [#17105](https://github.com/influxdata/telegraf/pull/17105) `migrations` Add migration for inputs.rabbitmq
+- [#17113](https://github.com/influxdata/telegraf/pull/17113) `migrations` Add migration for inputs.smart
+- [#17112](https://github.com/influxdata/telegraf/pull/17112) `migrations` Add migration for inputs.sqlserver
+- [#16950](https://github.com/influxdata/telegraf/pull/16950) `migrations` Add migration for outputs.amqp
+- [#17160](https://github.com/influxdata/telegraf/pull/17160) `migrations` Add migration for outputs.influxdb
+- [#17149](https://github.com/influxdata/telegraf/pull/17149) `migrations` Add migration for inputs.amqp_consumer
+- [#17150](https://github.com/influxdata/telegraf/pull/17150) `migrations` Add migration for inputs.consul
+- [#17152](https://github.com/influxdata/telegraf/pull/17152) `migrations` Add migration for inputs.filecount
+- [#17151](https://github.com/influxdata/telegraf/pull/17151) `migrations` Add migration for inputs.gnmi
+- [#17153](https://github.com/influxdata/telegraf/pull/17153) `migrations` Add migration for inputs.http
+- [#17158](https://github.com/influxdata/telegraf/pull/17158) `migrations` Add migration for inputs.http_listener_v2
+- [#17157](https://github.com/influxdata/telegraf/pull/17157) `migrations` Add migration for inputs.http_response
+- [#17163](https://github.com/influxdata/telegraf/pull/17163) `migrations` Add migration for inputs.icinga2
+- [#17165](https://github.com/influxdata/telegraf/pull/17165) `migrations` Add migration for inputs.internet_speed
+- [#17166](https://github.com/influxdata/telegraf/pull/17166) `migrations` Add migration for inputs.nsq_consumer
+- [#17159](https://github.com/influxdata/telegraf/pull/17159) `migrations` Add migration for inputs.ntpq
+- [#17171](https://github.com/influxdata/telegraf/pull/17171) `migrations` Add migration for inputs.statsd
+- [#17169](https://github.com/influxdata/telegraf/pull/17169) `migrations` Add migration for inputs.vsphere
+- [#17167](https://github.com/influxdata/telegraf/pull/17167) `migrations` Add migration for outputs.kinesis
+- [#17174](https://github.com/influxdata/telegraf/pull/17174) `migrations` Add migration for outputs.librato
+- [#17176](https://github.com/influxdata/telegraf/pull/17176) `migrations` Add migration for outputs.mqtt
+- [#17173](https://github.com/influxdata/telegraf/pull/17173) `migrations` Add migration for outputs.remotefile
+- [#17172](https://github.com/influxdata/telegraf/pull/17172) `migrations` Add migration for outputs.wavefront
+- [#17168](https://github.com/influxdata/telegraf/pull/17168) `migrations` Add migration for inputs.KNXListener
+- [#17170](https://github.com/influxdata/telegraf/pull/17170) `migrations` Add migration for inputs.logparser
+- [#16646](https://github.com/influxdata/telegraf/pull/16646) `outputs.health` Add max time between metrics check
+- [#16597](https://github.com/influxdata/telegraf/pull/16597) `outputs.http` Include body sample in non-retryable error logs
+- [#16741](https://github.com/influxdata/telegraf/pull/16741) `outputs.influxdb_v2` Implement concurrent writes
+- [#16746](https://github.com/influxdata/telegraf/pull/16746) `outputs.influxdb_v2` Support secrets in http_headers values
+- [#16582](https://github.com/influxdata/telegraf/pull/16582) `outputs.nats` Allow asynchronous publishing for Jetstream
+- [#16544](https://github.com/influxdata/telegraf/pull/16544) `outputs.sql` Add option to automate table schema updates
+- [#16678](https://github.com/influxdata/telegraf/pull/16678) `outputs.sql` Support secret for dsn
+- [#16583](https://github.com/influxdata/telegraf/pull/16583) `outputs.stackdriver` Ensure quota is charged to configured project
+- [#16717](https://github.com/influxdata/telegraf/pull/16717) `processors.defaults` Add support for specifying default tags
+- [#16701](https://github.com/influxdata/telegraf/pull/16701) `processors.enum` Add multiple tag mapping
+- [#16030](https://github.com/influxdata/telegraf/pull/16030) `processors.enum` Allow mapping to be applied to multiple fields
+- [#16494](https://github.com/influxdata/telegraf/pull/16494) `serializer.prometheusremotewrite` Allow sending native histograms
+
+### Bugfixes
+
+- [#17044](https://github.com/influxdata/telegraf/pull/17044) `inputs.opcua` Fix integration test
+- [#16986](https://github.com/influxdata/telegraf/pull/16986) `inputs.procstat` Resolve remote usernames on Posix systems
+- [#16699](https://github.com/influxdata/telegraf/pull/16699) `inputs.win_wmi` Free resources to avoid leaks
+- [#17118](https://github.com/influxdata/telegraf/pull/17118) `migrations` Update table content for general plugin migrations
+
+### Dependency Updates
+
+- [#17089](https://github.com/influxdata/telegraf/pull/17089) `deps` Bump cloud.google.com/go/bigquery from 1.68.0 to 1.69.0
+- [#17026](https://github.com/influxdata/telegraf/pull/17026) `deps` Bump cloud.google.com/go/storage from 1.53.0 to 1.54.0
+- [#17095](https://github.com/influxdata/telegraf/pull/17095) `deps` Bump cloud.google.com/go/storage from 1.54.0 to 1.55.0
+- [#17034](https://github.com/influxdata/telegraf/pull/17034) `deps` Bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.9.0 to 1.10.0
+- [#17065](https://github.com/influxdata/telegraf/pull/17065) `deps` Bump github.com/ClickHouse/clickhouse-go/v2 from 2.34.0 to 2.35.0
+- [#17145](https://github.com/influxdata/telegraf/pull/17145) `deps` Bump github.com/ClickHouse/clickhouse-go/v2 from 2.35.0 to 2.36.0
+- [#17062](https://github.com/influxdata/telegraf/pull/17062) `deps` Bump github.com/IBM/nzgo/v12 from 12.0.9 to 12.0.10
+- [#17083](https://github.com/influxdata/telegraf/pull/17083) `deps` Bump github.com/IBM/sarama from 1.45.1 to 1.45.2
+- [#17040](https://github.com/influxdata/telegraf/pull/17040) `deps` Bump github.com/apache/inlong/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang from 1.0.0 to 1.0.1
+- [#17060](https://github.com/influxdata/telegraf/pull/17060) `deps` Bump github.com/apache/inlong/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang from 1.0.1 to 1.0.2
+- [#17127](https://github.com/influxdata/telegraf/pull/17127) `deps` Bump github.com/apache/inlong/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang from 1.0.2 to 1.0.3
+- [#17061](https://github.com/influxdata/telegraf/pull/17061) `deps` Bump github.com/apache/thrift from 0.21.0 to 0.22.0
+- [#16954](https://github.com/influxdata/telegraf/pull/16954) `deps` Bump github.com/aws/aws-msk-iam-sasl-signer-go from 1.0.1 to 1.0.3
+- [#17041](https://github.com/influxdata/telegraf/pull/17041) `deps` Bump github.com/aws/aws-msk-iam-sasl-signer-go from 1.0.3 to 1.0.4
+- [#17128](https://github.com/influxdata/telegraf/pull/17128) `deps` Bump github.com/aws/aws-sdk-go-v2/config from 1.29.14 to 1.29.15
+- [#17129](https://github.com/influxdata/telegraf/pull/17129) `deps` Bump github.com/aws/aws-sdk-go-v2/credentials from 1.17.67 to 1.17.68
+- [#17057](https://github.com/influxdata/telegraf/pull/17057) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatch from 1.44.3 to 1.45.0
+- [#17132](https://github.com/influxdata/telegraf/pull/17132) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatch from 1.45.0 to 1.45.1
+- [#17029](https://github.com/influxdata/telegraf/pull/17029) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.49.0 to 1.50.0
+- [#17131](https://github.com/influxdata/telegraf/pull/17131) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.50.0 to 1.50.1
+- [#17143](https://github.com/influxdata/telegraf/pull/17143) `deps` Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.43.1 to 1.43.2
+- [#17037](https://github.com/influxdata/telegraf/pull/17037) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.218.0 to 1.219.0
+- [#17067](https://github.com/influxdata/telegraf/pull/17067) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.220.0 to 1.222.0
+- [#17093](https://github.com/influxdata/telegraf/pull/17093) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.222.0 to 1.224.0
+- [#17136](https://github.com/influxdata/telegraf/pull/17136) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.224.0 to 1.225.0
+- [#17139](https://github.com/influxdata/telegraf/pull/17139) `deps` Bump github.com/aws/aws-sdk-go-v2/service/kinesis from 1.35.0 to 1.35.1
+- [#16996](https://github.com/influxdata/telegraf/pull/16996) `deps` Bump github.com/bluenviron/gomavlib/v3 from 3.1.0 to 3.2.1
+- [#16987](https://github.com/influxdata/telegraf/pull/16987) `deps` Bump github.com/creack/goselect from 0.1.2 to 0.1.3
+- [#17097](https://github.com/influxdata/telegraf/pull/17097) `deps` Bump github.com/docker/docker from 28.1.1+incompatible to 28.2.2+incompatible
+- [#17133](https://github.com/influxdata/telegraf/pull/17133) `deps` Bump github.com/gosnmp/gosnmp from 1.40.0 to 1.41.0
+- [#17126](https://github.com/influxdata/telegraf/pull/17126) `deps` Bump github.com/linkedin/goavro/v2 from 2.13.1 to 2.14.0
+- [#17087](https://github.com/influxdata/telegraf/pull/17087) `deps` Bump github.com/lxc/incus/v6 from 6.12.0 to 6.13.0
+- [#17085](https://github.com/influxdata/telegraf/pull/17085) `deps` Bump github.com/microsoft/go-mssqldb from 1.8.1 to 1.8.2
+- [#17064](https://github.com/influxdata/telegraf/pull/17064) `deps` Bump github.com/nats-io/nats-server/v2 from 2.11.3 to 2.11.4
+- [#17140](https://github.com/influxdata/telegraf/pull/17140) `deps` Bump github.com/nats-io/nats.go from 1.42.0 to 1.43.0
+- [#17134](https://github.com/influxdata/telegraf/pull/17134) `deps` Bump github.com/netsampler/goflow2/v2 from 2.2.2 to 2.2.3
+- [#17028](https://github.com/influxdata/telegraf/pull/17028) `deps` Bump github.com/prometheus/common from 0.63.0 to 0.64.0
+- [#17066](https://github.com/influxdata/telegraf/pull/17066) `deps` Bump github.com/rclone/rclone from 1.69.2 to 1.69.3
+- [#17096](https://github.com/influxdata/telegraf/pull/17096) `deps` Bump github.com/redis/go-redis/v9 from 9.8.0 to 9.9.0
+- [#17088](https://github.com/influxdata/telegraf/pull/17088) `deps` Bump github.com/shirou/gopsutil/v4 from 4.25.4 to 4.25.5
+- [#17135](https://github.com/influxdata/telegraf/pull/17135) `deps` Bump github.com/sijms/go-ora/v2 from 2.8.24 to 2.9.0
+- [#17094](https://github.com/influxdata/telegraf/pull/17094) `deps` Bump github.com/snowflakedb/gosnowflake from 1.14.0 to 1.14.1
+- [#17035](https://github.com/influxdata/telegraf/pull/17035) `deps` Bump github.com/tinylib/msgp from 1.2.5 to 1.3.0
+- [#17054](https://github.com/influxdata/telegraf/pull/17054) `deps` Bump github.com/vmware/govmomi from 0.50.0 to 0.51.0
+- [#17039](https://github.com/influxdata/telegraf/pull/17039) `deps` Bump github.com/yuin/goldmark from 1.7.11 to 1.7.12
+- [#17130](https://github.com/influxdata/telegraf/pull/17130) `deps` Bump go.mongodb.org/mongo-driver from 1.17.3 to 1.17.4
+- [#17056](https://github.com/influxdata/telegraf/pull/17056) `deps` Bump go.opentelemetry.io/collector/pdata from 1.31.0 to 1.33.0
+- [#17058](https://github.com/influxdata/telegraf/pull/17058) `deps` Bump go.step.sm/crypto from 0.63.0 to 0.64.0
+- [#17141](https://github.com/influxdata/telegraf/pull/17141) `deps` Bump golang.org/x/crypto from 0.38.0 to 0.39.0
+- [#17144](https://github.com/influxdata/telegraf/pull/17144) `deps` Bump golang.org/x/mod from 0.24.0 to 0.25.0
+- [#17033](https://github.com/influxdata/telegraf/pull/17033) `deps` Bump google.golang.org/api from 0.232.0 to 0.233.0
+- [#17055](https://github.com/influxdata/telegraf/pull/17055) `deps` Bump google.golang.org/api from 0.233.0 to 0.234.0
+- [#17086](https://github.com/influxdata/telegraf/pull/17086) `deps` Bump google.golang.org/api from 0.234.0 to 0.235.0
+- [#17036](https://github.com/influxdata/telegraf/pull/17036) `deps` Bump google.golang.org/grpc from 1.72.0 to 1.72.1
+- [#17059](https://github.com/influxdata/telegraf/pull/17059) `deps` Bump google.golang.org/grpc from 1.72.1 to 1.72.2
+- [#17137](https://github.com/influxdata/telegraf/pull/17137) `deps` Bump google.golang.org/grpc from 1.72.2 to 1.73.0
+- [#17031](https://github.com/influxdata/telegraf/pull/17031) `deps` Bump k8s.io/api from 0.33.0 to 0.33.1
+- [#17038](https://github.com/influxdata/telegraf/pull/17038) `deps` Bump k8s.io/apimachinery from 0.33.0 to 0.33.1
+- [#17030](https://github.com/influxdata/telegraf/pull/17030) `deps` Bump k8s.io/client-go from 0.33.0 to 0.33.1
+- [#17025](https://github.com/influxdata/telegraf/pull/17025) `deps` Bump super-linter/super-linter from 7.3.0 to 7.4.0
+
+## v1.34.4 [2025-05-19]
+
+### Bugfixes
+
+- [#17009](https://github.com/influxdata/telegraf/pull/17009) `inputs.cloudwatch` Restore filtering to match all dimensions
+- [#16978](https://github.com/influxdata/telegraf/pull/16978) `inputs.nfsclient` Handle errors during mountpoint filtering
+- [#17021](https://github.com/influxdata/telegraf/pull/17021) `inputs.opcua` Fix type mismatch in unit test
+- [#16854](https://github.com/influxdata/telegraf/pull/16854) `inputs.opcua` Handle session invalidation between gather cycles
+- [#16879](https://github.com/influxdata/telegraf/pull/16879) `inputs.tail` Prevent leaking file descriptors
+- [#16815](https://github.com/influxdata/telegraf/pull/16815) `inputs.win_eventlog` Handle large events to avoid they get dropped silently
+- [#16878](https://github.com/influxdata/telegraf/pull/16878) `parsers.json_v2` Handle measurements with multiple objects correctly
+
+### Dependency Updates
+
+- [#16991](https://github.com/influxdata/telegraf/pull/16991) `deps` Bump cloud.google.com/go/bigquery from 1.67.0 to 1.68.0
+- [#16963](https://github.com/influxdata/telegraf/pull/16963) `deps` Bump cloud.google.com/go/storage from 1.52.0 to 1.53.0
+- [#16955](https://github.com/influxdata/telegraf/pull/16955) `deps` Bump github.com/Azure/azure-sdk-for-go/sdk/storage/azqueue from 1.0.0 to 1.0.1
+- [#16989](https://github.com/influxdata/telegraf/pull/16989) `deps` Bump github.com/SAP/go-hdb from 1.13.5 to 1.13.6
+- [#16998](https://github.com/influxdata/telegraf/pull/16998) `deps` Bump github.com/apache/arrow-go/v18 from 18.2.0 to 18.3.0
+- [#16952](https://github.com/influxdata/telegraf/pull/16952) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.47.3 to 1.48.0
+- [#16995](https://github.com/influxdata/telegraf/pull/16995) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.48.0 to 1.49.0
+- [#16974](https://github.com/influxdata/telegraf/pull/16974) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.212.0 to 1.214.0
+- [#16993](https://github.com/influxdata/telegraf/pull/16993) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.215.0 to 1.218.0
+- [#16968](https://github.com/influxdata/telegraf/pull/16968) `deps` Bump github.com/aws/aws-sdk-go-v2/service/kinesis from 1.33.3 to 1.35.0
+- [#16988](https://github.com/influxdata/telegraf/pull/16988) `deps` Bump github.com/aws/aws-sdk-go-v2/service/timestreamwrite from 1.30.2 to 1.31.0
+- [#17013](https://github.com/influxdata/telegraf/pull/17013) `deps` Bump github.com/ebitengine/purego from 0.8.2 to 0.8.3
+- [#16972](https://github.com/influxdata/telegraf/pull/16972) `deps` Bump github.com/hashicorp/consul/api from 1.32.0 to 1.32.1
+- [#16992](https://github.com/influxdata/telegraf/pull/16992) `deps` Bump github.com/microsoft/go-mssqldb from 1.8.0 to 1.8.1
+- [#16990](https://github.com/influxdata/telegraf/pull/16990) `deps` Bump github.com/miekg/dns from 1.1.65 to 1.1.66
+- [#16975](https://github.com/influxdata/telegraf/pull/16975) `deps` Bump github.com/nats-io/nats-server/v2 from 2.11.2 to 2.11.3
+- [#16967](https://github.com/influxdata/telegraf/pull/16967) `deps` Bump github.com/nats-io/nats.go from 1.41.2 to 1.42.0
+- [#16964](https://github.com/influxdata/telegraf/pull/16964) `deps` Bump github.com/rclone/rclone from 1.69.1 to 1.69.2
+- [#16973](https://github.com/influxdata/telegraf/pull/16973) `deps` Bump github.com/redis/go-redis/v9 from 9.7.3 to 9.8.0
+- [#16962](https://github.com/influxdata/telegraf/pull/16962) `deps` Bump github.com/shirou/gopsutil/v4 from 4.25.3 to 4.25.4
+- [#16969](https://github.com/influxdata/telegraf/pull/16969) `deps` Bump github.com/snowflakedb/gosnowflake from 1.13.3 to 1.14.0
+- [#16994](https://github.com/influxdata/telegraf/pull/16994) `deps` Bump github.com/vishvananda/netlink from 1.3.1-0.20250221194427-0af32151e72b to 1.3.1
+- [#16958](https://github.com/influxdata/telegraf/pull/16958) `deps` Bump go.step.sm/crypto from 0.62.0 to 0.63.0
+- [#16960](https://github.com/influxdata/telegraf/pull/16960) `deps` Bump golang.org/x/crypto from 0.37.0 to 0.38.0
+- [#16966](https://github.com/influxdata/telegraf/pull/16966) `deps` Bump golang.org/x/net from 0.39.0 to 0.40.0
+- [#16957](https://github.com/influxdata/telegraf/pull/16957) `deps` Bump google.golang.org/api from 0.230.0 to 0.231.0
+- [#16853](https://github.com/influxdata/telegraf/pull/16853) `deps` Switch to maintained azure testcontainer module
+
+## v1.34.3 [2025-05-05]
+
+### Bugfixes
+
+- [#16697](https://github.com/influxdata/telegraf/pull/16697) `agent` Correctly truncate the disk buffer
+- [#16868](https://github.com/influxdata/telegraf/pull/16868) `common.ratelimiter` Only grow the buffer but never shrink
+- [#16812](https://github.com/influxdata/telegraf/pull/16812) `inputs.cloudwatch` Handle metric includes/excludes correctly to prevent panic
+- [#16911](https://github.com/influxdata/telegraf/pull/16911) `inputs.lustre2` Skip empty files
+- [#16594](https://github.com/influxdata/telegraf/pull/16594) `inputs.opcua` Handle node array values
+- [#16782](https://github.com/influxdata/telegraf/pull/16782) `inputs.win_wmi` Replace hard-coded class-name with correct config setting
+- [#16781](https://github.com/influxdata/telegraf/pull/16781) `inputs.win_wmi` Restrict threading model to APARTMENTTHREADED
+- [#16857](https://github.com/influxdata/telegraf/pull/16857) `outputs.quix` Allow empty certificate for new cloud managed instances
+
+### Dependency Updates
+
+- [#16804](https://github.com/influxdata/telegraf/pull/16804) `deps` Bump cloud.google.com/go/bigquery from 1.66.2 to 1.67.0
+- [#16835](https://github.com/influxdata/telegraf/pull/16835) `deps` Bump cloud.google.com/go/monitoring from 1.24.0 to 1.24.2
+- [#16785](https://github.com/influxdata/telegraf/pull/16785) `deps` Bump cloud.google.com/go/pubsub from 1.48.0 to 1.49.0
+- [#16897](https://github.com/influxdata/telegraf/pull/16897) `deps` Bump cloud.google.com/go/storage from 1.51.0 to 1.52.0
+- [#16840](https://github.com/influxdata/telegraf/pull/16840) `deps` Bump github.com/BurntSushi/toml from 1.4.0 to 1.5.0
+- [#16838](https://github.com/influxdata/telegraf/pull/16838) `deps` Bump github.com/aliyun/alibaba-cloud-sdk-go from 1.63.104 to 1.63.106
+- [#16908](https://github.com/influxdata/telegraf/pull/16908) `deps` Bump github.com/aliyun/alibaba-cloud-sdk-go from 1.63.106 to 1.63.107
+- [#16789](https://github.com/influxdata/telegraf/pull/16789) `deps` Bump github.com/antchfx/xpath from 1.3.3 to 1.3.4
+- [#16807](https://github.com/influxdata/telegraf/pull/16807) `deps` Bump github.com/apache/arrow-go/v18 from 18.1.0 to 18.2.0
+- [#16844](https://github.com/influxdata/telegraf/pull/16844) `deps` Bump github.com/apache/iotdb-client-go from 1.3.3 to 1.3.4
+- [#16839](https://github.com/influxdata/telegraf/pull/16839) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatch from 1.44.1 to 1.44.3
+- [#16836](https://github.com/influxdata/telegraf/pull/16836) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs from 1.45.3 to 1.47.3
+- [#16846](https://github.com/influxdata/telegraf/pull/16846) `deps` Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.42.2 to 1.42.4
+- [#16905](https://github.com/influxdata/telegraf/pull/16905) `deps` Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.42.4 to 1.43.1
+- [#16842](https://github.com/influxdata/telegraf/pull/16842) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.210.1 to 1.211.3
+- [#16900](https://github.com/influxdata/telegraf/pull/16900) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.211.3 to 1.212.0
+- [#16903](https://github.com/influxdata/telegraf/pull/16903) `deps` Bump github.com/aws/aws-sdk-go-v2/service/kinesis from 1.33.2 to 1.33.3
+- [#16793](https://github.com/influxdata/telegraf/pull/16793) `deps` Bump github.com/aws/aws-sdk-go-v2/service/timestreamwrite from 1.27.4 to 1.30.2
+- [#16802](https://github.com/influxdata/telegraf/pull/16802) `deps` Bump github.com/clarify/clarify-go from 0.3.1 to 0.4.0
+- [#16849](https://github.com/influxdata/telegraf/pull/16849) `deps` Bump github.com/docker/docker from 28.0.4+incompatible to 28.1.1+incompatible
+- [#16830](https://github.com/influxdata/telegraf/pull/16830) `deps` Bump github.com/go-ldap/ldap/v3 from 3.4.10 to 3.4.11
+- [#16801](https://github.com/influxdata/telegraf/pull/16801) `deps` Bump github.com/go-sql-driver/mysql from 1.8.1 to 1.9.2
+- [#16806](https://github.com/influxdata/telegraf/pull/16806) `deps` Bump github.com/gofrs/uuid/v5 from 5.3.0 to 5.3.2
+- [#16895](https://github.com/influxdata/telegraf/pull/16895) `deps` Bump github.com/google/cel-go from 0.24.1 to 0.25.0
+- [#16797](https://github.com/influxdata/telegraf/pull/16797) `deps` Bump github.com/gopcua/opcua from 0.7.1 to 0.7.4
+- [#16894](https://github.com/influxdata/telegraf/pull/16894) `deps` Bump github.com/gopcua/opcua from 0.7.4 to 0.8.0
+- [#16660](https://github.com/influxdata/telegraf/pull/16660) `deps` Bump github.com/gosmnp/gosnmp from 1.39.0 to 1.40.0
+- [#16902](https://github.com/influxdata/telegraf/pull/16902) `deps` Bump github.com/gosnmp/gosnmp from 1.39.0 to 1.40.0
+- [#16841](https://github.com/influxdata/telegraf/pull/16841) `deps` Bump github.com/hashicorp/consul/api from 1.31.2 to 1.32.0
+- [#16891](https://github.com/influxdata/telegraf/pull/16891) `deps` Bump github.com/jedib0t/go-pretty/v6 from 6.6.5 to 6.6.7
+- [#16892](https://github.com/influxdata/telegraf/pull/16892) `deps` Bump github.com/lxc/incus/v6 from 6.11.0 to 6.12.0
+- [#16786](https://github.com/influxdata/telegraf/pull/16786) `deps` Bump github.com/microsoft/go-mssqldb from 1.7.2 to 1.8.0
+- [#16851](https://github.com/influxdata/telegraf/pull/16851) `deps` Bump github.com/miekg/dns from 1.1.64 to 1.1.65
+- [#16808](https://github.com/influxdata/telegraf/pull/16808) `deps` Bump github.com/nats-io/nats-server/v2 from 2.10.25 to 2.10.27
+- [#16888](https://github.com/influxdata/telegraf/pull/16888) `deps` Bump github.com/nats-io/nats-server/v2 from 2.10.27 to 2.11.2
+- [#16909](https://github.com/influxdata/telegraf/pull/16909) `deps` Bump github.com/nats-io/nats.go from 1.41.1 to 1.41.2
+- [#16790](https://github.com/influxdata/telegraf/pull/16790) `deps` Bump github.com/openconfig/gnmi from 0.11.0 to 0.14.1
+- [#16799](https://github.com/influxdata/telegraf/pull/16799) `deps` Bump github.com/openconfig/goyang from 1.6.0 to 1.6.2
+- [#16848](https://github.com/influxdata/telegraf/pull/16848) `deps` Bump github.com/prometheus-community/pro-bing from 0.4.1 to 0.7.0
+- [#16795](https://github.com/influxdata/telegraf/pull/16795) `deps` Bump github.com/prometheus/client_golang from 1.21.1 to 1.22.0
+- [#16845](https://github.com/influxdata/telegraf/pull/16845) `deps` Bump github.com/prometheus/client_model from 0.6.1 to 0.6.2
+- [#16901](https://github.com/influxdata/telegraf/pull/16901) `deps` Bump github.com/prometheus/procfs from 0.16.0 to 0.16.1
+- [#16792](https://github.com/influxdata/telegraf/pull/16792) `deps` Bump github.com/safchain/ethtool from 0.3.0 to 0.5.10
+- [#16791](https://github.com/influxdata/telegraf/pull/16791) `deps` Bump github.com/seancfoley/ipaddress-go from 1.7.0 to 1.7.1
+- [#16794](https://github.com/influxdata/telegraf/pull/16794) `deps` Bump github.com/shirou/gopsutil/v4 from 4.25.1 to 4.25.3
+- [#16828](https://github.com/influxdata/telegraf/pull/16828) `deps` Bump github.com/snowflakedb/gosnowflake from 1.11.2 to 1.13.1
+- [#16904](https://github.com/influxdata/telegraf/pull/16904) `deps` Bump github.com/snowflakedb/gosnowflake from 1.13.1 to 1.13.3
+- [#16787](https://github.com/influxdata/telegraf/pull/16787) `deps` Bump github.com/srebhan/cborquery from 1.0.3 to 1.0.4
+- [#16837](https://github.com/influxdata/telegraf/pull/16837) `deps` Bump github.com/srebhan/protobufquery from 1.0.1 to 1.0.4
+- [#16893](https://github.com/influxdata/telegraf/pull/16893) `deps` Bump github.com/testcontainers/testcontainers-go from 0.36.0 to 0.37.0
+- [#16803](https://github.com/influxdata/telegraf/pull/16803) `deps` Bump github.com/testcontainers/testcontainers-go/modules/kafka from 0.34.0 to 0.36.0
+- [#16890](https://github.com/influxdata/telegraf/pull/16890) `deps` Bump github.com/testcontainers/testcontainers-go/modules/kafka from 0.36.0 to 0.37.0
+- [#16850](https://github.com/influxdata/telegraf/pull/16850) `deps` Bump github.com/vmware/govmomi from 0.49.0 to 0.50.0
+- [#16784](https://github.com/influxdata/telegraf/pull/16784) `deps` Bump github.com/yuin/goldmark from 1.7.8 to 1.7.9
+- [#16896](https://github.com/influxdata/telegraf/pull/16896) `deps` Bump github.com/yuin/goldmark from 1.7.9 to 1.7.11
+- [#16832](https://github.com/influxdata/telegraf/pull/16832) `deps` Bump go.mongodb.org/mongo-driver from 1.17.0 to 1.17.3
+- [#16800](https://github.com/influxdata/telegraf/pull/16800) `deps` Bump go.opentelemetry.io/collector/pdata from 1.29.0 to 1.30.0
+- [#16907](https://github.com/influxdata/telegraf/pull/16907) `deps` Bump go.opentelemetry.io/collector/pdata from 1.30.0 to 1.31.0
+- [#16831](https://github.com/influxdata/telegraf/pull/16831) `deps` Bump go.step.sm/crypto from 0.60.0 to 0.61.0
+- [#16886](https://github.com/influxdata/telegraf/pull/16886) `deps` Bump go.step.sm/crypto from 0.61.0 to 0.62.0
+- [#16816](https://github.com/influxdata/telegraf/pull/16816) `deps` Bump golangci-lint from v2.0.2 to v2.1.2
+- [#16852](https://github.com/influxdata/telegraf/pull/16852) `deps` Bump gonum.org/v1/gonum from 0.15.1 to 0.16.0
+- [#16805](https://github.com/influxdata/telegraf/pull/16805) `deps` Bump google.golang.org/api from 0.228.0 to 0.229.0
+- [#16898](https://github.com/influxdata/telegraf/pull/16898) `deps` Bump google.golang.org/api from 0.229.0 to 0.230.0
+- [#16834](https://github.com/influxdata/telegraf/pull/16834) `deps` Bump google.golang.org/grpc from 1.71.1 to 1.72.0
+- [#16889](https://github.com/influxdata/telegraf/pull/16889) `deps` Bump k8s.io/client-go from 0.32.3 to 0.33.0
+- [#16843](https://github.com/influxdata/telegraf/pull/16843) `deps` Bump modernc.org/sqlite from 1.36.2 to 1.37.0
+
+## v1.34.2 [2025-04-14]
+
+### Bugfixes
+
+- [#16375](https://github.com/influxdata/telegraf/pull/16375) `aggregators` Handle time drift when calculating aggregation windows
+
+### Dependency Updates
+
+- [#16689](https://github.com/influxdata/telegraf/pull/16689) `deps` Bump cloud.google.com/go/pubsub from 1.45.3 to 1.48.0
+- [#16769](https://github.com/influxdata/telegraf/pull/16769) `deps` Bump cloud.google.com/go/storage from 1.50.0 to 1.51.0
+- [#16771](https://github.com/influxdata/telegraf/pull/16771) `deps` Bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.17.0 to 1.18.0
+- [#16708](https://github.com/influxdata/telegraf/pull/16708) `deps` Bump github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs from 1.2.3 to 1.3.1
+- [#16764](https://github.com/influxdata/telegraf/pull/16764) `deps` Bump github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs from 1.3.1 to 1.3.2
+- [#16777](https://github.com/influxdata/telegraf/pull/16777) `deps` Bump github.com/ClickHouse/clickhouse-go/v2 from 2.30.3 to 2.34.0
+- [#16707](https://github.com/influxdata/telegraf/pull/16707) `deps` Bump github.com/IBM/sarama from v1.43.3 to v1.45.1
+- [#16739](https://github.com/influxdata/telegraf/pull/16739) `deps` Bump github.com/SAP/go-hdb from 1.9.10 to 1.13.5
+- [#16754](https://github.com/influxdata/telegraf/pull/16754) `deps` Bump github.com/aliyun/alibaba-cloud-sdk-go from 1.62.721 to 1.63.104
+- [#16767](https://github.com/influxdata/telegraf/pull/16767) `deps` Bump github.com/antchfx/jsonquery from 1.3.3 to 1.3.6
+- [#16758](https://github.com/influxdata/telegraf/pull/16758) `deps` Bump github.com/aws/aws-sdk-go-v2/config from 1.29.6 to 1.29.13
+- [#16710](https://github.com/influxdata/telegraf/pull/16710) `deps` Bump github.com/aws/aws-sdk-go-v2/credentials from 1.17.59 to 1.17.65
+- [#16685](https://github.com/influxdata/telegraf/pull/16685) `deps` Bump github.com/aws/aws-sdk-go-v2/service/cloudwatch from 1.43.14 to 1.44.1
+- [#16773](https://github.com/influxdata/telegraf/pull/16773) `deps` Bump github.com/aws/aws-sdk-go-v2/service/dynamodb from 1.40.0 to 1.42.2
+- [#16688](https://github.com/influxdata/telegraf/pull/16688) `deps` Bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.203.1 to 1.210.1
+- [#16772](https://github.com/influxdata/telegraf/pull/16772) `deps` Bump github.com/aws/aws-sdk-go-v2/service/kinesis from 1.32.6 to 1.33.2
+- [#16711](https://github.com/influxdata/telegraf/pull/16711) `deps` Bump github.com/cloudevents/sdk-go/v2 from 2.15.2 to 2.16.0
+- [#16687](https://github.com/influxdata/telegraf/pull/16687) `deps` Bump github.com/google/cel-go from 0.23.0 to 0.24.1
+- [#16712](https://github.com/influxdata/telegraf/pull/16712) `deps` Bump github.com/gophercloud/gophercloud/v2 from 2.0.0-rc.3 to 2.6.0
+- [#16738](https://github.com/influxdata/telegraf/pull/16738) `deps` Bump github.com/gorcon/rcon from 1.3.5 to 1.4.0
+- [#16737](https://github.com/influxdata/telegraf/pull/16737) `deps` Bump github.com/gosnmp/gosnmp from 1.38.0 to 1.39.0
+- [#16752](https://github.com/influxdata/telegraf/pull/16752) `deps` Bump github.com/lxc/incus/v6 from 6.9.0 to 6.11.0
+- [#16761](https://github.com/influxdata/telegraf/pull/16761) `deps` Bump github.com/nats-io/nats.go from 1.39.1 to 1.41.1
+- [#16753](https://github.com/influxdata/telegraf/pull/16753) `deps` Bump github.com/netsampler/goflow2/v2 from 2.2.1 to 2.2.2
+- [#16760](https://github.com/influxdata/telegraf/pull/16760) `deps` Bump github.com/p4lang/p4runtime from 1.4.0 to 1.4.1
+- [#16766](https://github.com/influxdata/telegraf/pull/16766) `deps` Bump github.com/prometheus/common from 0.62.0 to 0.63.0
+- [#16686](https://github.com/influxdata/telegraf/pull/16686) `deps` Bump github.com/rclone/rclone from 1.68.2 to 1.69.1
+- [#16770](https://github.com/influxdata/telegraf/pull/16770) `deps` Bump github.com/sijms/go-ora/v2 from 2.8.22 to 2.8.24
+- [#16709](https://github.com/influxdata/telegraf/pull/16709) `deps` Bump github.com/testcontainers/testcontainers-go from 0.35.0 to 0.36.0
+- [#16763](https://github.com/influxdata/telegraf/pull/16763) `deps` Bump github.com/tinylib/msgp from 1.2.0 to 1.2.5
+- [#16757](https://github.com/influxdata/telegraf/pull/16757) `deps` Bump github.com/urfave/cli/v2 from 2.27.2 to 2.27.6
+- [#16724](https://github.com/influxdata/telegraf/pull/16724) `deps` Bump github.com/vmware/govmomi from v0.45.1 to v0.49.0
+- [#16768](https://github.com/influxdata/telegraf/pull/16768) `deps` Bump go.opentelemetry.io/collector/pdata from 1.25.0 to 1.29.0
+- [#16765](https://github.com/influxdata/telegraf/pull/16765) `deps` Bump go.step.sm/crypto from 0.59.1 to 0.60.0
+- [#16756](https://github.com/influxdata/telegraf/pull/16756) `deps` Bump golang.org/x/crypto from 0.36.0 to 0.37.0
+- [#16683](https://github.com/influxdata/telegraf/pull/16683) `deps` Bump golangci-lint from v1.64.5 to v2.0.2
+- [#16759](https://github.com/influxdata/telegraf/pull/16759) `deps` Bump google.golang.org/api from 0.224.0 to 0.228.0
+- [#16755](https://github.com/influxdata/telegraf/pull/16755) `deps` Bump k8s.io/client-go from 0.32.1 to 0.32.3
+- [#16684](https://github.com/influxdata/telegraf/pull/16684) `deps` Bump tj-actions/changed-files from 46.0.1 to 46.0.3
+- [#16736](https://github.com/influxdata/telegraf/pull/16736) `deps` Bump tj-actions/changed-files from 46.0.3 to 46.0.4
+- [#16751](https://github.com/influxdata/telegraf/pull/16751) `deps` Bump tj-actions/changed-files from 46.0.4 to 46.0.5
+
## v1.34.1 [2025-03-24]
### Bugfixes
diff --git a/vendor/github.com/influxdata/telegraf/CONTRIBUTING.md b/vendor/github.com/influxdata/telegraf/CONTRIBUTING.md
index 3a4451baa6d11..2ac826d9318d6 100644
--- a/vendor/github.com/influxdata/telegraf/CONTRIBUTING.md
+++ b/vendor/github.com/influxdata/telegraf/CONTRIBUTING.md
@@ -1,6 +1,9 @@
# Contributing to Telegraf
-There are many ways to get involved in the Telegraf project! From opening issues, creating pull requests, to joining the conversation in Slack. We would love to see you contribute your expertise and join our community. To get started review this document to learn best practices.
+There are many ways to get involved in the Telegraf project! From opening
+issues, creating pull requests, to joining the conversation in Slack. We would
+love to see you contribute your expertise and join our community. To get started
+review this document to learn best practices.

@@ -8,17 +11,32 @@ There are many ways to get involved in the Telegraf project! From opening issues
### Bug reports
-Before you file an issue, please search existing issues in case it has already been filed, or perhaps even fixed. If you file an issue, please ensure you include all the requested details (e.g. Telegraf config and logs, platform, etc.)
+Before you file an issue, please search existing issues in case it has already
+been filed, or perhaps even fixed. If you file an issue, please ensure you
+include all the requested details (e.g. Telegraf config, logs, platform, etc.)
-Please note that issues are not the place to file general support requests such as "How do I use the mongoDB plugin?" Questions of this nature should be sent to the [Community Slack](https://influxdata.com/slack) or [Community Page](https://community.influxdata.com/), not filed as issues.
+Please note that issues are not the place to file general support requests such
+as "How do I use the mongoDB plugin?" Questions of this nature should be sent
+to the [Community Slack][slack] or [Community Page][forum], not filed as issues.
+
+[slack]: https://influxdata.com/slack
+[forum]: https://community.influxdata.com/
### Feature requests
-We really like to receive feature requests as it helps us prioritize our work. Before you file a feature request, please search existing issues, you can filter issues that have the label `feature request`. Please be clear about your requirements and goals, help us to understand what you would like to see added to Telegraf with examples and the reasons why it is important to you. If you find your feature request already exists as a Github issue please indicate your support for that feature by using the "thumbs up" reaction.
+We really like to receive feature requests as it helps us prioritize our work.
+Before you file a feature request, please search existing issues, you can filter
+issues that have the label `feature request`. Please be clear about your
+requirements and goals, help us to understand what you would like to see added
+to Telegraf with examples and the reasons why it is important to you. If you
+find your feature request already exists as a Github issue please indicate your
+support for that feature by using the "thumbs up" reaction.
### Support questions
-We recommend posting support questions in our [Community Slack](https://influxdata.com/slack) or [Community Page](https://community.influxdata.com/), we have a lot of talented community members there who could help answer your question more quickly.
+We recommend posting support questions in our [Community Slack][slack] or
+[Community Page][forum], we have a lot of talented community members there who
+could help answer your question more quickly.
## Contributing code
@@ -41,39 +59,62 @@ should be your own per the CLA.
- [Output Plugins][outputs]
4. Ensure you have added proper unit tests and documentation.
5. Open a new [pull request][].
-6. The pull request title needs to follow [conventional commit format](https://www.conventionalcommits.org/en/v1.0.0/#summary)
+6. The pull request title needs to follow [conventional commit format][semcommit]
+
+> [!NOTE]
+> If you have a pull request with only one commit, then that commit needs to
+> follow the conventional commit format or the `Semantic Pull Request` check
+> will fail. This is because github will use the pull request title if there are
+> multiple commits, but if there is only one commit it will use it instead.
-**Note:** If you have a pull request with only one commit, then that commit needs to follow the conventional commit format or the `Semantic Pull Request` check will fail. This is because github will use the pull request title if there are multiple commits, but if there is only one commit it will use it instead.
+[semcommit]: https://www.conventionalcommits.org/en/v1.0.0/#summary
### When will your contribution get released?
-We have two kinds of releases: patch releases, which happen every few weeks, and feature releases, which happen once a quarter. If your fix is a bug fix, it will be released in the next patch release after it is merged to master. If your release is a new plugin or other feature, it will be released in the next quarterly release after it is merged to master. Quarterly releases are on the third Wednesday of March, June, September, and December.
+We have two kinds of releases: patch releases, which happen every few weeks, and
+feature releases, which happen once a quarter. If your fix is a bug fix, it will
+be released in the next patch release after it is merged to master. If your
+release is a new plugin or other feature, it will be released in the next
+quarterly release after it is merged to master. Quarterly releases are on the
+third Wednesday of March, June, September, and December.
### Contributing an External Plugin
-Input, output, and processor plugins written for internal Telegraf can be run as externally-compiled plugins through the [Execd Input](/plugins/inputs/execd), [Execd Output](/plugins/outputs/execd), and [Execd Processor](/plugins/processors/execd) Plugins without having to change the plugin code.
+Input, output, and processor plugins written for internal Telegraf can be run as
+externally-compiled plugins through the [Execd Input](/plugins/inputs/execd),
+[Execd Output](/plugins/outputs/execd), and
+[Execd Processor](/plugins/processors/execd) Plugins without having to change
+the plugin code.
-Follow the guidelines of how to integrate your plugin with the [Execd Go Shim](/plugins/common/shim) to easily compile it as a separate app and run it with the respective `execd` plugin.
-Check out our [guidelines](/docs/EXTERNAL_PLUGINS.md#external-plugin-guidelines) on how to build and set up your external plugins to run with `execd`.
+Follow the guidelines of how to integrate your plugin with the
+[Execd Go Shim](/plugins/common/shim) to easily compile it as a separate app and
+run it with the respective `execd` plugin.
+Check out our [guidelines](/docs/EXTERNAL_PLUGINS.md#external-plugin-guidelines)
+on how to build and set up your external plugins to run with `execd`.
## Security Vulnerability Reporting
-InfluxData takes security and our users' trust very seriously. If you believe you have found a security issue in any of our
-open source projects, please responsibly disclose it by contacting `security@influxdata.com`. More details about
-security vulnerability reporting,
-including our GPG key, [can be found here](https://www.influxdata.com/how-to-report-security-vulnerabilities/).
+InfluxData takes security and our users' trust very seriously. If you believe
+you have found a security issue in any of our open source projects, please
+responsibly disclose it by contacting `security@influxdata.com`. More details
+about security vulnerability reporting, including our GPG key,
+[can be found here][gpg_key].
+
+[gpg_key]: https://www.influxdata.com/how-to-report-security-vulnerabilities/
## Common development tasks
**Adding a dependency:**
-Telegraf uses Go modules. Assuming you can already build the project, run this in the telegraf directory:
+Telegraf uses Go modules. Assuming you can already build the project, run this
+in the telegraf directory:
1. `go get github.com/[dependency]/[new-package]`
**Before opening a PR:**
-Before opening a pull request you should run the following checks locally to make sure the CI will pass.
+Before opening a pull request you should run the following checks locally to
+make sure the CI will pass.
```shell
make lint
diff --git a/vendor/github.com/influxdata/telegraf/EXTERNAL_PLUGINS.md b/vendor/github.com/influxdata/telegraf/EXTERNAL_PLUGINS.md
index 1ffb80598f69e..22d1db7c79074 100644
--- a/vendor/github.com/influxdata/telegraf/EXTERNAL_PLUGINS.md
+++ b/vendor/github.com/influxdata/telegraf/EXTERNAL_PLUGINS.md
@@ -1,7 +1,11 @@
+
# External Plugins
-This is a list of plugins that can be compiled outside of Telegraf and used via the `execd` [input](plugins/inputs/execd), [output](plugins/outputs/execd), or [processor](plugins/processors/execd).
-Check out the [external plugin documentation](/docs/EXTERNAL_PLUGINS.md) for more information on writing and contributing a plugin.
+This is a list of plugins that can be compiled outside of Telegraf and used via
+the `execd` [input](/plugins/inputs/execd), [output](/plugins/outputs/execd), or
+[processor](/plugins/processors/execd).
+Check out the [external plugin documentation](/docs/EXTERNAL_PLUGINS.md) for
+more information on writing and contributing a plugin.
Pull requests welcome.
@@ -28,7 +32,6 @@ Pull requests welcome.
- [db2](https://github.com/bonitoo-io/telegraf-input-db2) - Gather the statistic data from DB2 RDBMS
- [apt](https://github.com/x70b1/telegraf-apt) - Check Debian for package updates.
- [knot](https://github.com/x70b1/telegraf-knot) - Collect stats from Knot DNS.
-- [fritzbox](https://github.com/hdecarne-github/fritzbox-telegraf-plugin) - Gather statistics from [FRITZ!Box](https://avm.de/produkte/fritzbox/) router and repeater
- [linux-psi-telegraf-plugin](https://github.com/gridscale/linux-psi-telegraf-plugin) - Gather pressure stall information ([PSI](https://facebookmicrosites.github.io/psi/)) from the Linux Kernel
- [hwinfo](https://github.com/zachstence/hwinfo-telegraf-plugin) - Gather Windows system hardware information from [HWiNFO](https://www.hwinfo.com/)
- [libvirt](https://gitlab.com/warrenio/tools/telegraf-input-libvirt) - Gather libvirt domain stats, based on a historical Telegraf implementation [libvirt](https://libvirt.org/)
diff --git a/vendor/github.com/influxdata/telegraf/Makefile b/vendor/github.com/influxdata/telegraf/Makefile
index 7f134c898c185..92508411cac66 100644
--- a/vendor/github.com/influxdata/telegraf/Makefile
+++ b/vendor/github.com/influxdata/telegraf/Makefile
@@ -180,7 +180,7 @@ vet:
.PHONY: lint-install
lint-install:
@echo "Installing golangci-lint"
- go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.64.5
+ go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.5.0
@echo "Installing markdownlint"
npm install -g markdownlint-cli
@@ -207,6 +207,19 @@ lint-branch:
}
golangci-lint run
+.PHONY: vuln-install
+vuln-install:
+ @echo "Installing govulncheck"
+ go install golang.org/x/vuln/cmd/govulncheck@latest
+
+.PHONY: vuln
+vuln:
+ @which govulncheck >/dev/null 2>&1 || { \
+ echo "govulncheck not found, please run: make vuln-install"; \
+ exit 1; \
+ }
+ govulncheck ./...
+
.PHONY: tidy
tidy:
go mod verify
@@ -257,8 +270,8 @@ plugins/parsers/influx/machine.go: plugins/parsers/influx/machine.go.rl
.PHONY: ci
ci:
- docker build -t quay.io/influxdb/telegraf-ci:1.24.1 - < scripts/ci.docker
- docker push quay.io/influxdb/telegraf-ci:1.24.1
+ docker build -t quay.io/influxdb/telegraf-ci:1.25.3 - < scripts/ci.docker
+ docker push quay.io/influxdb/telegraf-ci:1.25.3
.PHONY: install
install: $(buildbin)
@@ -295,7 +308,7 @@ mipsel += mipsel.deb linux_mipsel.tar.gz
.PHONY: mipsel
mipsel:
@ echo $(mipsel)
-loong64 += linux_loong64.tar.gz loong64.deb loong64.rpm
+loong64 += linux_loong64.tar.gz loong64.deb loongarch64.rpm
.PHONY: loong64
loong64:
@ echo $(loong64)
@@ -441,8 +454,8 @@ mipsel.deb linux_mipsel.tar.gz: export GOARCH := mipsle
riscv64.deb riscv64.rpm linux_riscv64.tar.gz: export GOOS := linux
riscv64.deb riscv64.rpm linux_riscv64.tar.gz: export GOARCH := riscv64
-loong64.deb loong64.rpm linux_loong64.tar.gz: export GOOS := linux
-loong64.deb loong64.rpm linux_loong64.tar.gz: export GOARCH := loong64
+loong64.deb loongarch64.rpm linux_loong64.tar.gz: export GOOS := linux
+loong64.deb loongarch64.rpm linux_loong64.tar.gz: export GOARCH := loong64
s390x.deb s390x.rpm linux_s390x.tar.gz: export GOOS := linux
s390x.deb s390x.rpm linux_s390x.tar.gz: export GOARCH := s390x
diff --git a/vendor/github.com/influxdata/telegraf/build_version.txt b/vendor/github.com/influxdata/telegraf/build_version.txt
index 4b06b5bed6828..4b0b82593c689 100644
--- a/vendor/github.com/influxdata/telegraf/build_version.txt
+++ b/vendor/github.com/influxdata/telegraf/build_version.txt
@@ -1 +1 @@
-1.34.1
\ No newline at end of file
+1.36.3
\ No newline at end of file
diff --git a/vendor/github.com/influxdata/telegraf/metric.go b/vendor/github.com/influxdata/telegraf/metric.go
index adad3cfc38c33..d9089d3b2f6ea 100644
--- a/vendor/github.com/influxdata/telegraf/metric.go
+++ b/vendor/github.com/influxdata/telegraf/metric.go
@@ -112,6 +112,11 @@ type Metric interface {
// HashID returns an unique identifier for the series.
HashID() uint64
+ // HashIDWithFieldsFiltered returns a unique identifier for the metric
+ // including the field keys while ignoring tags and fields with the
+ // specified keys.
+ HashIDWithFieldsFiltered(excludedTags, excludedFields []string) uint64
+
// Copy returns a deep copy of the Metric.
Copy() Metric
diff --git a/vendor/github.com/influxdata/telegraf/plugins/inputs/registry.go b/vendor/github.com/influxdata/telegraf/plugins/inputs/registry.go
index 98a17b0197d0b..6334818981e29 100644
--- a/vendor/github.com/influxdata/telegraf/plugins/inputs/registry.go
+++ b/vendor/github.com/influxdata/telegraf/plugins/inputs/registry.go
@@ -2,10 +2,13 @@ package inputs
import "github.com/influxdata/telegraf"
+// Creator is a function type that creates a new instance of a telegraf.Input.
type Creator func() telegraf.Input
+// Inputs is a map that holds all registered input plugins by their name.
var Inputs = make(map[string]Creator)
+// Add registers a new input plugin with the given name and creator function.
func Add(name string, creator Creator) {
Inputs[name] = creator
}
diff --git a/vendor/github.com/mattn/go-runewidth/runewidth_windows.go b/vendor/github.com/mattn/go-runewidth/runewidth_windows.go
index 5f987a310fe48..951500a24d370 100644
--- a/vendor/github.com/mattn/go-runewidth/runewidth_windows.go
+++ b/vendor/github.com/mattn/go-runewidth/runewidth_windows.go
@@ -4,6 +4,7 @@
package runewidth
import (
+ "os"
"syscall"
)
@@ -14,6 +15,11 @@ var (
// IsEastAsian return true if the current locale is CJK
func IsEastAsian() bool {
+ if os.Getenv("WT_SESSION") != "" {
+ // Windows Terminal always not use East Asian Ambiguous Width(s).
+ return false
+ }
+
r1, _, _ := procGetConsoleOutputCP.Call()
if r1 == 0 {
return false
diff --git a/vendor/github.com/opencontainers/image-spec/specs-go/version.go b/vendor/github.com/opencontainers/image-spec/specs-go/version.go
index 7069ae44d715d..c3897c7ca0c6d 100644
--- a/vendor/github.com/opencontainers/image-spec/specs-go/version.go
+++ b/vendor/github.com/opencontainers/image-spec/specs-go/version.go
@@ -22,7 +22,7 @@ const (
// VersionMinor is for functionality in a backwards-compatible manner
VersionMinor = 1
// VersionPatch is for backwards-compatible bug fixes
- VersionPatch = 0
+ VersionPatch = 1
// VersionDev indicates development branch. Releases will be empty string.
VersionDev = ""
diff --git a/vendor/github.com/pkg/xattr/xattr_darwin.go b/vendor/github.com/pkg/xattr/xattr_darwin.go
index ee7a501dae5cb..5ff3839e96479 100644
--- a/vendor/github.com/pkg/xattr/xattr_darwin.go
+++ b/vendor/github.com/pkg/xattr/xattr_darwin.go
@@ -6,6 +6,7 @@ package xattr
import (
"os"
"syscall"
+ "unsafe"
"golang.org/x/sys/unix"
)
@@ -37,7 +38,11 @@ func lgetxattr(path string, name string, data []byte) (int, error) {
}
func fgetxattr(f *os.File, name string, data []byte) (int, error) {
- return getxattr(f.Name(), name, data)
+ path, err := getPath(f)
+ if err != nil {
+ return 0, err
+ }
+ return getxattr(path, name, data)
}
func setxattr(path string, name string, data []byte, flags int) error {
@@ -49,7 +54,11 @@ func lsetxattr(path string, name string, data []byte, flags int) error {
}
func fsetxattr(f *os.File, name string, data []byte, flags int) error {
- return setxattr(f.Name(), name, data, flags)
+ path, err := getPath(f)
+ if err != nil {
+ return err
+ }
+ return setxattr(path, name, data, flags)
}
func removexattr(path string, name string) error {
@@ -61,7 +70,11 @@ func lremovexattr(path string, name string) error {
}
func fremovexattr(f *os.File, name string) error {
- return removexattr(f.Name(), name)
+ path, err := getPath(f)
+ if err != nil {
+ return err
+ }
+ return removexattr(path, name)
}
func listxattr(path string, data []byte) (int, error) {
@@ -73,7 +86,28 @@ func llistxattr(path string, data []byte) (int, error) {
}
func flistxattr(f *os.File, data []byte) (int, error) {
- return listxattr(f.Name(), data)
+ path, err := getPath(f)
+ if err != nil {
+ return 0, err
+ }
+ return listxattr(path, data)
+}
+
+// getPath returns the full path to the specified file.
+func getPath(f *os.File) (string, error) {
+ var buf [unix.PathMax]byte
+ _, _, err := unix.Syscall(unix.SYS_FCNTL,
+ uintptr(int(f.Fd())),
+ uintptr(unix.F_GETPATH),
+ uintptr(unsafe.Pointer(&buf[0])))
+ if err != 0 {
+ return "", err
+ }
+ n := 0
+ for n < len(buf) && buf[n] != 0 {
+ n++
+ }
+ return string(buf[:n]), nil
}
// stringsFromByteSlice converts a sequence of attributes to a []string.
diff --git a/vendor/github.com/pkg/xattr/xattr_solaris.go b/vendor/github.com/pkg/xattr/xattr_solaris.go
index 7c98b4afbac25..2823bca5e91ce 100644
--- a/vendor/github.com/pkg/xattr/xattr_solaris.go
+++ b/vendor/github.com/pkg/xattr/xattr_solaris.go
@@ -4,8 +4,8 @@
package xattr
import (
+ "errors"
"os"
- "syscall"
"golang.org/x/sys/unix"
)
@@ -17,10 +17,11 @@ const (
XATTR_CREATE = 0x1
XATTR_REPLACE = 0x2
- // ENOATTR is not exported by the syscall package on Linux, because it is
- // an alias for ENODATA. We export it here so it is available on all
- // our supported platforms.
- ENOATTR = syscall.ENODATA
+ // ENOATTR is not defined on Solaris. When attempting to open an
+ // extended attribute that doesn't exist, we'll get ENOENT. For
+ // compatibility with other platforms, we make ENOATTR available as
+ // an alias of unix.ENOENT.
+ ENOATTR = unix.ENOENT
)
func getxattr(path string, name string, data []byte) (int, error) {
@@ -132,7 +133,13 @@ func llistxattr(path string, data []byte) (int, error) {
func flistxattr(f *os.File, data []byte) (int, error) {
fd, err := unix.Openat(int(f.Fd()), ".", unix.O_RDONLY|unix.O_XATTR, 0)
if err != nil {
- return 0, unix.ENOTSUP
+ // When attempting to list extended attributes on a filesystem
+ // that doesn't support them (like as UFS and tmpfs), we'll get
+ // EINVAL. Translate this error to the more conventional ENOTSUP.
+ if errors.Is(err, unix.EINVAL) {
+ return 0, unix.ENOTSUP
+ }
+ return 0, err
}
xf := os.NewFile(uintptr(fd), f.Name())
defer func() {
diff --git a/vendor/github.com/spf13/cast/.editorconfig b/vendor/github.com/spf13/cast/.editorconfig
new file mode 100644
index 0000000000000..a85749f190034
--- /dev/null
+++ b/vendor/github.com/spf13/cast/.editorconfig
@@ -0,0 +1,15 @@
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+indent_size = 4
+indent_style = space
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+[*.go]
+indent_style = tab
+
+[{*.yml,*.yaml}]
+indent_size = 2
diff --git a/vendor/github.com/spf13/cast/.golangci.yaml b/vendor/github.com/spf13/cast/.golangci.yaml
new file mode 100644
index 0000000000000..e00fd47aa25b6
--- /dev/null
+++ b/vendor/github.com/spf13/cast/.golangci.yaml
@@ -0,0 +1,39 @@
+version: "2"
+
+run:
+ timeout: 10m
+
+linters:
+ enable:
+ - errcheck
+ - govet
+ - ineffassign
+ - misspell
+ - nolintlint
+ # - revive
+ - unused
+
+ disable:
+ - staticcheck
+
+ settings:
+ misspell:
+ locale: US
+ nolintlint:
+ allow-unused: false # report any unused nolint directives
+ require-specific: false # don't require nolint directives to be specific about which linter is being skipped
+
+formatters:
+ enable:
+ - gci
+ - gofmt
+ # - gofumpt
+ - goimports
+ # - golines
+
+ settings:
+ gci:
+ sections:
+ - standard
+ - default
+ - localmodule
diff --git a/vendor/github.com/spf13/cast/README.md b/vendor/github.com/spf13/cast/README.md
index 1be666a456f7c..c58eccb3fdc9d 100644
--- a/vendor/github.com/spf13/cast/README.md
+++ b/vendor/github.com/spf13/cast/README.md
@@ -1,9 +1,9 @@
# cast
-[](https://github.com/spf13/cast/actions/workflows/test.yaml)
-[](https://pkg.go.dev/mod/github.com/spf13/cast)
-
-[](https://goreportcard.com/report/github.com/spf13/cast)
+[](https://github.com/spf13/cast/actions/workflows/ci.yaml)
+[](https://pkg.go.dev/mod/github.com/spf13/cast)
+
+[](https://deps.dev/go/github.com%252Fspf13%252Fcast)
Easy and safe casting from one type to another in Go
@@ -73,3 +73,7 @@ the code for a complete set.
var eight interface{} = 8
cast.ToInt(eight) // 8
cast.ToInt(nil) // 0
+
+## License
+
+The project is licensed under the [MIT License](LICENSE).
diff --git a/vendor/github.com/spf13/cast/alias.go b/vendor/github.com/spf13/cast/alias.go
new file mode 100644
index 0000000000000..855d60005dff3
--- /dev/null
+++ b/vendor/github.com/spf13/cast/alias.go
@@ -0,0 +1,69 @@
+// Copyright © 2014 Steve Francia .
+//
+// Use of this source code is governed by an MIT-style
+// license that can be found in the LICENSE file.
+package cast
+
+import (
+ "reflect"
+ "slices"
+)
+
+var kindNames = []string{
+ reflect.String: "string",
+ reflect.Bool: "bool",
+ reflect.Int: "int",
+ reflect.Int8: "int8",
+ reflect.Int16: "int16",
+ reflect.Int32: "int32",
+ reflect.Int64: "int64",
+ reflect.Uint: "uint",
+ reflect.Uint8: "uint8",
+ reflect.Uint16: "uint16",
+ reflect.Uint32: "uint32",
+ reflect.Uint64: "uint64",
+ reflect.Float32: "float32",
+ reflect.Float64: "float64",
+}
+
+var kinds = map[reflect.Kind]func(reflect.Value) any{
+ reflect.String: func(v reflect.Value) any { return v.String() },
+ reflect.Bool: func(v reflect.Value) any { return v.Bool() },
+ reflect.Int: func(v reflect.Value) any { return int(v.Int()) },
+ reflect.Int8: func(v reflect.Value) any { return int8(v.Int()) },
+ reflect.Int16: func(v reflect.Value) any { return int16(v.Int()) },
+ reflect.Int32: func(v reflect.Value) any { return int32(v.Int()) },
+ reflect.Int64: func(v reflect.Value) any { return v.Int() },
+ reflect.Uint: func(v reflect.Value) any { return uint(v.Uint()) },
+ reflect.Uint8: func(v reflect.Value) any { return uint8(v.Uint()) },
+ reflect.Uint16: func(v reflect.Value) any { return uint16(v.Uint()) },
+ reflect.Uint32: func(v reflect.Value) any { return uint32(v.Uint()) },
+ reflect.Uint64: func(v reflect.Value) any { return v.Uint() },
+ reflect.Float32: func(v reflect.Value) any { return float32(v.Float()) },
+ reflect.Float64: func(v reflect.Value) any { return v.Float() },
+}
+
+// resolveAlias attempts to resolve a named type to its underlying basic type (if possible).
+//
+// Pointers are expected to be indirected by this point.
+func resolveAlias(i any) (any, bool) {
+ if i == nil {
+ return nil, false
+ }
+
+ t := reflect.TypeOf(i)
+
+ // Not a named type
+ if t.Name() == "" || slices.Contains(kindNames, t.Name()) {
+ return i, false
+ }
+
+ resolve, ok := kinds[t.Kind()]
+ if !ok { // Not a supported kind
+ return i, false
+ }
+
+ v := reflect.ValueOf(i)
+
+ return resolve(v), true
+}
diff --git a/vendor/github.com/spf13/cast/basic.go b/vendor/github.com/spf13/cast/basic.go
new file mode 100644
index 0000000000000..fa330e207ab6b
--- /dev/null
+++ b/vendor/github.com/spf13/cast/basic.go
@@ -0,0 +1,131 @@
+// Copyright © 2014 Steve Francia .
+//
+// Use of this source code is governed by an MIT-style
+// license that can be found in the LICENSE file.
+
+package cast
+
+import (
+ "encoding/json"
+ "fmt"
+ "html/template"
+ "strconv"
+ "time"
+)
+
+// ToBoolE casts any value to a bool type.
+func ToBoolE(i any) (bool, error) {
+ i, _ = indirect(i)
+
+ switch b := i.(type) {
+ case bool:
+ return b, nil
+ case nil:
+ return false, nil
+ case int:
+ return b != 0, nil
+ case int8:
+ return b != 0, nil
+ case int16:
+ return b != 0, nil
+ case int32:
+ return b != 0, nil
+ case int64:
+ return b != 0, nil
+ case uint:
+ return b != 0, nil
+ case uint8:
+ return b != 0, nil
+ case uint16:
+ return b != 0, nil
+ case uint32:
+ return b != 0, nil
+ case uint64:
+ return b != 0, nil
+ case float32:
+ return b != 0, nil
+ case float64:
+ return b != 0, nil
+ case time.Duration:
+ return b != 0, nil
+ case string:
+ return strconv.ParseBool(b)
+ case json.Number:
+ v, err := ToInt64E(b)
+ if err == nil {
+ return v != 0, nil
+ }
+
+ return false, fmt.Errorf(errorMsg, i, i, false)
+ default:
+ if i, ok := resolveAlias(i); ok {
+ return ToBoolE(i)
+ }
+
+ return false, fmt.Errorf(errorMsg, i, i, false)
+ }
+}
+
+// ToStringE casts any value to a string type.
+func ToStringE(i any) (string, error) {
+ switch s := i.(type) {
+ case string:
+ return s, nil
+ case bool:
+ return strconv.FormatBool(s), nil
+ case float64:
+ return strconv.FormatFloat(s, 'f', -1, 64), nil
+ case float32:
+ return strconv.FormatFloat(float64(s), 'f', -1, 32), nil
+ case int:
+ return strconv.Itoa(s), nil
+ case int8:
+ return strconv.FormatInt(int64(s), 10), nil
+ case int16:
+ return strconv.FormatInt(int64(s), 10), nil
+ case int32:
+ return strconv.FormatInt(int64(s), 10), nil
+ case int64:
+ return strconv.FormatInt(s, 10), nil
+ case uint:
+ return strconv.FormatUint(uint64(s), 10), nil
+ case uint8:
+ return strconv.FormatUint(uint64(s), 10), nil
+ case uint16:
+ return strconv.FormatUint(uint64(s), 10), nil
+ case uint32:
+ return strconv.FormatUint(uint64(s), 10), nil
+ case uint64:
+ return strconv.FormatUint(s, 10), nil
+ case json.Number:
+ return s.String(), nil
+ case []byte:
+ return string(s), nil
+ case template.HTML:
+ return string(s), nil
+ case template.URL:
+ return string(s), nil
+ case template.JS:
+ return string(s), nil
+ case template.CSS:
+ return string(s), nil
+ case template.HTMLAttr:
+ return string(s), nil
+ case nil:
+ return "", nil
+ case fmt.Stringer:
+ return s.String(), nil
+ case error:
+ return s.Error(), nil
+ default:
+ if i, ok := indirect(i); ok {
+ return ToStringE(i)
+ }
+
+ if i, ok := resolveAlias(i); ok {
+ return ToStringE(i)
+ }
+
+ return "", fmt.Errorf(errorMsg, i, i, "")
+ }
+}
diff --git a/vendor/github.com/spf13/cast/cast.go b/vendor/github.com/spf13/cast/cast.go
index 0cfe9418de3e1..8d85539b350e2 100644
--- a/vendor/github.com/spf13/cast/cast.go
+++ b/vendor/github.com/spf13/cast/cast.go
@@ -8,169 +8,77 @@ package cast
import "time"
-// ToBool casts an interface to a bool type.
-func ToBool(i interface{}) bool {
- v, _ := ToBoolE(i)
- return v
-}
-
-// ToTime casts an interface to a time.Time type.
-func ToTime(i interface{}) time.Time {
- v, _ := ToTimeE(i)
- return v
-}
-
-func ToTimeInDefaultLocation(i interface{}, location *time.Location) time.Time {
- v, _ := ToTimeInDefaultLocationE(i, location)
- return v
-}
-
-// ToDuration casts an interface to a time.Duration type.
-func ToDuration(i interface{}) time.Duration {
- v, _ := ToDurationE(i)
- return v
-}
-
-// ToFloat64 casts an interface to a float64 type.
-func ToFloat64(i interface{}) float64 {
- v, _ := ToFloat64E(i)
- return v
-}
-
-// ToFloat32 casts an interface to a float32 type.
-func ToFloat32(i interface{}) float32 {
- v, _ := ToFloat32E(i)
- return v
-}
-
-// ToInt64 casts an interface to an int64 type.
-func ToInt64(i interface{}) int64 {
- v, _ := ToInt64E(i)
- return v
-}
-
-// ToInt32 casts an interface to an int32 type.
-func ToInt32(i interface{}) int32 {
- v, _ := ToInt32E(i)
- return v
-}
-
-// ToInt16 casts an interface to an int16 type.
-func ToInt16(i interface{}) int16 {
- v, _ := ToInt16E(i)
- return v
-}
-
-// ToInt8 casts an interface to an int8 type.
-func ToInt8(i interface{}) int8 {
- v, _ := ToInt8E(i)
- return v
-}
-
-// ToInt casts an interface to an int type.
-func ToInt(i interface{}) int {
- v, _ := ToIntE(i)
- return v
-}
-
-// ToUint casts an interface to a uint type.
-func ToUint(i interface{}) uint {
- v, _ := ToUintE(i)
- return v
-}
-
-// ToUint64 casts an interface to a uint64 type.
-func ToUint64(i interface{}) uint64 {
- v, _ := ToUint64E(i)
- return v
-}
-
-// ToUint32 casts an interface to a uint32 type.
-func ToUint32(i interface{}) uint32 {
- v, _ := ToUint32E(i)
- return v
-}
-
-// ToUint16 casts an interface to a uint16 type.
-func ToUint16(i interface{}) uint16 {
- v, _ := ToUint16E(i)
- return v
-}
-
-// ToUint8 casts an interface to a uint8 type.
-func ToUint8(i interface{}) uint8 {
- v, _ := ToUint8E(i)
- return v
-}
-
-// ToString casts an interface to a string type.
-func ToString(i interface{}) string {
- v, _ := ToStringE(i)
- return v
-}
-
-// ToStringMapString casts an interface to a map[string]string type.
-func ToStringMapString(i interface{}) map[string]string {
- v, _ := ToStringMapStringE(i)
- return v
-}
-
-// ToStringMapStringSlice casts an interface to a map[string][]string type.
-func ToStringMapStringSlice(i interface{}) map[string][]string {
- v, _ := ToStringMapStringSliceE(i)
- return v
-}
-
-// ToStringMapBool casts an interface to a map[string]bool type.
-func ToStringMapBool(i interface{}) map[string]bool {
- v, _ := ToStringMapBoolE(i)
- return v
-}
-
-// ToStringMapInt casts an interface to a map[string]int type.
-func ToStringMapInt(i interface{}) map[string]int {
- v, _ := ToStringMapIntE(i)
- return v
-}
-
-// ToStringMapInt64 casts an interface to a map[string]int64 type.
-func ToStringMapInt64(i interface{}) map[string]int64 {
- v, _ := ToStringMapInt64E(i)
- return v
-}
-
-// ToStringMap casts an interface to a map[string]interface{} type.
-func ToStringMap(i interface{}) map[string]interface{} {
- v, _ := ToStringMapE(i)
- return v
-}
-
-// ToSlice casts an interface to a []interface{} type.
-func ToSlice(i interface{}) []interface{} {
- v, _ := ToSliceE(i)
- return v
-}
-
-// ToBoolSlice casts an interface to a []bool type.
-func ToBoolSlice(i interface{}) []bool {
- v, _ := ToBoolSliceE(i)
- return v
-}
-
-// ToStringSlice casts an interface to a []string type.
-func ToStringSlice(i interface{}) []string {
- v, _ := ToStringSliceE(i)
- return v
-}
+const errorMsg = "unable to cast %#v of type %T to %T"
+const errorMsgWith = "unable to cast %#v of type %T to %T: %w"
-// ToIntSlice casts an interface to a []int type.
-func ToIntSlice(i interface{}) []int {
- v, _ := ToIntSliceE(i)
- return v
-}
+// Basic is a type parameter constraint for functions accepting basic types.
+//
+// It represents the supported basic types this package can cast to.
+type Basic interface {
+ string | bool | Number | time.Time | time.Duration
+}
+
+// ToE casts any value to a [Basic] type.
+func ToE[T Basic](i any) (T, error) {
+ var t T
+
+ var v any
+ var err error
+
+ switch any(t).(type) {
+ case string:
+ v, err = ToStringE(i)
+ case bool:
+ v, err = ToBoolE(i)
+ case int:
+ v, err = toNumberE[int](i, parseInt[int])
+ case int8:
+ v, err = toNumberE[int8](i, parseInt[int8])
+ case int16:
+ v, err = toNumberE[int16](i, parseInt[int16])
+ case int32:
+ v, err = toNumberE[int32](i, parseInt[int32])
+ case int64:
+ v, err = toNumberE[int64](i, parseInt[int64])
+ case uint:
+ v, err = toUnsignedNumberE[uint](i, parseUint[uint])
+ case uint8:
+ v, err = toUnsignedNumberE[uint8](i, parseUint[uint8])
+ case uint16:
+ v, err = toUnsignedNumberE[uint16](i, parseUint[uint16])
+ case uint32:
+ v, err = toUnsignedNumberE[uint32](i, parseUint[uint32])
+ case uint64:
+ v, err = toUnsignedNumberE[uint64](i, parseUint[uint64])
+ case float32:
+ v, err = toNumberE[float32](i, parseFloat[float32])
+ case float64:
+ v, err = toNumberE[float64](i, parseFloat[float64])
+ case time.Time:
+ v, err = ToTimeE(i)
+ case time.Duration:
+ v, err = ToDurationE(i)
+ }
+
+ if err != nil {
+ return t, err
+ }
+
+ return v.(T), nil
+}
+
+// Must is a helper that wraps a call to a cast function and panics if the error is non-nil.
+func Must[T any](i any, err error) T {
+ if err != nil {
+ panic(err)
+ }
+
+ return i.(T)
+}
+
+// To casts any value to a [Basic] type.
+func To[T Basic](i any) T {
+ v, _ := ToE[T](i)
-// ToDurationSlice casts an interface to a []time.Duration type.
-func ToDurationSlice(i interface{}) []time.Duration {
- v, _ := ToDurationSliceE(i)
return v
}
diff --git a/vendor/github.com/spf13/cast/caste.go b/vendor/github.com/spf13/cast/caste.go
deleted file mode 100644
index 4181a2e75860f..0000000000000
--- a/vendor/github.com/spf13/cast/caste.go
+++ /dev/null
@@ -1,1510 +0,0 @@
-// Copyright © 2014 Steve Francia .
-//
-// Use of this source code is governed by an MIT-style
-// license that can be found in the LICENSE file.
-
-package cast
-
-import (
- "encoding/json"
- "errors"
- "fmt"
- "html/template"
- "reflect"
- "strconv"
- "strings"
- "time"
-)
-
-var errNegativeNotAllowed = errors.New("unable to cast negative value")
-
-type float64EProvider interface {
- Float64() (float64, error)
-}
-
-type float64Provider interface {
- Float64() float64
-}
-
-// ToTimeE casts an interface to a time.Time type.
-func ToTimeE(i interface{}) (tim time.Time, err error) {
- return ToTimeInDefaultLocationE(i, time.UTC)
-}
-
-// ToTimeInDefaultLocationE casts an empty interface to time.Time,
-// interpreting inputs without a timezone to be in the given location,
-// or the local timezone if nil.
-func ToTimeInDefaultLocationE(i interface{}, location *time.Location) (tim time.Time, err error) {
- i = indirect(i)
-
- switch v := i.(type) {
- case time.Time:
- return v, nil
- case string:
- return StringToDateInDefaultLocation(v, location)
- case json.Number:
- s, err1 := ToInt64E(v)
- if err1 != nil {
- return time.Time{}, fmt.Errorf("unable to cast %#v of type %T to Time", i, i)
- }
- return time.Unix(s, 0), nil
- case int:
- return time.Unix(int64(v), 0), nil
- case int64:
- return time.Unix(v, 0), nil
- case int32:
- return time.Unix(int64(v), 0), nil
- case uint:
- return time.Unix(int64(v), 0), nil
- case uint64:
- return time.Unix(int64(v), 0), nil
- case uint32:
- return time.Unix(int64(v), 0), nil
- default:
- return time.Time{}, fmt.Errorf("unable to cast %#v of type %T to Time", i, i)
- }
-}
-
-// ToDurationE casts an interface to a time.Duration type.
-func ToDurationE(i interface{}) (d time.Duration, err error) {
- i = indirect(i)
-
- switch s := i.(type) {
- case time.Duration:
- return s, nil
- case int, int64, int32, int16, int8, uint, uint64, uint32, uint16, uint8:
- d = time.Duration(ToInt64(s))
- return
- case float32, float64:
- d = time.Duration(ToFloat64(s))
- return
- case string:
- if strings.ContainsAny(s, "nsuµmh") {
- d, err = time.ParseDuration(s)
- } else {
- d, err = time.ParseDuration(s + "ns")
- }
- return
- case float64EProvider:
- var v float64
- v, err = s.Float64()
- d = time.Duration(v)
- return
- case float64Provider:
- d = time.Duration(s.Float64())
- return
- default:
- err = fmt.Errorf("unable to cast %#v of type %T to Duration", i, i)
- return
- }
-}
-
-// ToBoolE casts an interface to a bool type.
-func ToBoolE(i interface{}) (bool, error) {
- i = indirect(i)
-
- switch b := i.(type) {
- case bool:
- return b, nil
- case nil:
- return false, nil
- case int:
- return b != 0, nil
- case int64:
- return b != 0, nil
- case int32:
- return b != 0, nil
- case int16:
- return b != 0, nil
- case int8:
- return b != 0, nil
- case uint:
- return b != 0, nil
- case uint64:
- return b != 0, nil
- case uint32:
- return b != 0, nil
- case uint16:
- return b != 0, nil
- case uint8:
- return b != 0, nil
- case float64:
- return b != 0, nil
- case float32:
- return b != 0, nil
- case time.Duration:
- return b != 0, nil
- case string:
- return strconv.ParseBool(i.(string))
- case json.Number:
- v, err := ToInt64E(b)
- if err == nil {
- return v != 0, nil
- }
- return false, fmt.Errorf("unable to cast %#v of type %T to bool", i, i)
- default:
- return false, fmt.Errorf("unable to cast %#v of type %T to bool", i, i)
- }
-}
-
-// ToFloat64E casts an interface to a float64 type.
-func ToFloat64E(i interface{}) (float64, error) {
- i = indirect(i)
-
- intv, ok := toInt(i)
- if ok {
- return float64(intv), nil
- }
-
- switch s := i.(type) {
- case float64:
- return s, nil
- case float32:
- return float64(s), nil
- case int64:
- return float64(s), nil
- case int32:
- return float64(s), nil
- case int16:
- return float64(s), nil
- case int8:
- return float64(s), nil
- case uint:
- return float64(s), nil
- case uint64:
- return float64(s), nil
- case uint32:
- return float64(s), nil
- case uint16:
- return float64(s), nil
- case uint8:
- return float64(s), nil
- case string:
- v, err := strconv.ParseFloat(s, 64)
- if err == nil {
- return v, nil
- }
- return 0, fmt.Errorf("unable to cast %#v of type %T to float64", i, i)
- case float64EProvider:
- v, err := s.Float64()
- if err == nil {
- return v, nil
- }
- return 0, fmt.Errorf("unable to cast %#v of type %T to float64", i, i)
- case float64Provider:
- return s.Float64(), nil
- case bool:
- if s {
- return 1, nil
- }
- return 0, nil
- case nil:
- return 0, nil
- default:
- return 0, fmt.Errorf("unable to cast %#v of type %T to float64", i, i)
- }
-}
-
-// ToFloat32E casts an interface to a float32 type.
-func ToFloat32E(i interface{}) (float32, error) {
- i = indirect(i)
-
- intv, ok := toInt(i)
- if ok {
- return float32(intv), nil
- }
-
- switch s := i.(type) {
- case float64:
- return float32(s), nil
- case float32:
- return s, nil
- case int64:
- return float32(s), nil
- case int32:
- return float32(s), nil
- case int16:
- return float32(s), nil
- case int8:
- return float32(s), nil
- case uint:
- return float32(s), nil
- case uint64:
- return float32(s), nil
- case uint32:
- return float32(s), nil
- case uint16:
- return float32(s), nil
- case uint8:
- return float32(s), nil
- case string:
- v, err := strconv.ParseFloat(s, 32)
- if err == nil {
- return float32(v), nil
- }
- return 0, fmt.Errorf("unable to cast %#v of type %T to float32", i, i)
- case float64EProvider:
- v, err := s.Float64()
- if err == nil {
- return float32(v), nil
- }
- return 0, fmt.Errorf("unable to cast %#v of type %T to float32", i, i)
- case float64Provider:
- return float32(s.Float64()), nil
- case bool:
- if s {
- return 1, nil
- }
- return 0, nil
- case nil:
- return 0, nil
- default:
- return 0, fmt.Errorf("unable to cast %#v of type %T to float32", i, i)
- }
-}
-
-// ToInt64E casts an interface to an int64 type.
-func ToInt64E(i interface{}) (int64, error) {
- i = indirect(i)
-
- intv, ok := toInt(i)
- if ok {
- return int64(intv), nil
- }
-
- switch s := i.(type) {
- case int64:
- return s, nil
- case int32:
- return int64(s), nil
- case int16:
- return int64(s), nil
- case int8:
- return int64(s), nil
- case uint:
- return int64(s), nil
- case uint64:
- return int64(s), nil
- case uint32:
- return int64(s), nil
- case uint16:
- return int64(s), nil
- case uint8:
- return int64(s), nil
- case float64:
- return int64(s), nil
- case float32:
- return int64(s), nil
- case string:
- v, err := strconv.ParseInt(trimZeroDecimal(s), 0, 0)
- if err == nil {
- return v, nil
- }
- return 0, fmt.Errorf("unable to cast %#v of type %T to int64", i, i)
- case json.Number:
- return ToInt64E(string(s))
- case bool:
- if s {
- return 1, nil
- }
- return 0, nil
- case nil:
- return 0, nil
- default:
- return 0, fmt.Errorf("unable to cast %#v of type %T to int64", i, i)
- }
-}
-
-// ToInt32E casts an interface to an int32 type.
-func ToInt32E(i interface{}) (int32, error) {
- i = indirect(i)
-
- intv, ok := toInt(i)
- if ok {
- return int32(intv), nil
- }
-
- switch s := i.(type) {
- case int64:
- return int32(s), nil
- case int32:
- return s, nil
- case int16:
- return int32(s), nil
- case int8:
- return int32(s), nil
- case uint:
- return int32(s), nil
- case uint64:
- return int32(s), nil
- case uint32:
- return int32(s), nil
- case uint16:
- return int32(s), nil
- case uint8:
- return int32(s), nil
- case float64:
- return int32(s), nil
- case float32:
- return int32(s), nil
- case string:
- v, err := strconv.ParseInt(trimZeroDecimal(s), 0, 0)
- if err == nil {
- return int32(v), nil
- }
- return 0, fmt.Errorf("unable to cast %#v of type %T to int32", i, i)
- case json.Number:
- return ToInt32E(string(s))
- case bool:
- if s {
- return 1, nil
- }
- return 0, nil
- case nil:
- return 0, nil
- default:
- return 0, fmt.Errorf("unable to cast %#v of type %T to int32", i, i)
- }
-}
-
-// ToInt16E casts an interface to an int16 type.
-func ToInt16E(i interface{}) (int16, error) {
- i = indirect(i)
-
- intv, ok := toInt(i)
- if ok {
- return int16(intv), nil
- }
-
- switch s := i.(type) {
- case int64:
- return int16(s), nil
- case int32:
- return int16(s), nil
- case int16:
- return s, nil
- case int8:
- return int16(s), nil
- case uint:
- return int16(s), nil
- case uint64:
- return int16(s), nil
- case uint32:
- return int16(s), nil
- case uint16:
- return int16(s), nil
- case uint8:
- return int16(s), nil
- case float64:
- return int16(s), nil
- case float32:
- return int16(s), nil
- case string:
- v, err := strconv.ParseInt(trimZeroDecimal(s), 0, 0)
- if err == nil {
- return int16(v), nil
- }
- return 0, fmt.Errorf("unable to cast %#v of type %T to int16", i, i)
- case json.Number:
- return ToInt16E(string(s))
- case bool:
- if s {
- return 1, nil
- }
- return 0, nil
- case nil:
- return 0, nil
- default:
- return 0, fmt.Errorf("unable to cast %#v of type %T to int16", i, i)
- }
-}
-
-// ToInt8E casts an interface to an int8 type.
-func ToInt8E(i interface{}) (int8, error) {
- i = indirect(i)
-
- intv, ok := toInt(i)
- if ok {
- return int8(intv), nil
- }
-
- switch s := i.(type) {
- case int64:
- return int8(s), nil
- case int32:
- return int8(s), nil
- case int16:
- return int8(s), nil
- case int8:
- return s, nil
- case uint:
- return int8(s), nil
- case uint64:
- return int8(s), nil
- case uint32:
- return int8(s), nil
- case uint16:
- return int8(s), nil
- case uint8:
- return int8(s), nil
- case float64:
- return int8(s), nil
- case float32:
- return int8(s), nil
- case string:
- v, err := strconv.ParseInt(trimZeroDecimal(s), 0, 0)
- if err == nil {
- return int8(v), nil
- }
- return 0, fmt.Errorf("unable to cast %#v of type %T to int8", i, i)
- case json.Number:
- return ToInt8E(string(s))
- case bool:
- if s {
- return 1, nil
- }
- return 0, nil
- case nil:
- return 0, nil
- default:
- return 0, fmt.Errorf("unable to cast %#v of type %T to int8", i, i)
- }
-}
-
-// ToIntE casts an interface to an int type.
-func ToIntE(i interface{}) (int, error) {
- i = indirect(i)
-
- intv, ok := toInt(i)
- if ok {
- return intv, nil
- }
-
- switch s := i.(type) {
- case int64:
- return int(s), nil
- case int32:
- return int(s), nil
- case int16:
- return int(s), nil
- case int8:
- return int(s), nil
- case uint:
- return int(s), nil
- case uint64:
- return int(s), nil
- case uint32:
- return int(s), nil
- case uint16:
- return int(s), nil
- case uint8:
- return int(s), nil
- case float64:
- return int(s), nil
- case float32:
- return int(s), nil
- case string:
- v, err := strconv.ParseInt(trimZeroDecimal(s), 0, 0)
- if err == nil {
- return int(v), nil
- }
- return 0, fmt.Errorf("unable to cast %#v of type %T to int64", i, i)
- case json.Number:
- return ToIntE(string(s))
- case bool:
- if s {
- return 1, nil
- }
- return 0, nil
- case nil:
- return 0, nil
- default:
- return 0, fmt.Errorf("unable to cast %#v of type %T to int", i, i)
- }
-}
-
-// ToUintE casts an interface to a uint type.
-func ToUintE(i interface{}) (uint, error) {
- i = indirect(i)
-
- intv, ok := toInt(i)
- if ok {
- if intv < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint(intv), nil
- }
-
- switch s := i.(type) {
- case string:
- v, err := strconv.ParseInt(trimZeroDecimal(s), 0, 0)
- if err == nil {
- if v < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint(v), nil
- }
- return 0, fmt.Errorf("unable to cast %#v of type %T to uint", i, i)
- case json.Number:
- return ToUintE(string(s))
- case int64:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint(s), nil
- case int32:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint(s), nil
- case int16:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint(s), nil
- case int8:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint(s), nil
- case uint:
- return s, nil
- case uint64:
- return uint(s), nil
- case uint32:
- return uint(s), nil
- case uint16:
- return uint(s), nil
- case uint8:
- return uint(s), nil
- case float64:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint(s), nil
- case float32:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint(s), nil
- case bool:
- if s {
- return 1, nil
- }
- return 0, nil
- case nil:
- return 0, nil
- default:
- return 0, fmt.Errorf("unable to cast %#v of type %T to uint", i, i)
- }
-}
-
-// ToUint64E casts an interface to a uint64 type.
-func ToUint64E(i interface{}) (uint64, error) {
- i = indirect(i)
-
- intv, ok := toInt(i)
- if ok {
- if intv < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint64(intv), nil
- }
-
- switch s := i.(type) {
- case string:
- v, err := strconv.ParseUint(trimZeroDecimal(s), 0, 0)
- if err == nil {
- if v < 0 {
- return 0, errNegativeNotAllowed
- }
- return v, nil
- }
- return 0, fmt.Errorf("unable to cast %#v of type %T to uint64", i, i)
- case json.Number:
- return ToUint64E(string(s))
- case int64:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint64(s), nil
- case int32:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint64(s), nil
- case int16:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint64(s), nil
- case int8:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint64(s), nil
- case uint:
- return uint64(s), nil
- case uint64:
- return s, nil
- case uint32:
- return uint64(s), nil
- case uint16:
- return uint64(s), nil
- case uint8:
- return uint64(s), nil
- case float32:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint64(s), nil
- case float64:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint64(s), nil
- case bool:
- if s {
- return 1, nil
- }
- return 0, nil
- case nil:
- return 0, nil
- default:
- return 0, fmt.Errorf("unable to cast %#v of type %T to uint64", i, i)
- }
-}
-
-// ToUint32E casts an interface to a uint32 type.
-func ToUint32E(i interface{}) (uint32, error) {
- i = indirect(i)
-
- intv, ok := toInt(i)
- if ok {
- if intv < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint32(intv), nil
- }
-
- switch s := i.(type) {
- case string:
- v, err := strconv.ParseInt(trimZeroDecimal(s), 0, 0)
- if err == nil {
- if v < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint32(v), nil
- }
- return 0, fmt.Errorf("unable to cast %#v of type %T to uint32", i, i)
- case json.Number:
- return ToUint32E(string(s))
- case int64:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint32(s), nil
- case int32:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint32(s), nil
- case int16:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint32(s), nil
- case int8:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint32(s), nil
- case uint:
- return uint32(s), nil
- case uint64:
- return uint32(s), nil
- case uint32:
- return s, nil
- case uint16:
- return uint32(s), nil
- case uint8:
- return uint32(s), nil
- case float64:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint32(s), nil
- case float32:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint32(s), nil
- case bool:
- if s {
- return 1, nil
- }
- return 0, nil
- case nil:
- return 0, nil
- default:
- return 0, fmt.Errorf("unable to cast %#v of type %T to uint32", i, i)
- }
-}
-
-// ToUint16E casts an interface to a uint16 type.
-func ToUint16E(i interface{}) (uint16, error) {
- i = indirect(i)
-
- intv, ok := toInt(i)
- if ok {
- if intv < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint16(intv), nil
- }
-
- switch s := i.(type) {
- case string:
- v, err := strconv.ParseInt(trimZeroDecimal(s), 0, 0)
- if err == nil {
- if v < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint16(v), nil
- }
- return 0, fmt.Errorf("unable to cast %#v of type %T to uint16", i, i)
- case json.Number:
- return ToUint16E(string(s))
- case int64:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint16(s), nil
- case int32:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint16(s), nil
- case int16:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint16(s), nil
- case int8:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint16(s), nil
- case uint:
- return uint16(s), nil
- case uint64:
- return uint16(s), nil
- case uint32:
- return uint16(s), nil
- case uint16:
- return s, nil
- case uint8:
- return uint16(s), nil
- case float64:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint16(s), nil
- case float32:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint16(s), nil
- case bool:
- if s {
- return 1, nil
- }
- return 0, nil
- case nil:
- return 0, nil
- default:
- return 0, fmt.Errorf("unable to cast %#v of type %T to uint16", i, i)
- }
-}
-
-// ToUint8E casts an interface to a uint type.
-func ToUint8E(i interface{}) (uint8, error) {
- i = indirect(i)
-
- intv, ok := toInt(i)
- if ok {
- if intv < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint8(intv), nil
- }
-
- switch s := i.(type) {
- case string:
- v, err := strconv.ParseInt(trimZeroDecimal(s), 0, 0)
- if err == nil {
- if v < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint8(v), nil
- }
- return 0, fmt.Errorf("unable to cast %#v of type %T to uint8", i, i)
- case json.Number:
- return ToUint8E(string(s))
- case int64:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint8(s), nil
- case int32:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint8(s), nil
- case int16:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint8(s), nil
- case int8:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint8(s), nil
- case uint:
- return uint8(s), nil
- case uint64:
- return uint8(s), nil
- case uint32:
- return uint8(s), nil
- case uint16:
- return uint8(s), nil
- case uint8:
- return s, nil
- case float64:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint8(s), nil
- case float32:
- if s < 0 {
- return 0, errNegativeNotAllowed
- }
- return uint8(s), nil
- case bool:
- if s {
- return 1, nil
- }
- return 0, nil
- case nil:
- return 0, nil
- default:
- return 0, fmt.Errorf("unable to cast %#v of type %T to uint8", i, i)
- }
-}
-
-// From html/template/content.go
-// Copyright 2011 The Go Authors. All rights reserved.
-// indirect returns the value, after dereferencing as many times
-// as necessary to reach the base type (or nil).
-func indirect(a interface{}) interface{} {
- if a == nil {
- return nil
- }
- if t := reflect.TypeOf(a); t.Kind() != reflect.Ptr {
- // Avoid creating a reflect.Value if it's not a pointer.
- return a
- }
- v := reflect.ValueOf(a)
- for v.Kind() == reflect.Ptr && !v.IsNil() {
- v = v.Elem()
- }
- return v.Interface()
-}
-
-// From html/template/content.go
-// Copyright 2011 The Go Authors. All rights reserved.
-// indirectToStringerOrError returns the value, after dereferencing as many times
-// as necessary to reach the base type (or nil) or an implementation of fmt.Stringer
-// or error,
-func indirectToStringerOrError(a interface{}) interface{} {
- if a == nil {
- return nil
- }
-
- errorType := reflect.TypeOf((*error)(nil)).Elem()
- fmtStringerType := reflect.TypeOf((*fmt.Stringer)(nil)).Elem()
-
- v := reflect.ValueOf(a)
- for !v.Type().Implements(fmtStringerType) && !v.Type().Implements(errorType) && v.Kind() == reflect.Ptr && !v.IsNil() {
- v = v.Elem()
- }
- return v.Interface()
-}
-
-// ToStringE casts an interface to a string type.
-func ToStringE(i interface{}) (string, error) {
- i = indirectToStringerOrError(i)
-
- switch s := i.(type) {
- case string:
- return s, nil
- case bool:
- return strconv.FormatBool(s), nil
- case float64:
- return strconv.FormatFloat(s, 'f', -1, 64), nil
- case float32:
- return strconv.FormatFloat(float64(s), 'f', -1, 32), nil
- case int:
- return strconv.Itoa(s), nil
- case int64:
- return strconv.FormatInt(s, 10), nil
- case int32:
- return strconv.Itoa(int(s)), nil
- case int16:
- return strconv.FormatInt(int64(s), 10), nil
- case int8:
- return strconv.FormatInt(int64(s), 10), nil
- case uint:
- return strconv.FormatUint(uint64(s), 10), nil
- case uint64:
- return strconv.FormatUint(uint64(s), 10), nil
- case uint32:
- return strconv.FormatUint(uint64(s), 10), nil
- case uint16:
- return strconv.FormatUint(uint64(s), 10), nil
- case uint8:
- return strconv.FormatUint(uint64(s), 10), nil
- case json.Number:
- return s.String(), nil
- case []byte:
- return string(s), nil
- case template.HTML:
- return string(s), nil
- case template.URL:
- return string(s), nil
- case template.JS:
- return string(s), nil
- case template.CSS:
- return string(s), nil
- case template.HTMLAttr:
- return string(s), nil
- case nil:
- return "", nil
- case fmt.Stringer:
- return s.String(), nil
- case error:
- return s.Error(), nil
- default:
- return "", fmt.Errorf("unable to cast %#v of type %T to string", i, i)
- }
-}
-
-// ToStringMapStringE casts an interface to a map[string]string type.
-func ToStringMapStringE(i interface{}) (map[string]string, error) {
- m := map[string]string{}
-
- switch v := i.(type) {
- case map[string]string:
- return v, nil
- case map[string]interface{}:
- for k, val := range v {
- m[ToString(k)] = ToString(val)
- }
- return m, nil
- case map[interface{}]string:
- for k, val := range v {
- m[ToString(k)] = ToString(val)
- }
- return m, nil
- case map[interface{}]interface{}:
- for k, val := range v {
- m[ToString(k)] = ToString(val)
- }
- return m, nil
- case string:
- err := jsonStringToObject(v, &m)
- return m, err
- default:
- return m, fmt.Errorf("unable to cast %#v of type %T to map[string]string", i, i)
- }
-}
-
-// ToStringMapStringSliceE casts an interface to a map[string][]string type.
-func ToStringMapStringSliceE(i interface{}) (map[string][]string, error) {
- m := map[string][]string{}
-
- switch v := i.(type) {
- case map[string][]string:
- return v, nil
- case map[string][]interface{}:
- for k, val := range v {
- m[ToString(k)] = ToStringSlice(val)
- }
- return m, nil
- case map[string]string:
- for k, val := range v {
- m[ToString(k)] = []string{val}
- }
- case map[string]interface{}:
- for k, val := range v {
- switch vt := val.(type) {
- case []interface{}:
- m[ToString(k)] = ToStringSlice(vt)
- case []string:
- m[ToString(k)] = vt
- default:
- m[ToString(k)] = []string{ToString(val)}
- }
- }
- return m, nil
- case map[interface{}][]string:
- for k, val := range v {
- m[ToString(k)] = ToStringSlice(val)
- }
- return m, nil
- case map[interface{}]string:
- for k, val := range v {
- m[ToString(k)] = ToStringSlice(val)
- }
- return m, nil
- case map[interface{}][]interface{}:
- for k, val := range v {
- m[ToString(k)] = ToStringSlice(val)
- }
- return m, nil
- case map[interface{}]interface{}:
- for k, val := range v {
- key, err := ToStringE(k)
- if err != nil {
- return m, fmt.Errorf("unable to cast %#v of type %T to map[string][]string", i, i)
- }
- value, err := ToStringSliceE(val)
- if err != nil {
- return m, fmt.Errorf("unable to cast %#v of type %T to map[string][]string", i, i)
- }
- m[key] = value
- }
- case string:
- err := jsonStringToObject(v, &m)
- return m, err
- default:
- return m, fmt.Errorf("unable to cast %#v of type %T to map[string][]string", i, i)
- }
- return m, nil
-}
-
-// ToStringMapBoolE casts an interface to a map[string]bool type.
-func ToStringMapBoolE(i interface{}) (map[string]bool, error) {
- m := map[string]bool{}
-
- switch v := i.(type) {
- case map[interface{}]interface{}:
- for k, val := range v {
- m[ToString(k)] = ToBool(val)
- }
- return m, nil
- case map[string]interface{}:
- for k, val := range v {
- m[ToString(k)] = ToBool(val)
- }
- return m, nil
- case map[string]bool:
- return v, nil
- case string:
- err := jsonStringToObject(v, &m)
- return m, err
- default:
- return m, fmt.Errorf("unable to cast %#v of type %T to map[string]bool", i, i)
- }
-}
-
-// ToStringMapE casts an interface to a map[string]interface{} type.
-func ToStringMapE(i interface{}) (map[string]interface{}, error) {
- m := map[string]interface{}{}
-
- switch v := i.(type) {
- case map[interface{}]interface{}:
- for k, val := range v {
- m[ToString(k)] = val
- }
- return m, nil
- case map[string]interface{}:
- return v, nil
- case string:
- err := jsonStringToObject(v, &m)
- return m, err
- default:
- return m, fmt.Errorf("unable to cast %#v of type %T to map[string]interface{}", i, i)
- }
-}
-
-// ToStringMapIntE casts an interface to a map[string]int{} type.
-func ToStringMapIntE(i interface{}) (map[string]int, error) {
- m := map[string]int{}
- if i == nil {
- return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int", i, i)
- }
-
- switch v := i.(type) {
- case map[interface{}]interface{}:
- for k, val := range v {
- m[ToString(k)] = ToInt(val)
- }
- return m, nil
- case map[string]interface{}:
- for k, val := range v {
- m[k] = ToInt(val)
- }
- return m, nil
- case map[string]int:
- return v, nil
- case string:
- err := jsonStringToObject(v, &m)
- return m, err
- }
-
- if reflect.TypeOf(i).Kind() != reflect.Map {
- return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int", i, i)
- }
-
- mVal := reflect.ValueOf(m)
- v := reflect.ValueOf(i)
- for _, keyVal := range v.MapKeys() {
- val, err := ToIntE(v.MapIndex(keyVal).Interface())
- if err != nil {
- return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int", i, i)
- }
- mVal.SetMapIndex(keyVal, reflect.ValueOf(val))
- }
- return m, nil
-}
-
-// ToStringMapInt64E casts an interface to a map[string]int64{} type.
-func ToStringMapInt64E(i interface{}) (map[string]int64, error) {
- m := map[string]int64{}
- if i == nil {
- return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int64", i, i)
- }
-
- switch v := i.(type) {
- case map[interface{}]interface{}:
- for k, val := range v {
- m[ToString(k)] = ToInt64(val)
- }
- return m, nil
- case map[string]interface{}:
- for k, val := range v {
- m[k] = ToInt64(val)
- }
- return m, nil
- case map[string]int64:
- return v, nil
- case string:
- err := jsonStringToObject(v, &m)
- return m, err
- }
-
- if reflect.TypeOf(i).Kind() != reflect.Map {
- return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int64", i, i)
- }
- mVal := reflect.ValueOf(m)
- v := reflect.ValueOf(i)
- for _, keyVal := range v.MapKeys() {
- val, err := ToInt64E(v.MapIndex(keyVal).Interface())
- if err != nil {
- return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int64", i, i)
- }
- mVal.SetMapIndex(keyVal, reflect.ValueOf(val))
- }
- return m, nil
-}
-
-// ToSliceE casts an interface to a []interface{} type.
-func ToSliceE(i interface{}) ([]interface{}, error) {
- var s []interface{}
-
- switch v := i.(type) {
- case []interface{}:
- return append(s, v...), nil
- case []map[string]interface{}:
- for _, u := range v {
- s = append(s, u)
- }
- return s, nil
- default:
- return s, fmt.Errorf("unable to cast %#v of type %T to []interface{}", i, i)
- }
-}
-
-// ToBoolSliceE casts an interface to a []bool type.
-func ToBoolSliceE(i interface{}) ([]bool, error) {
- if i == nil {
- return []bool{}, fmt.Errorf("unable to cast %#v of type %T to []bool", i, i)
- }
-
- switch v := i.(type) {
- case []bool:
- return v, nil
- }
-
- kind := reflect.TypeOf(i).Kind()
- switch kind {
- case reflect.Slice, reflect.Array:
- s := reflect.ValueOf(i)
- a := make([]bool, s.Len())
- for j := 0; j < s.Len(); j++ {
- val, err := ToBoolE(s.Index(j).Interface())
- if err != nil {
- return []bool{}, fmt.Errorf("unable to cast %#v of type %T to []bool", i, i)
- }
- a[j] = val
- }
- return a, nil
- default:
- return []bool{}, fmt.Errorf("unable to cast %#v of type %T to []bool", i, i)
- }
-}
-
-// ToStringSliceE casts an interface to a []string type.
-func ToStringSliceE(i interface{}) ([]string, error) {
- var a []string
-
- switch v := i.(type) {
- case []interface{}:
- for _, u := range v {
- a = append(a, ToString(u))
- }
- return a, nil
- case []string:
- return v, nil
- case []int8:
- for _, u := range v {
- a = append(a, ToString(u))
- }
- return a, nil
- case []int:
- for _, u := range v {
- a = append(a, ToString(u))
- }
- return a, nil
- case []int32:
- for _, u := range v {
- a = append(a, ToString(u))
- }
- return a, nil
- case []int64:
- for _, u := range v {
- a = append(a, ToString(u))
- }
- return a, nil
- case []float32:
- for _, u := range v {
- a = append(a, ToString(u))
- }
- return a, nil
- case []float64:
- for _, u := range v {
- a = append(a, ToString(u))
- }
- return a, nil
- case string:
- return strings.Fields(v), nil
- case []error:
- for _, err := range i.([]error) {
- a = append(a, err.Error())
- }
- return a, nil
- case interface{}:
- str, err := ToStringE(v)
- if err != nil {
- return a, fmt.Errorf("unable to cast %#v of type %T to []string", i, i)
- }
- return []string{str}, nil
- default:
- return a, fmt.Errorf("unable to cast %#v of type %T to []string", i, i)
- }
-}
-
-// ToIntSliceE casts an interface to a []int type.
-func ToIntSliceE(i interface{}) ([]int, error) {
- if i == nil {
- return []int{}, fmt.Errorf("unable to cast %#v of type %T to []int", i, i)
- }
-
- switch v := i.(type) {
- case []int:
- return v, nil
- }
-
- kind := reflect.TypeOf(i).Kind()
- switch kind {
- case reflect.Slice, reflect.Array:
- s := reflect.ValueOf(i)
- a := make([]int, s.Len())
- for j := 0; j < s.Len(); j++ {
- val, err := ToIntE(s.Index(j).Interface())
- if err != nil {
- return []int{}, fmt.Errorf("unable to cast %#v of type %T to []int", i, i)
- }
- a[j] = val
- }
- return a, nil
- default:
- return []int{}, fmt.Errorf("unable to cast %#v of type %T to []int", i, i)
- }
-}
-
-// ToDurationSliceE casts an interface to a []time.Duration type.
-func ToDurationSliceE(i interface{}) ([]time.Duration, error) {
- if i == nil {
- return []time.Duration{}, fmt.Errorf("unable to cast %#v of type %T to []time.Duration", i, i)
- }
-
- switch v := i.(type) {
- case []time.Duration:
- return v, nil
- }
-
- kind := reflect.TypeOf(i).Kind()
- switch kind {
- case reflect.Slice, reflect.Array:
- s := reflect.ValueOf(i)
- a := make([]time.Duration, s.Len())
- for j := 0; j < s.Len(); j++ {
- val, err := ToDurationE(s.Index(j).Interface())
- if err != nil {
- return []time.Duration{}, fmt.Errorf("unable to cast %#v of type %T to []time.Duration", i, i)
- }
- a[j] = val
- }
- return a, nil
- default:
- return []time.Duration{}, fmt.Errorf("unable to cast %#v of type %T to []time.Duration", i, i)
- }
-}
-
-// StringToDate attempts to parse a string into a time.Time type using a
-// predefined list of formats. If no suitable format is found, an error is
-// returned.
-func StringToDate(s string) (time.Time, error) {
- return parseDateWith(s, time.UTC, timeFormats)
-}
-
-// StringToDateInDefaultLocation casts an empty interface to a time.Time,
-// interpreting inputs without a timezone to be in the given location,
-// or the local timezone if nil.
-func StringToDateInDefaultLocation(s string, location *time.Location) (time.Time, error) {
- return parseDateWith(s, location, timeFormats)
-}
-
-type timeFormatType int
-
-const (
- timeFormatNoTimezone timeFormatType = iota
- timeFormatNamedTimezone
- timeFormatNumericTimezone
- timeFormatNumericAndNamedTimezone
- timeFormatTimeOnly
-)
-
-type timeFormat struct {
- format string
- typ timeFormatType
-}
-
-func (f timeFormat) hasTimezone() bool {
- // We don't include the formats with only named timezones, see
- // https://github.com/golang/go/issues/19694#issuecomment-289103522
- return f.typ >= timeFormatNumericTimezone && f.typ <= timeFormatNumericAndNamedTimezone
-}
-
-var timeFormats = []timeFormat{
- // Keep common formats at the top.
- {"2006-01-02", timeFormatNoTimezone},
- {time.RFC3339, timeFormatNumericTimezone},
- {"2006-01-02T15:04:05", timeFormatNoTimezone}, // iso8601 without timezone
- {time.RFC1123Z, timeFormatNumericTimezone},
- {time.RFC1123, timeFormatNamedTimezone},
- {time.RFC822Z, timeFormatNumericTimezone},
- {time.RFC822, timeFormatNamedTimezone},
- {time.RFC850, timeFormatNamedTimezone},
- {"2006-01-02 15:04:05.999999999 -0700 MST", timeFormatNumericAndNamedTimezone}, // Time.String()
- {"2006-01-02T15:04:05-0700", timeFormatNumericTimezone}, // RFC3339 without timezone hh:mm colon
- {"2006-01-02 15:04:05Z0700", timeFormatNumericTimezone}, // RFC3339 without T or timezone hh:mm colon
- {"2006-01-02 15:04:05", timeFormatNoTimezone},
- {time.ANSIC, timeFormatNoTimezone},
- {time.UnixDate, timeFormatNamedTimezone},
- {time.RubyDate, timeFormatNumericTimezone},
- {"2006-01-02 15:04:05Z07:00", timeFormatNumericTimezone},
- {"02 Jan 2006", timeFormatNoTimezone},
- {"2006-01-02 15:04:05 -07:00", timeFormatNumericTimezone},
- {"2006-01-02 15:04:05 -0700", timeFormatNumericTimezone},
- {time.Kitchen, timeFormatTimeOnly},
- {time.Stamp, timeFormatTimeOnly},
- {time.StampMilli, timeFormatTimeOnly},
- {time.StampMicro, timeFormatTimeOnly},
- {time.StampNano, timeFormatTimeOnly},
-}
-
-func parseDateWith(s string, location *time.Location, formats []timeFormat) (d time.Time, e error) {
- for _, format := range formats {
- if d, e = time.Parse(format.format, s); e == nil {
-
- // Some time formats have a zone name, but no offset, so it gets
- // put in that zone name (not the default one passed in to us), but
- // without that zone's offset. So set the location manually.
- if format.typ <= timeFormatNamedTimezone {
- if location == nil {
- location = time.Local
- }
- year, month, day := d.Date()
- hour, min, sec := d.Clock()
- d = time.Date(year, month, day, hour, min, sec, d.Nanosecond(), location)
- }
-
- return
- }
- }
- return d, fmt.Errorf("unable to parse date: %s", s)
-}
-
-// jsonStringToObject attempts to unmarshall a string as JSON into
-// the object passed as pointer.
-func jsonStringToObject(s string, v interface{}) error {
- data := []byte(s)
- return json.Unmarshal(data, v)
-}
-
-// toInt returns the int value of v if v or v's underlying type
-// is an int.
-// Note that this will return false for int64 etc. types.
-func toInt(v interface{}) (int, bool) {
- switch v := v.(type) {
- case int:
- return v, true
- case time.Weekday:
- return int(v), true
- case time.Month:
- return int(v), true
- default:
- return 0, false
- }
-}
-
-func trimZeroDecimal(s string) string {
- var foundZero bool
- for i := len(s); i > 0; i-- {
- switch s[i-1] {
- case '.':
- if foundZero {
- return s[:i-1]
- }
- case '0':
- foundZero = true
- default:
- return s
- }
- }
- return s
-}
diff --git a/vendor/github.com/spf13/cast/indirect.go b/vendor/github.com/spf13/cast/indirect.go
new file mode 100644
index 0000000000000..093345f737039
--- /dev/null
+++ b/vendor/github.com/spf13/cast/indirect.go
@@ -0,0 +1,37 @@
+// Copyright © 2014 Steve Francia .
+//
+// Use of this source code is governed by an MIT-style
+// license that can be found in the LICENSE file.
+
+package cast
+
+import (
+ "reflect"
+)
+
+// From html/template/content.go
+// Copyright 2011 The Go Authors. All rights reserved.
+// indirect returns the value, after dereferencing as many times
+// as necessary to reach the base type (or nil).
+func indirect(i any) (any, bool) {
+ if i == nil {
+ return nil, false
+ }
+
+ if t := reflect.TypeOf(i); t.Kind() != reflect.Ptr {
+ // Avoid creating a reflect.Value if it's not a pointer.
+ return i, false
+ }
+
+ v := reflect.ValueOf(i)
+
+ for v.Kind() == reflect.Ptr || (v.Kind() == reflect.Interface && v.Elem().Kind() == reflect.Ptr) {
+ if v.IsNil() {
+ return nil, true
+ }
+
+ v = v.Elem()
+ }
+
+ return v.Interface(), true
+}
diff --git a/vendor/github.com/spf13/cast/internal/time.go b/vendor/github.com/spf13/cast/internal/time.go
new file mode 100644
index 0000000000000..906e9aece34c8
--- /dev/null
+++ b/vendor/github.com/spf13/cast/internal/time.go
@@ -0,0 +1,79 @@
+package internal
+
+import (
+ "fmt"
+ "time"
+)
+
+//go:generate stringer -type=TimeFormatType
+
+type TimeFormatType int
+
+const (
+ TimeFormatNoTimezone TimeFormatType = iota
+ TimeFormatNamedTimezone
+ TimeFormatNumericTimezone
+ TimeFormatNumericAndNamedTimezone
+ TimeFormatTimeOnly
+)
+
+type TimeFormat struct {
+ Format string
+ Typ TimeFormatType
+}
+
+func (f TimeFormat) HasTimezone() bool {
+ // We don't include the formats with only named timezones, see
+ // https://github.com/golang/go/issues/19694#issuecomment-289103522
+ return f.Typ >= TimeFormatNumericTimezone && f.Typ <= TimeFormatNumericAndNamedTimezone
+}
+
+var TimeFormats = []TimeFormat{
+ // Keep common formats at the top.
+ {"2006-01-02", TimeFormatNoTimezone},
+ {time.RFC3339, TimeFormatNumericTimezone},
+ {"2006-01-02T15:04:05", TimeFormatNoTimezone}, // iso8601 without timezone
+ {time.RFC1123Z, TimeFormatNumericTimezone},
+ {time.RFC1123, TimeFormatNamedTimezone},
+ {time.RFC822Z, TimeFormatNumericTimezone},
+ {time.RFC822, TimeFormatNamedTimezone},
+ {time.RFC850, TimeFormatNamedTimezone},
+ {"2006-01-02 15:04:05.999999999 -0700 MST", TimeFormatNumericAndNamedTimezone}, // Time.String()
+ {"2006-01-02T15:04:05-0700", TimeFormatNumericTimezone}, // RFC3339 without timezone hh:mm colon
+ {"2006-01-02 15:04:05Z0700", TimeFormatNumericTimezone}, // RFC3339 without T or timezone hh:mm colon
+ {"2006-01-02 15:04:05", TimeFormatNoTimezone},
+ {time.ANSIC, TimeFormatNoTimezone},
+ {time.UnixDate, TimeFormatNamedTimezone},
+ {time.RubyDate, TimeFormatNumericTimezone},
+ {"2006-01-02 15:04:05Z07:00", TimeFormatNumericTimezone},
+ {"02 Jan 2006", TimeFormatNoTimezone},
+ {"2006-01-02 15:04:05 -07:00", TimeFormatNumericTimezone},
+ {"2006-01-02 15:04:05 -0700", TimeFormatNumericTimezone},
+ {time.Kitchen, TimeFormatTimeOnly},
+ {time.Stamp, TimeFormatTimeOnly},
+ {time.StampMilli, TimeFormatTimeOnly},
+ {time.StampMicro, TimeFormatTimeOnly},
+ {time.StampNano, TimeFormatTimeOnly},
+}
+
+func ParseDateWith(s string, location *time.Location, formats []TimeFormat) (d time.Time, e error) {
+ for _, format := range formats {
+ if d, e = time.Parse(format.Format, s); e == nil {
+
+ // Some time formats have a zone name, but no offset, so it gets
+ // put in that zone name (not the default one passed in to us), but
+ // without that zone's offset. So set the location manually.
+ if format.Typ <= TimeFormatNamedTimezone {
+ if location == nil {
+ location = time.Local
+ }
+ year, month, day := d.Date()
+ hour, min, sec := d.Clock()
+ d = time.Date(year, month, day, hour, min, sec, d.Nanosecond(), location)
+ }
+
+ return
+ }
+ }
+ return d, fmt.Errorf("unable to parse date: %s", s)
+}
diff --git a/vendor/github.com/spf13/cast/internal/timeformattype_string.go b/vendor/github.com/spf13/cast/internal/timeformattype_string.go
new file mode 100644
index 0000000000000..60a29a862bd09
--- /dev/null
+++ b/vendor/github.com/spf13/cast/internal/timeformattype_string.go
@@ -0,0 +1,27 @@
+// Code generated by "stringer -type=TimeFormatType"; DO NOT EDIT.
+
+package internal
+
+import "strconv"
+
+func _() {
+ // An "invalid array index" compiler error signifies that the constant values have changed.
+ // Re-run the stringer command to generate them again.
+ var x [1]struct{}
+ _ = x[TimeFormatNoTimezone-0]
+ _ = x[TimeFormatNamedTimezone-1]
+ _ = x[TimeFormatNumericTimezone-2]
+ _ = x[TimeFormatNumericAndNamedTimezone-3]
+ _ = x[TimeFormatTimeOnly-4]
+}
+
+const _TimeFormatType_name = "TimeFormatNoTimezoneTimeFormatNamedTimezoneTimeFormatNumericTimezoneTimeFormatNumericAndNamedTimezoneTimeFormatTimeOnly"
+
+var _TimeFormatType_index = [...]uint8{0, 20, 43, 68, 101, 119}
+
+func (i TimeFormatType) String() string {
+ if i < 0 || i >= TimeFormatType(len(_TimeFormatType_index)-1) {
+ return "TimeFormatType(" + strconv.FormatInt(int64(i), 10) + ")"
+ }
+ return _TimeFormatType_name[_TimeFormatType_index[i]:_TimeFormatType_index[i+1]]
+}
diff --git a/vendor/github.com/spf13/cast/map.go b/vendor/github.com/spf13/cast/map.go
new file mode 100644
index 0000000000000..858d4ee43b878
--- /dev/null
+++ b/vendor/github.com/spf13/cast/map.go
@@ -0,0 +1,212 @@
+// Copyright © 2014 Steve Francia .
+//
+// Use of this source code is governed by an MIT-style
+// license that can be found in the LICENSE file.
+
+package cast
+
+import (
+ "encoding/json"
+ "fmt"
+ "reflect"
+)
+
+func toMapE[K comparable, V any](i any, keyFn func(any) K, valFn func(any) V) (map[K]V, error) {
+ m := map[K]V{}
+
+ if i == nil {
+ return m, fmt.Errorf(errorMsg, i, i, m)
+ }
+
+ switch v := i.(type) {
+ case map[K]V:
+ return v, nil
+
+ case map[K]any:
+ for k, val := range v {
+ m[k] = valFn(val)
+ }
+
+ return m, nil
+
+ case map[any]V:
+ for k, val := range v {
+ m[keyFn(k)] = val
+ }
+
+ return m, nil
+
+ case map[any]any:
+ for k, val := range v {
+ m[keyFn(k)] = valFn(val)
+ }
+
+ return m, nil
+
+ case string:
+ err := jsonStringToObject(v, &m)
+ return m, err
+
+ default:
+ return m, fmt.Errorf(errorMsg, i, i, m)
+ }
+}
+
+func toStringMapE[T any](i any, fn func(any) T) (map[string]T, error) {
+ return toMapE(i, ToString, fn)
+}
+
+// ToStringMapStringE casts any value to a map[string]string type.
+func ToStringMapStringE(i any) (map[string]string, error) {
+ return toStringMapE(i, ToString)
+}
+
+// ToStringMapStringSliceE casts any value to a map[string][]string type.
+func ToStringMapStringSliceE(i any) (map[string][]string, error) {
+ m := map[string][]string{}
+
+ switch v := i.(type) {
+ case map[string][]string:
+ return v, nil
+ case map[string][]any:
+ for k, val := range v {
+ m[ToString(k)] = ToStringSlice(val)
+ }
+ return m, nil
+ case map[string]string:
+ for k, val := range v {
+ m[ToString(k)] = []string{val}
+ }
+ case map[string]any:
+ for k, val := range v {
+ switch vt := val.(type) {
+ case []any:
+ m[ToString(k)] = ToStringSlice(vt)
+ case []string:
+ m[ToString(k)] = vt
+ default:
+ m[ToString(k)] = []string{ToString(val)}
+ }
+ }
+ return m, nil
+ case map[any][]string:
+ for k, val := range v {
+ m[ToString(k)] = ToStringSlice(val)
+ }
+ return m, nil
+ case map[any]string:
+ for k, val := range v {
+ m[ToString(k)] = ToStringSlice(val)
+ }
+ return m, nil
+ case map[any][]any:
+ for k, val := range v {
+ m[ToString(k)] = ToStringSlice(val)
+ }
+ return m, nil
+ case map[any]any:
+ for k, val := range v {
+ key, err := ToStringE(k)
+ if err != nil {
+ return m, fmt.Errorf(errorMsg, i, i, m)
+ }
+ value, err := ToStringSliceE(val)
+ if err != nil {
+ return m, fmt.Errorf(errorMsg, i, i, m)
+ }
+ m[key] = value
+ }
+ case string:
+ err := jsonStringToObject(v, &m)
+ return m, err
+ default:
+ return m, fmt.Errorf(errorMsg, i, i, m)
+ }
+
+ return m, nil
+}
+
+// ToStringMapBoolE casts any value to a map[string]bool type.
+func ToStringMapBoolE(i any) (map[string]bool, error) {
+ return toStringMapE(i, ToBool)
+}
+
+// ToStringMapE casts any value to a map[string]any type.
+func ToStringMapE(i any) (map[string]any, error) {
+ fn := func(i any) any { return i }
+
+ return toStringMapE(i, fn)
+}
+
+func toStringMapIntE[T int | int64](i any, fn func(any) T, fnE func(any) (T, error)) (map[string]T, error) {
+ m := map[string]T{}
+
+ if i == nil {
+ return nil, fmt.Errorf(errorMsg, i, i, m)
+ }
+
+ switch v := i.(type) {
+ case map[string]T:
+ return v, nil
+
+ case map[string]any:
+ for k, val := range v {
+ m[k] = fn(val)
+ }
+
+ return m, nil
+
+ case map[any]T:
+ for k, val := range v {
+ m[ToString(k)] = val
+ }
+
+ return m, nil
+
+ case map[any]any:
+ for k, val := range v {
+ m[ToString(k)] = fn(val)
+ }
+
+ return m, nil
+
+ case string:
+ err := jsonStringToObject(v, &m)
+ return m, err
+ }
+
+ if reflect.TypeOf(i).Kind() != reflect.Map {
+ return m, fmt.Errorf(errorMsg, i, i, m)
+ }
+
+ mVal := reflect.ValueOf(m)
+ v := reflect.ValueOf(i)
+
+ for _, keyVal := range v.MapKeys() {
+ val, err := fnE(v.MapIndex(keyVal).Interface())
+ if err != nil {
+ return m, fmt.Errorf(errorMsg, i, i, m)
+ }
+
+ mVal.SetMapIndex(keyVal, reflect.ValueOf(val))
+ }
+
+ return m, nil
+}
+
+// ToStringMapIntE casts any value to a map[string]int type.
+func ToStringMapIntE(i any) (map[string]int, error) {
+ return toStringMapIntE(i, ToInt, ToIntE)
+}
+
+// ToStringMapInt64E casts any value to a map[string]int64 type.
+func ToStringMapInt64E(i any) (map[string]int64, error) {
+ return toStringMapIntE(i, ToInt64, ToInt64E)
+}
+
+// jsonStringToObject attempts to unmarshall a string as JSON into
+// the object passed as pointer.
+func jsonStringToObject(s string, v any) error {
+ data := []byte(s)
+ return json.Unmarshal(data, v)
+}
diff --git a/vendor/github.com/spf13/cast/number.go b/vendor/github.com/spf13/cast/number.go
new file mode 100644
index 0000000000000..a58dc4d1eddc6
--- /dev/null
+++ b/vendor/github.com/spf13/cast/number.go
@@ -0,0 +1,549 @@
+// Copyright © 2014 Steve Francia .
+//
+// Use of this source code is governed by an MIT-style
+// license that can be found in the LICENSE file.
+
+package cast
+
+import (
+ "encoding/json"
+ "errors"
+ "fmt"
+ "regexp"
+ "strconv"
+ "strings"
+ "time"
+)
+
+var errNegativeNotAllowed = errors.New("unable to cast negative value")
+
+type float64EProvider interface {
+ Float64() (float64, error)
+}
+
+type float64Provider interface {
+ Float64() float64
+}
+
+// Number is a type parameter constraint for functions accepting number types.
+//
+// It represents the supported number types this package can cast to.
+type Number interface {
+ int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | float32 | float64
+}
+
+type integer interface {
+ int | int8 | int16 | int32 | int64
+}
+
+type unsigned interface {
+ uint | uint8 | uint16 | uint32 | uint64
+}
+
+type float interface {
+ float32 | float64
+}
+
+// ToNumberE casts any value to a [Number] type.
+func ToNumberE[T Number](i any) (T, error) {
+ var t T
+
+ switch any(t).(type) {
+ case int:
+ return toNumberE[T](i, parseNumber[T])
+ case int8:
+ return toNumberE[T](i, parseNumber[T])
+ case int16:
+ return toNumberE[T](i, parseNumber[T])
+ case int32:
+ return toNumberE[T](i, parseNumber[T])
+ case int64:
+ return toNumberE[T](i, parseNumber[T])
+ case uint:
+ return toUnsignedNumberE[T](i, parseNumber[T])
+ case uint8:
+ return toUnsignedNumberE[T](i, parseNumber[T])
+ case uint16:
+ return toUnsignedNumberE[T](i, parseNumber[T])
+ case uint32:
+ return toUnsignedNumberE[T](i, parseNumber[T])
+ case uint64:
+ return toUnsignedNumberE[T](i, parseNumber[T])
+ case float32:
+ return toNumberE[T](i, parseNumber[T])
+ case float64:
+ return toNumberE[T](i, parseNumber[T])
+ default:
+ return 0, fmt.Errorf("unknown number type: %T", t)
+ }
+}
+
+// ToNumber casts any value to a [Number] type.
+func ToNumber[T Number](i any) T {
+ v, _ := ToNumberE[T](i)
+
+ return v
+}
+
+// toNumber's semantics differ from other "to" functions.
+// It returns false as the second parameter if the conversion fails.
+// This is to signal other callers that they should proceed with their own conversions.
+func toNumber[T Number](i any) (T, bool) {
+ i, _ = indirect(i)
+
+ switch s := i.(type) {
+ case T:
+ return s, true
+ case int:
+ return T(s), true
+ case int8:
+ return T(s), true
+ case int16:
+ return T(s), true
+ case int32:
+ return T(s), true
+ case int64:
+ return T(s), true
+ case uint:
+ return T(s), true
+ case uint8:
+ return T(s), true
+ case uint16:
+ return T(s), true
+ case uint32:
+ return T(s), true
+ case uint64:
+ return T(s), true
+ case float32:
+ return T(s), true
+ case float64:
+ return T(s), true
+ case bool:
+ if s {
+ return 1, true
+ }
+
+ return 0, true
+ case nil:
+ return 0, true
+ case time.Weekday:
+ return T(s), true
+ case time.Month:
+ return T(s), true
+ }
+
+ return 0, false
+}
+
+func toNumberE[T Number](i any, parseFn func(string) (T, error)) (T, error) {
+ n, ok := toNumber[T](i)
+ if ok {
+ return n, nil
+ }
+
+ i, _ = indirect(i)
+
+ switch s := i.(type) {
+ case string:
+ if s == "" {
+ return 0, nil
+ }
+
+ v, err := parseFn(s)
+ if err != nil {
+ return 0, fmt.Errorf(errorMsgWith, i, i, n, err)
+ }
+
+ return v, nil
+ case json.Number:
+ if s == "" {
+ return 0, nil
+ }
+
+ v, err := parseFn(string(s))
+ if err != nil {
+ return 0, fmt.Errorf(errorMsgWith, i, i, n, err)
+ }
+
+ return v, nil
+ case float64EProvider:
+ if _, ok := any(n).(float64); !ok {
+ return 0, fmt.Errorf(errorMsg, i, i, n)
+ }
+
+ v, err := s.Float64()
+ if err != nil {
+ return 0, fmt.Errorf(errorMsg, i, i, n)
+ }
+
+ return T(v), nil
+ case float64Provider:
+ if _, ok := any(n).(float64); !ok {
+ return 0, fmt.Errorf(errorMsg, i, i, n)
+ }
+
+ return T(s.Float64()), nil
+ default:
+ if i, ok := resolveAlias(i); ok {
+ return toNumberE(i, parseFn)
+ }
+
+ return 0, fmt.Errorf(errorMsg, i, i, n)
+ }
+}
+
+func toUnsignedNumber[T Number](i any) (T, bool, bool) {
+ i, _ = indirect(i)
+
+ switch s := i.(type) {
+ case T:
+ return s, true, true
+ case int:
+ if s < 0 {
+ return 0, false, false
+ }
+
+ return T(s), true, true
+ case int8:
+ if s < 0 {
+ return 0, false, false
+ }
+
+ return T(s), true, true
+ case int16:
+ if s < 0 {
+ return 0, false, false
+ }
+
+ return T(s), true, true
+ case int32:
+ if s < 0 {
+ return 0, false, false
+ }
+
+ return T(s), true, true
+ case int64:
+ if s < 0 {
+ return 0, false, false
+ }
+
+ return T(s), true, true
+ case uint:
+ return T(s), true, true
+ case uint8:
+ return T(s), true, true
+ case uint16:
+ return T(s), true, true
+ case uint32:
+ return T(s), true, true
+ case uint64:
+ return T(s), true, true
+ case float32:
+ if s < 0 {
+ return 0, false, false
+ }
+
+ return T(s), true, true
+ case float64:
+ if s < 0 {
+ return 0, false, false
+ }
+
+ return T(s), true, true
+ case bool:
+ if s {
+ return 1, true, true
+ }
+
+ return 0, true, true
+ case nil:
+ return 0, true, true
+ case time.Weekday:
+ if s < 0 {
+ return 0, false, false
+ }
+
+ return T(s), true, true
+ case time.Month:
+ if s < 0 {
+ return 0, false, false
+ }
+
+ return T(s), true, true
+ }
+
+ return 0, true, false
+}
+
+func toUnsignedNumberE[T Number](i any, parseFn func(string) (T, error)) (T, error) {
+ n, valid, ok := toUnsignedNumber[T](i)
+ if ok {
+ return n, nil
+ }
+
+ i, _ = indirect(i)
+
+ if !valid {
+ return 0, errNegativeNotAllowed
+ }
+
+ switch s := i.(type) {
+ case string:
+ if s == "" {
+ return 0, nil
+ }
+
+ v, err := parseFn(s)
+ if err != nil {
+ return 0, fmt.Errorf(errorMsgWith, i, i, n, err)
+ }
+
+ return v, nil
+ case json.Number:
+ if s == "" {
+ return 0, nil
+ }
+
+ v, err := parseFn(string(s))
+ if err != nil {
+ return 0, fmt.Errorf(errorMsgWith, i, i, n, err)
+ }
+
+ return v, nil
+ case float64EProvider:
+ if _, ok := any(n).(float64); !ok {
+ return 0, fmt.Errorf(errorMsg, i, i, n)
+ }
+
+ v, err := s.Float64()
+ if err != nil {
+ return 0, fmt.Errorf(errorMsg, i, i, n)
+ }
+
+ if v < 0 {
+ return 0, errNegativeNotAllowed
+ }
+
+ return T(v), nil
+ case float64Provider:
+ if _, ok := any(n).(float64); !ok {
+ return 0, fmt.Errorf(errorMsg, i, i, n)
+ }
+
+ v := s.Float64()
+
+ if v < 0 {
+ return 0, errNegativeNotAllowed
+ }
+
+ return T(v), nil
+ default:
+ if i, ok := resolveAlias(i); ok {
+ return toUnsignedNumberE(i, parseFn)
+ }
+
+ return 0, fmt.Errorf(errorMsg, i, i, n)
+ }
+}
+
+func parseNumber[T Number](s string) (T, error) {
+ var t T
+
+ switch any(t).(type) {
+ case int:
+ v, err := parseInt[int](s)
+
+ return T(v), err
+ case int8:
+ v, err := parseInt[int8](s)
+
+ return T(v), err
+ case int16:
+ v, err := parseInt[int16](s)
+
+ return T(v), err
+ case int32:
+ v, err := parseInt[int32](s)
+
+ return T(v), err
+ case int64:
+ v, err := parseInt[int64](s)
+
+ return T(v), err
+ case uint:
+ v, err := parseUint[uint](s)
+
+ return T(v), err
+ case uint8:
+ v, err := parseUint[uint8](s)
+
+ return T(v), err
+ case uint16:
+ v, err := parseUint[uint16](s)
+
+ return T(v), err
+ case uint32:
+ v, err := parseUint[uint32](s)
+
+ return T(v), err
+ case uint64:
+ v, err := parseUint[uint64](s)
+
+ return T(v), err
+ case float32:
+ v, err := strconv.ParseFloat(s, 32)
+
+ return T(v), err
+ case float64:
+ v, err := strconv.ParseFloat(s, 64)
+
+ return T(v), err
+
+ default:
+ return 0, fmt.Errorf("unknown number type: %T", t)
+ }
+}
+
+func parseInt[T integer](s string) (T, error) {
+ v, err := strconv.ParseInt(trimDecimal(s), 0, 0)
+ if err != nil {
+ return 0, err
+ }
+
+ return T(v), nil
+}
+
+func parseUint[T unsigned](s string) (T, error) {
+ v, err := strconv.ParseUint(strings.TrimLeft(trimDecimal(s), "+"), 0, 0)
+ if err != nil {
+ return 0, err
+ }
+
+ return T(v), nil
+}
+
+func parseFloat[T float](s string) (T, error) {
+ var t T
+
+ var v any
+ var err error
+
+ switch any(t).(type) {
+ case float32:
+ n, e := strconv.ParseFloat(s, 32)
+
+ v = float32(n)
+ err = e
+ case float64:
+ n, e := strconv.ParseFloat(s, 64)
+
+ v = float64(n)
+ err = e
+ }
+
+ return v.(T), err
+}
+
+// ToFloat64E casts an interface to a float64 type.
+func ToFloat64E(i any) (float64, error) {
+ return toNumberE[float64](i, parseFloat[float64])
+}
+
+// ToFloat32E casts an interface to a float32 type.
+func ToFloat32E(i any) (float32, error) {
+ return toNumberE[float32](i, parseFloat[float32])
+}
+
+// ToInt64E casts an interface to an int64 type.
+func ToInt64E(i any) (int64, error) {
+ return toNumberE[int64](i, parseInt[int64])
+}
+
+// ToInt32E casts an interface to an int32 type.
+func ToInt32E(i any) (int32, error) {
+ return toNumberE[int32](i, parseInt[int32])
+}
+
+// ToInt16E casts an interface to an int16 type.
+func ToInt16E(i any) (int16, error) {
+ return toNumberE[int16](i, parseInt[int16])
+}
+
+// ToInt8E casts an interface to an int8 type.
+func ToInt8E(i any) (int8, error) {
+ return toNumberE[int8](i, parseInt[int8])
+}
+
+// ToIntE casts an interface to an int type.
+func ToIntE(i any) (int, error) {
+ return toNumberE[int](i, parseInt[int])
+}
+
+// ToUintE casts an interface to a uint type.
+func ToUintE(i any) (uint, error) {
+ return toUnsignedNumberE[uint](i, parseUint[uint])
+}
+
+// ToUint64E casts an interface to a uint64 type.
+func ToUint64E(i any) (uint64, error) {
+ return toUnsignedNumberE[uint64](i, parseUint[uint64])
+}
+
+// ToUint32E casts an interface to a uint32 type.
+func ToUint32E(i any) (uint32, error) {
+ return toUnsignedNumberE[uint32](i, parseUint[uint32])
+}
+
+// ToUint16E casts an interface to a uint16 type.
+func ToUint16E(i any) (uint16, error) {
+ return toUnsignedNumberE[uint16](i, parseUint[uint16])
+}
+
+// ToUint8E casts an interface to a uint type.
+func ToUint8E(i any) (uint8, error) {
+ return toUnsignedNumberE[uint8](i, parseUint[uint8])
+}
+
+func trimZeroDecimal(s string) string {
+ var foundZero bool
+ for i := len(s); i > 0; i-- {
+ switch s[i-1] {
+ case '.':
+ if foundZero {
+ return s[:i-1]
+ }
+ case '0':
+ foundZero = true
+ default:
+ return s
+ }
+ }
+ return s
+}
+
+var stringNumberRe = regexp.MustCompile(`^([-+]?\d*)(\.\d*)?$`)
+
+// see [BenchmarkDecimal] for details about the implementation
+func trimDecimal(s string) string {
+ if !strings.Contains(s, ".") {
+ return s
+ }
+
+ matches := stringNumberRe.FindStringSubmatch(s)
+ if matches != nil {
+ // matches[1] is the captured integer part with sign
+ s = matches[1]
+
+ // handle special cases
+ switch s {
+ case "-", "+":
+ s += "0"
+ case "":
+ s = "0"
+ }
+
+ return s
+ }
+
+ return s
+}
diff --git a/vendor/github.com/spf13/cast/slice.go b/vendor/github.com/spf13/cast/slice.go
new file mode 100644
index 0000000000000..e6a8328c60d44
--- /dev/null
+++ b/vendor/github.com/spf13/cast/slice.go
@@ -0,0 +1,106 @@
+// Copyright © 2014 Steve Francia .
+//
+// Use of this source code is governed by an MIT-style
+// license that can be found in the LICENSE file.
+
+package cast
+
+import (
+ "fmt"
+ "reflect"
+ "strings"
+)
+
+// ToSliceE casts any value to a []any type.
+func ToSliceE(i any) ([]any, error) {
+ i, _ = indirect(i)
+
+ var s []any
+
+ switch v := i.(type) {
+ case []any:
+ // TODO: use slices.Clone
+ return append(s, v...), nil
+ case []map[string]any:
+ for _, u := range v {
+ s = append(s, u)
+ }
+
+ return s, nil
+ default:
+ return s, fmt.Errorf(errorMsg, i, i, s)
+ }
+}
+
+func toSliceE[T Basic](i any) ([]T, error) {
+ v, ok, err := toSliceEOk[T](i)
+ if err != nil {
+ return nil, err
+ }
+
+ if !ok {
+ return nil, fmt.Errorf(errorMsg, i, i, []T{})
+ }
+
+ return v, nil
+}
+
+func toSliceEOk[T Basic](i any) ([]T, bool, error) {
+ i, _ = indirect(i)
+ if i == nil {
+ return nil, true, fmt.Errorf(errorMsg, i, i, []T{})
+ }
+
+ switch v := i.(type) {
+ case []T:
+ // TODO: clone slice
+ return v, true, nil
+ }
+
+ kind := reflect.TypeOf(i).Kind()
+ switch kind {
+ case reflect.Slice, reflect.Array:
+ s := reflect.ValueOf(i)
+ a := make([]T, s.Len())
+
+ for j := 0; j < s.Len(); j++ {
+ val, err := ToE[T](s.Index(j).Interface())
+ if err != nil {
+ return nil, true, fmt.Errorf(errorMsg, i, i, []T{})
+ }
+
+ a[j] = val
+ }
+
+ return a, true, nil
+ default:
+ return nil, false, nil
+ }
+}
+
+// ToStringSliceE casts any value to a []string type.
+func ToStringSliceE(i any) ([]string, error) {
+ if a, ok, err := toSliceEOk[string](i); ok {
+ if err != nil {
+ return nil, err
+ }
+
+ return a, nil
+ }
+
+ var a []string
+
+ switch v := i.(type) {
+ case string:
+ return strings.Fields(v), nil
+ case any:
+ str, err := ToStringE(v)
+ if err != nil {
+ return nil, fmt.Errorf(errorMsg, i, i, a)
+ }
+
+ return []string{str}, nil
+ default:
+ return nil, fmt.Errorf(errorMsg, i, i, a)
+ }
+}
diff --git a/vendor/github.com/spf13/cast/time.go b/vendor/github.com/spf13/cast/time.go
new file mode 100644
index 0000000000000..744cd5accde97
--- /dev/null
+++ b/vendor/github.com/spf13/cast/time.go
@@ -0,0 +1,116 @@
+// Copyright © 2014 Steve Francia .
+//
+// Use of this source code is governed by an MIT-style
+// license that can be found in the LICENSE file.
+
+package cast
+
+import (
+ "encoding/json"
+ "errors"
+ "fmt"
+ "strings"
+ "time"
+
+ "github.com/spf13/cast/internal"
+)
+
+// ToTimeE any value to a [time.Time] type.
+func ToTimeE(i any) (time.Time, error) {
+ return ToTimeInDefaultLocationE(i, time.UTC)
+}
+
+// ToTimeInDefaultLocationE casts an empty interface to [time.Time],
+// interpreting inputs without a timezone to be in the given location,
+// or the local timezone if nil.
+func ToTimeInDefaultLocationE(i any, location *time.Location) (tim time.Time, err error) {
+ i, _ = indirect(i)
+
+ switch v := i.(type) {
+ case time.Time:
+ return v, nil
+ case string:
+ return StringToDateInDefaultLocation(v, location)
+ case json.Number:
+ // Originally this used ToInt64E, but adding string float conversion broke ToTime.
+ // the behavior of ToTime would have changed if we continued using it.
+ // For now, using json.Number's own Int64 method should be good enough to preserve backwards compatibility.
+ v = json.Number(trimZeroDecimal(string(v)))
+ s, err1 := v.Int64()
+ if err1 != nil {
+ return time.Time{}, fmt.Errorf(errorMsg, i, i, time.Time{})
+ }
+ return time.Unix(s, 0), nil
+ case int:
+ return time.Unix(int64(v), 0), nil
+ case int32:
+ return time.Unix(int64(v), 0), nil
+ case int64:
+ return time.Unix(v, 0), nil
+ case uint:
+ return time.Unix(int64(v), 0), nil
+ case uint32:
+ return time.Unix(int64(v), 0), nil
+ case uint64:
+ return time.Unix(int64(v), 0), nil
+ case nil:
+ return time.Time{}, nil
+ default:
+ return time.Time{}, fmt.Errorf(errorMsg, i, i, time.Time{})
+ }
+}
+
+// ToDurationE casts any value to a [time.Duration] type.
+func ToDurationE(i any) (time.Duration, error) {
+ i, _ = indirect(i)
+
+ switch s := i.(type) {
+ case time.Duration:
+ return s, nil
+ case int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64:
+ v, err := ToInt64E(s)
+ if err != nil {
+ // TODO: once there is better error handling, this should be easier
+ return 0, errors.New(strings.ReplaceAll(err.Error(), " int64", "time.Duration"))
+ }
+
+ return time.Duration(v), nil
+ case float32, float64, float64EProvider, float64Provider:
+ v, err := ToFloat64E(s)
+ if err != nil {
+ // TODO: once there is better error handling, this should be easier
+ return 0, errors.New(strings.ReplaceAll(err.Error(), " float64", "time.Duration"))
+ }
+
+ return time.Duration(v), nil
+ case string:
+ if !strings.ContainsAny(s, "nsuµmh") {
+ return time.ParseDuration(s + "ns")
+ }
+
+ return time.ParseDuration(s)
+ case nil:
+ return time.Duration(0), nil
+ default:
+ if i, ok := resolveAlias(i); ok {
+ return ToDurationE(i)
+ }
+
+ return 0, fmt.Errorf(errorMsg, i, i, time.Duration(0))
+ }
+}
+
+// StringToDate attempts to parse a string into a [time.Time] type using a
+// predefined list of formats.
+//
+// If no suitable format is found, an error is returned.
+func StringToDate(s string) (time.Time, error) {
+ return internal.ParseDateWith(s, time.UTC, internal.TimeFormats)
+}
+
+// StringToDateInDefaultLocation casts an empty interface to a [time.Time],
+// interpreting inputs without a timezone to be in the given location,
+// or the local timezone if nil.
+func StringToDateInDefaultLocation(s string, location *time.Location) (time.Time, error) {
+ return internal.ParseDateWith(s, location, internal.TimeFormats)
+}
diff --git a/vendor/github.com/spf13/cast/timeformattype_string.go b/vendor/github.com/spf13/cast/timeformattype_string.go
deleted file mode 100644
index 1524fc82ce7e7..0000000000000
--- a/vendor/github.com/spf13/cast/timeformattype_string.go
+++ /dev/null
@@ -1,27 +0,0 @@
-// Code generated by "stringer -type timeFormatType"; DO NOT EDIT.
-
-package cast
-
-import "strconv"
-
-func _() {
- // An "invalid array index" compiler error signifies that the constant values have changed.
- // Re-run the stringer command to generate them again.
- var x [1]struct{}
- _ = x[timeFormatNoTimezone-0]
- _ = x[timeFormatNamedTimezone-1]
- _ = x[timeFormatNumericTimezone-2]
- _ = x[timeFormatNumericAndNamedTimezone-3]
- _ = x[timeFormatTimeOnly-4]
-}
-
-const _timeFormatType_name = "timeFormatNoTimezonetimeFormatNamedTimezonetimeFormatNumericTimezonetimeFormatNumericAndNamedTimezonetimeFormatTimeOnly"
-
-var _timeFormatType_index = [...]uint8{0, 20, 43, 68, 101, 119}
-
-func (i timeFormatType) String() string {
- if i < 0 || i >= timeFormatType(len(_timeFormatType_index)-1) {
- return "timeFormatType(" + strconv.FormatInt(int64(i), 10) + ")"
- }
- return _timeFormatType_name[_timeFormatType_index[i]:_timeFormatType_index[i+1]]
-}
diff --git a/vendor/github.com/spf13/cast/zz_generated.go b/vendor/github.com/spf13/cast/zz_generated.go
new file mode 100644
index 0000000000000..ce3ec0f78fbf8
--- /dev/null
+++ b/vendor/github.com/spf13/cast/zz_generated.go
@@ -0,0 +1,261 @@
+// Code generated by cast generator. DO NOT EDIT.
+
+package cast
+
+import "time"
+
+// ToBool casts any value to a(n) bool type.
+func ToBool(i any) bool {
+ v, _ := ToBoolE(i)
+ return v
+}
+
+// ToString casts any value to a(n) string type.
+func ToString(i any) string {
+ v, _ := ToStringE(i)
+ return v
+}
+
+// ToTime casts any value to a(n) time.Time type.
+func ToTime(i any) time.Time {
+ v, _ := ToTimeE(i)
+ return v
+}
+
+// ToTimeInDefaultLocation casts any value to a(n) time.Time type.
+func ToTimeInDefaultLocation(i any, location *time.Location) time.Time {
+ v, _ := ToTimeInDefaultLocationE(i, location)
+ return v
+}
+
+// ToDuration casts any value to a(n) time.Duration type.
+func ToDuration(i any) time.Duration {
+ v, _ := ToDurationE(i)
+ return v
+}
+
+// ToInt casts any value to a(n) int type.
+func ToInt(i any) int {
+ v, _ := ToIntE(i)
+ return v
+}
+
+// ToInt8 casts any value to a(n) int8 type.
+func ToInt8(i any) int8 {
+ v, _ := ToInt8E(i)
+ return v
+}
+
+// ToInt16 casts any value to a(n) int16 type.
+func ToInt16(i any) int16 {
+ v, _ := ToInt16E(i)
+ return v
+}
+
+// ToInt32 casts any value to a(n) int32 type.
+func ToInt32(i any) int32 {
+ v, _ := ToInt32E(i)
+ return v
+}
+
+// ToInt64 casts any value to a(n) int64 type.
+func ToInt64(i any) int64 {
+ v, _ := ToInt64E(i)
+ return v
+}
+
+// ToUint casts any value to a(n) uint type.
+func ToUint(i any) uint {
+ v, _ := ToUintE(i)
+ return v
+}
+
+// ToUint8 casts any value to a(n) uint8 type.
+func ToUint8(i any) uint8 {
+ v, _ := ToUint8E(i)
+ return v
+}
+
+// ToUint16 casts any value to a(n) uint16 type.
+func ToUint16(i any) uint16 {
+ v, _ := ToUint16E(i)
+ return v
+}
+
+// ToUint32 casts any value to a(n) uint32 type.
+func ToUint32(i any) uint32 {
+ v, _ := ToUint32E(i)
+ return v
+}
+
+// ToUint64 casts any value to a(n) uint64 type.
+func ToUint64(i any) uint64 {
+ v, _ := ToUint64E(i)
+ return v
+}
+
+// ToFloat32 casts any value to a(n) float32 type.
+func ToFloat32(i any) float32 {
+ v, _ := ToFloat32E(i)
+ return v
+}
+
+// ToFloat64 casts any value to a(n) float64 type.
+func ToFloat64(i any) float64 {
+ v, _ := ToFloat64E(i)
+ return v
+}
+
+// ToStringMapString casts any value to a(n) map[string]string type.
+func ToStringMapString(i any) map[string]string {
+ v, _ := ToStringMapStringE(i)
+ return v
+}
+
+// ToStringMapStringSlice casts any value to a(n) map[string][]string type.
+func ToStringMapStringSlice(i any) map[string][]string {
+ v, _ := ToStringMapStringSliceE(i)
+ return v
+}
+
+// ToStringMapBool casts any value to a(n) map[string]bool type.
+func ToStringMapBool(i any) map[string]bool {
+ v, _ := ToStringMapBoolE(i)
+ return v
+}
+
+// ToStringMapInt casts any value to a(n) map[string]int type.
+func ToStringMapInt(i any) map[string]int {
+ v, _ := ToStringMapIntE(i)
+ return v
+}
+
+// ToStringMapInt64 casts any value to a(n) map[string]int64 type.
+func ToStringMapInt64(i any) map[string]int64 {
+ v, _ := ToStringMapInt64E(i)
+ return v
+}
+
+// ToStringMap casts any value to a(n) map[string]any type.
+func ToStringMap(i any) map[string]any {
+ v, _ := ToStringMapE(i)
+ return v
+}
+
+// ToSlice casts any value to a(n) []any type.
+func ToSlice(i any) []any {
+ v, _ := ToSliceE(i)
+ return v
+}
+
+// ToBoolSlice casts any value to a(n) []bool type.
+func ToBoolSlice(i any) []bool {
+ v, _ := ToBoolSliceE(i)
+ return v
+}
+
+// ToStringSlice casts any value to a(n) []string type.
+func ToStringSlice(i any) []string {
+ v, _ := ToStringSliceE(i)
+ return v
+}
+
+// ToIntSlice casts any value to a(n) []int type.
+func ToIntSlice(i any) []int {
+ v, _ := ToIntSliceE(i)
+ return v
+}
+
+// ToInt64Slice casts any value to a(n) []int64 type.
+func ToInt64Slice(i any) []int64 {
+ v, _ := ToInt64SliceE(i)
+ return v
+}
+
+// ToUintSlice casts any value to a(n) []uint type.
+func ToUintSlice(i any) []uint {
+ v, _ := ToUintSliceE(i)
+ return v
+}
+
+// ToFloat64Slice casts any value to a(n) []float64 type.
+func ToFloat64Slice(i any) []float64 {
+ v, _ := ToFloat64SliceE(i)
+ return v
+}
+
+// ToDurationSlice casts any value to a(n) []time.Duration type.
+func ToDurationSlice(i any) []time.Duration {
+ v, _ := ToDurationSliceE(i)
+ return v
+}
+
+// ToBoolSliceE casts any value to a(n) []bool type.
+func ToBoolSliceE(i any) ([]bool, error) {
+ return toSliceE[bool](i)
+}
+
+// ToDurationSliceE casts any value to a(n) []time.Duration type.
+func ToDurationSliceE(i any) ([]time.Duration, error) {
+ return toSliceE[time.Duration](i)
+}
+
+// ToIntSliceE casts any value to a(n) []int type.
+func ToIntSliceE(i any) ([]int, error) {
+ return toSliceE[int](i)
+}
+
+// ToInt8SliceE casts any value to a(n) []int8 type.
+func ToInt8SliceE(i any) ([]int8, error) {
+ return toSliceE[int8](i)
+}
+
+// ToInt16SliceE casts any value to a(n) []int16 type.
+func ToInt16SliceE(i any) ([]int16, error) {
+ return toSliceE[int16](i)
+}
+
+// ToInt32SliceE casts any value to a(n) []int32 type.
+func ToInt32SliceE(i any) ([]int32, error) {
+ return toSliceE[int32](i)
+}
+
+// ToInt64SliceE casts any value to a(n) []int64 type.
+func ToInt64SliceE(i any) ([]int64, error) {
+ return toSliceE[int64](i)
+}
+
+// ToUintSliceE casts any value to a(n) []uint type.
+func ToUintSliceE(i any) ([]uint, error) {
+ return toSliceE[uint](i)
+}
+
+// ToUint8SliceE casts any value to a(n) []uint8 type.
+func ToUint8SliceE(i any) ([]uint8, error) {
+ return toSliceE[uint8](i)
+}
+
+// ToUint16SliceE casts any value to a(n) []uint16 type.
+func ToUint16SliceE(i any) ([]uint16, error) {
+ return toSliceE[uint16](i)
+}
+
+// ToUint32SliceE casts any value to a(n) []uint32 type.
+func ToUint32SliceE(i any) ([]uint32, error) {
+ return toSliceE[uint32](i)
+}
+
+// ToUint64SliceE casts any value to a(n) []uint64 type.
+func ToUint64SliceE(i any) ([]uint64, error) {
+ return toSliceE[uint64](i)
+}
+
+// ToFloat32SliceE casts any value to a(n) []float32 type.
+func ToFloat32SliceE(i any) ([]float32, error) {
+ return toSliceE[float32](i)
+}
+
+// ToFloat64SliceE casts any value to a(n) []float64 type.
+func ToFloat64SliceE(i any) ([]float64, error) {
+ return toSliceE[float64](i)
+}
diff --git a/vendor/github.com/spf13/pflag/README.md b/vendor/github.com/spf13/pflag/README.md
index 7eacc5bdbe5f4..388c4e5ead28a 100644
--- a/vendor/github.com/spf13/pflag/README.md
+++ b/vendor/github.com/spf13/pflag/README.md
@@ -284,6 +284,33 @@ func main() {
}
```
+### Using pflag with go test
+`pflag` does not parse the shorthand versions of go test's built-in flags (i.e., those starting with `-test.`).
+For more context, see issues [#63](https://github.com/spf13/pflag/issues/63) and [#238](https://github.com/spf13/pflag/issues/238) for more details.
+
+For example, if you use pflag in your `TestMain` function and call `pflag.Parse()` after defining your custom flags, running a test like this:
+```bash
+go test /your/tests -run ^YourTest -v --your-test-pflags
+```
+will result in the `-v` flag being ignored. This happens because of the way pflag handles flag parsing, skipping over go test's built-in shorthand flags.
+To work around this, you can use the `ParseSkippedFlags` function, which ensures that go test's flags are parsed separately using the standard flag package.
+
+**Example**: You want to parse go test flags that are otherwise ignore by `pflag.Parse()`
+```go
+import (
+ goflag "flag"
+ flag "github.com/spf13/pflag"
+)
+
+var ip *int = flag.Int("flagname", 1234, "help message for flagname")
+
+func main() {
+ flag.CommandLine.AddGoFlagSet(goflag.CommandLine)
+ flag.ParseSkippedFlags(os.Args[1:], goflag.CommandLine)
+ flag.Parse()
+}
+```
+
## More info
You can see the full reference documentation of the pflag package
diff --git a/vendor/github.com/spf13/pflag/bool_func.go b/vendor/github.com/spf13/pflag/bool_func.go
new file mode 100644
index 0000000000000..83d77afa89fa9
--- /dev/null
+++ b/vendor/github.com/spf13/pflag/bool_func.go
@@ -0,0 +1,40 @@
+package pflag
+
+// -- func Value
+type boolfuncValue func(string) error
+
+func (f boolfuncValue) Set(s string) error { return f(s) }
+
+func (f boolfuncValue) Type() string { return "boolfunc" }
+
+func (f boolfuncValue) String() string { return "" } // same behavior as stdlib 'flag' package
+
+func (f boolfuncValue) IsBoolFlag() bool { return true }
+
+// BoolFunc defines a func flag with specified name, callback function and usage string.
+//
+// The callback function will be called every time "--{name}" (or any form that matches the flag) is parsed
+// on the command line.
+func (f *FlagSet) BoolFunc(name string, usage string, fn func(string) error) {
+ f.BoolFuncP(name, "", usage, fn)
+}
+
+// BoolFuncP is like BoolFunc, but accepts a shorthand letter that can be used after a single dash.
+func (f *FlagSet) BoolFuncP(name, shorthand string, usage string, fn func(string) error) {
+ var val Value = boolfuncValue(fn)
+ flag := f.VarPF(val, name, shorthand, usage)
+ flag.NoOptDefVal = "true"
+}
+
+// BoolFunc defines a func flag with specified name, callback function and usage string.
+//
+// The callback function will be called every time "--{name}" (or any form that matches the flag) is parsed
+// on the command line.
+func BoolFunc(name string, usage string, fn func(string) error) {
+ CommandLine.BoolFuncP(name, "", usage, fn)
+}
+
+// BoolFuncP is like BoolFunc, but accepts a shorthand letter that can be used after a single dash.
+func BoolFuncP(name, shorthand string, usage string, fn func(string) error) {
+ CommandLine.BoolFuncP(name, shorthand, usage, fn)
+}
diff --git a/vendor/github.com/spf13/pflag/count.go b/vendor/github.com/spf13/pflag/count.go
index a0b2679f71c75..d49c0143c18b6 100644
--- a/vendor/github.com/spf13/pflag/count.go
+++ b/vendor/github.com/spf13/pflag/count.go
@@ -85,7 +85,7 @@ func (f *FlagSet) CountP(name, shorthand string, usage string) *int {
// Count defines a count flag with specified name, default value, and usage string.
// The return value is the address of an int variable that stores the value of the flag.
-// A count flag will add 1 to its value evey time it is found on the command line
+// A count flag will add 1 to its value every time it is found on the command line
func Count(name string, usage string) *int {
return CommandLine.CountP(name, "", usage)
}
diff --git a/vendor/github.com/spf13/pflag/errors.go b/vendor/github.com/spf13/pflag/errors.go
new file mode 100644
index 0000000000000..ff11b66befe28
--- /dev/null
+++ b/vendor/github.com/spf13/pflag/errors.go
@@ -0,0 +1,149 @@
+package pflag
+
+import "fmt"
+
+// notExistErrorMessageType specifies which flavor of "flag does not exist"
+// is printed by NotExistError. This allows the related errors to be grouped
+// under a single NotExistError struct without making a breaking change to
+// the error message text.
+type notExistErrorMessageType int
+
+const (
+ flagNotExistMessage notExistErrorMessageType = iota
+ flagNotDefinedMessage
+ flagNoSuchFlagMessage
+ flagUnknownFlagMessage
+ flagUnknownShorthandFlagMessage
+)
+
+// NotExistError is the error returned when trying to access a flag that
+// does not exist in the FlagSet.
+type NotExistError struct {
+ name string
+ specifiedShorthands string
+ messageType notExistErrorMessageType
+}
+
+// Error implements error.
+func (e *NotExistError) Error() string {
+ switch e.messageType {
+ case flagNotExistMessage:
+ return fmt.Sprintf("flag %q does not exist", e.name)
+
+ case flagNotDefinedMessage:
+ return fmt.Sprintf("flag accessed but not defined: %s", e.name)
+
+ case flagNoSuchFlagMessage:
+ return fmt.Sprintf("no such flag -%v", e.name)
+
+ case flagUnknownFlagMessage:
+ return fmt.Sprintf("unknown flag: --%s", e.name)
+
+ case flagUnknownShorthandFlagMessage:
+ c := rune(e.name[0])
+ return fmt.Sprintf("unknown shorthand flag: %q in -%s", c, e.specifiedShorthands)
+ }
+
+ panic(fmt.Errorf("unknown flagNotExistErrorMessageType: %v", e.messageType))
+}
+
+// GetSpecifiedName returns the name of the flag (without dashes) as it
+// appeared in the parsed arguments.
+func (e *NotExistError) GetSpecifiedName() string {
+ return e.name
+}
+
+// GetSpecifiedShortnames returns the group of shorthand arguments
+// (without dashes) that the flag appeared within. If the flag was not in a
+// shorthand group, this will return an empty string.
+func (e *NotExistError) GetSpecifiedShortnames() string {
+ return e.specifiedShorthands
+}
+
+// ValueRequiredError is the error returned when a flag needs an argument but
+// no argument was provided.
+type ValueRequiredError struct {
+ flag *Flag
+ specifiedName string
+ specifiedShorthands string
+}
+
+// Error implements error.
+func (e *ValueRequiredError) Error() string {
+ if len(e.specifiedShorthands) > 0 {
+ c := rune(e.specifiedName[0])
+ return fmt.Sprintf("flag needs an argument: %q in -%s", c, e.specifiedShorthands)
+ }
+
+ return fmt.Sprintf("flag needs an argument: --%s", e.specifiedName)
+}
+
+// GetFlag returns the flag for which the error occurred.
+func (e *ValueRequiredError) GetFlag() *Flag {
+ return e.flag
+}
+
+// GetSpecifiedName returns the name of the flag (without dashes) as it
+// appeared in the parsed arguments.
+func (e *ValueRequiredError) GetSpecifiedName() string {
+ return e.specifiedName
+}
+
+// GetSpecifiedShortnames returns the group of shorthand arguments
+// (without dashes) that the flag appeared within. If the flag was not in a
+// shorthand group, this will return an empty string.
+func (e *ValueRequiredError) GetSpecifiedShortnames() string {
+ return e.specifiedShorthands
+}
+
+// InvalidValueError is the error returned when an invalid value is used
+// for a flag.
+type InvalidValueError struct {
+ flag *Flag
+ value string
+ cause error
+}
+
+// Error implements error.
+func (e *InvalidValueError) Error() string {
+ flag := e.flag
+ var flagName string
+ if flag.Shorthand != "" && flag.ShorthandDeprecated == "" {
+ flagName = fmt.Sprintf("-%s, --%s", flag.Shorthand, flag.Name)
+ } else {
+ flagName = fmt.Sprintf("--%s", flag.Name)
+ }
+ return fmt.Sprintf("invalid argument %q for %q flag: %v", e.value, flagName, e.cause)
+}
+
+// Unwrap implements errors.Unwrap.
+func (e *InvalidValueError) Unwrap() error {
+ return e.cause
+}
+
+// GetFlag returns the flag for which the error occurred.
+func (e *InvalidValueError) GetFlag() *Flag {
+ return e.flag
+}
+
+// GetValue returns the invalid value that was provided.
+func (e *InvalidValueError) GetValue() string {
+ return e.value
+}
+
+// InvalidSyntaxError is the error returned when a bad flag name is passed on
+// the command line.
+type InvalidSyntaxError struct {
+ specifiedFlag string
+}
+
+// Error implements error.
+func (e *InvalidSyntaxError) Error() string {
+ return fmt.Sprintf("bad flag syntax: %s", e.specifiedFlag)
+}
+
+// GetSpecifiedName returns the exact flag (with dashes) as it
+// appeared in the parsed arguments.
+func (e *InvalidSyntaxError) GetSpecifiedFlag() string {
+ return e.specifiedFlag
+}
diff --git a/vendor/github.com/spf13/pflag/flag.go b/vendor/github.com/spf13/pflag/flag.go
index 7c058de3744a1..2fd3c57597a23 100644
--- a/vendor/github.com/spf13/pflag/flag.go
+++ b/vendor/github.com/spf13/pflag/flag.go
@@ -27,23 +27,32 @@ unaffected.
Define flags using flag.String(), Bool(), Int(), etc.
This declares an integer flag, -flagname, stored in the pointer ip, with type *int.
+
var ip = flag.Int("flagname", 1234, "help message for flagname")
+
If you like, you can bind the flag to a variable using the Var() functions.
+
var flagvar int
func init() {
flag.IntVar(&flagvar, "flagname", 1234, "help message for flagname")
}
+
Or you can create custom flags that satisfy the Value interface (with
pointer receivers) and couple them to flag parsing by
+
flag.Var(&flagVal, "name", "help message for flagname")
+
For such flags, the default value is just the initial value of the variable.
After all flags are defined, call
+
flag.Parse()
+
to parse the command line into the defined flags.
Flags may then be used directly. If you're using the flags themselves,
they are all pointers; if you bind to variables, they're values.
+
fmt.Println("ip has value ", *ip)
fmt.Println("flagvar has value ", flagvar)
@@ -54,22 +63,26 @@ The arguments are indexed from 0 through flag.NArg()-1.
The pflag package also defines some new functions that are not in flag,
that give one-letter shorthands for flags. You can use these by appending
'P' to the name of any function that defines a flag.
+
var ip = flag.IntP("flagname", "f", 1234, "help message")
var flagvar bool
func init() {
flag.BoolVarP(&flagvar, "boolname", "b", true, "help message")
}
flag.VarP(&flagval, "varname", "v", "help message")
+
Shorthand letters can be used with single dashes on the command line.
Boolean shorthand flags can be combined with other shorthand flags.
Command line flag syntax:
+
--flag // boolean flags only
--flag=x
Unlike the flag package, a single dash before an option means something
different than a double dash. Single dashes signify a series of shorthand
letters for flags. All but the last shorthand letter must be boolean flags.
+
// boolean flags
-f
-abc
@@ -124,12 +137,17 @@ const (
PanicOnError
)
-// ParseErrorsWhitelist defines the parsing errors that can be ignored
-type ParseErrorsWhitelist struct {
+// ParseErrorsAllowlist defines the parsing errors that can be ignored
+type ParseErrorsAllowlist struct {
// UnknownFlags will ignore unknown flags errors and continue parsing rest of the flags
UnknownFlags bool
}
+// ParseErrorsWhitelist defines the parsing errors that can be ignored.
+//
+// Deprecated: use [ParseErrorsAllowlist] instead. This type will be removed in a future release.
+type ParseErrorsWhitelist = ParseErrorsAllowlist
+
// NormalizedName is a flag name that has been normalized according to rules
// for the FlagSet (e.g. making '-' and '_' equivalent).
type NormalizedName string
@@ -145,8 +163,13 @@ type FlagSet struct {
// help/usage messages.
SortFlags bool
- // ParseErrorsWhitelist is used to configure a whitelist of errors
- ParseErrorsWhitelist ParseErrorsWhitelist
+ // ParseErrorsAllowlist is used to configure an allowlist of errors
+ ParseErrorsAllowlist ParseErrorsAllowlist
+
+ // ParseErrorsAllowlist is used to configure an allowlist of errors.
+ //
+ // Deprecated: use [FlagSet.ParseErrorsAllowlist] instead. This field will be removed in a future release.
+ ParseErrorsWhitelist ParseErrorsAllowlist
name string
parsed bool
@@ -381,7 +404,7 @@ func (f *FlagSet) lookup(name NormalizedName) *Flag {
func (f *FlagSet) getFlagType(name string, ftype string, convFunc func(sval string) (interface{}, error)) (interface{}, error) {
flag := f.Lookup(name)
if flag == nil {
- err := fmt.Errorf("flag accessed but not defined: %s", name)
+ err := &NotExistError{name: name, messageType: flagNotDefinedMessage}
return nil, err
}
@@ -411,7 +434,7 @@ func (f *FlagSet) ArgsLenAtDash() int {
func (f *FlagSet) MarkDeprecated(name string, usageMessage string) error {
flag := f.Lookup(name)
if flag == nil {
- return fmt.Errorf("flag %q does not exist", name)
+ return &NotExistError{name: name, messageType: flagNotExistMessage}
}
if usageMessage == "" {
return fmt.Errorf("deprecated message for flag %q must be set", name)
@@ -427,7 +450,7 @@ func (f *FlagSet) MarkDeprecated(name string, usageMessage string) error {
func (f *FlagSet) MarkShorthandDeprecated(name string, usageMessage string) error {
flag := f.Lookup(name)
if flag == nil {
- return fmt.Errorf("flag %q does not exist", name)
+ return &NotExistError{name: name, messageType: flagNotExistMessage}
}
if usageMessage == "" {
return fmt.Errorf("deprecated message for flag %q must be set", name)
@@ -441,7 +464,7 @@ func (f *FlagSet) MarkShorthandDeprecated(name string, usageMessage string) erro
func (f *FlagSet) MarkHidden(name string) error {
flag := f.Lookup(name)
if flag == nil {
- return fmt.Errorf("flag %q does not exist", name)
+ return &NotExistError{name: name, messageType: flagNotExistMessage}
}
flag.Hidden = true
return nil
@@ -464,18 +487,16 @@ func (f *FlagSet) Set(name, value string) error {
normalName := f.normalizeFlagName(name)
flag, ok := f.formal[normalName]
if !ok {
- return fmt.Errorf("no such flag -%v", name)
+ return &NotExistError{name: name, messageType: flagNoSuchFlagMessage}
}
err := flag.Value.Set(value)
if err != nil {
- var flagName string
- if flag.Shorthand != "" && flag.ShorthandDeprecated == "" {
- flagName = fmt.Sprintf("-%s, --%s", flag.Shorthand, flag.Name)
- } else {
- flagName = fmt.Sprintf("--%s", flag.Name)
+ return &InvalidValueError{
+ flag: flag,
+ value: value,
+ cause: err,
}
- return fmt.Errorf("invalid argument %q for %q flag: %v", value, flagName, err)
}
if !flag.Changed {
@@ -501,7 +522,7 @@ func (f *FlagSet) SetAnnotation(name, key string, values []string) error {
normalName := f.normalizeFlagName(name)
flag, ok := f.formal[normalName]
if !ok {
- return fmt.Errorf("no such flag -%v", name)
+ return &NotExistError{name: name, messageType: flagNoSuchFlagMessage}
}
if flag.Annotations == nil {
flag.Annotations = map[string][]string{}
@@ -538,7 +559,7 @@ func (f *FlagSet) PrintDefaults() {
func (f *Flag) defaultIsZeroValue() bool {
switch f.Value.(type) {
case boolFlag:
- return f.DefValue == "false"
+ return f.DefValue == "false" || f.DefValue == ""
case *durationValue:
// Beginning in Go 1.7, duration zero values are "0s"
return f.DefValue == "0" || f.DefValue == "0s"
@@ -551,7 +572,7 @@ func (f *Flag) defaultIsZeroValue() bool {
case *intSliceValue, *stringSliceValue, *stringArrayValue:
return f.DefValue == "[]"
default:
- switch f.Value.String() {
+ switch f.DefValue {
case "false":
return true
case "":
@@ -588,8 +609,10 @@ func UnquoteUsage(flag *Flag) (name string, usage string) {
name = flag.Value.Type()
switch name {
- case "bool":
+ case "bool", "boolfunc":
name = ""
+ case "func":
+ name = "value"
case "float64":
name = "float"
case "int64":
@@ -707,7 +730,7 @@ func (f *FlagSet) FlagUsagesWrapped(cols int) string {
switch flag.Value.Type() {
case "string":
line += fmt.Sprintf("[=\"%s\"]", flag.NoOptDefVal)
- case "bool":
+ case "bool", "boolfunc":
if flag.NoOptDefVal != "true" {
line += fmt.Sprintf("[=%s]", flag.NoOptDefVal)
}
@@ -911,12 +934,10 @@ func VarP(value Value, name, shorthand, usage string) {
CommandLine.VarP(value, name, shorthand, usage)
}
-// failf prints to standard error a formatted error and usage message and
+// fail prints an error message and usage message to standard error and
// returns the error.
-func (f *FlagSet) failf(format string, a ...interface{}) error {
- err := fmt.Errorf(format, a...)
+func (f *FlagSet) fail(err error) error {
if f.errorHandling != ContinueOnError {
- fmt.Fprintln(f.Output(), err)
f.usage()
}
return err
@@ -934,9 +955,9 @@ func (f *FlagSet) usage() {
}
}
-//--unknown (args will be empty)
-//--unknown --next-flag ... (args will be --next-flag ...)
-//--unknown arg ... (args will be arg ...)
+// --unknown (args will be empty)
+// --unknown --next-flag ... (args will be --next-flag ...)
+// --unknown arg ... (args will be arg ...)
func stripUnknownFlagValue(args []string) []string {
if len(args) == 0 {
//--unknown
@@ -960,7 +981,7 @@ func (f *FlagSet) parseLongArg(s string, args []string, fn parseFunc) (a []strin
a = args
name := s[2:]
if len(name) == 0 || name[0] == '-' || name[0] == '=' {
- err = f.failf("bad flag syntax: %s", s)
+ err = f.fail(&InvalidSyntaxError{specifiedFlag: s})
return
}
@@ -974,6 +995,8 @@ func (f *FlagSet) parseLongArg(s string, args []string, fn parseFunc) (a []strin
f.usage()
return a, ErrHelp
case f.ParseErrorsWhitelist.UnknownFlags:
+ fallthrough
+ case f.ParseErrorsAllowlist.UnknownFlags:
// --unknown=unknownval arg ...
// we do not want to lose arg in this case
if len(split) >= 2 {
@@ -982,7 +1005,7 @@ func (f *FlagSet) parseLongArg(s string, args []string, fn parseFunc) (a []strin
return stripUnknownFlagValue(a), nil
default:
- err = f.failf("unknown flag: --%s", name)
+ err = f.fail(&NotExistError{name: name, messageType: flagUnknownFlagMessage})
return
}
}
@@ -1000,13 +1023,16 @@ func (f *FlagSet) parseLongArg(s string, args []string, fn parseFunc) (a []strin
a = a[1:]
} else {
// '--flag' (arg was required)
- err = f.failf("flag needs an argument: %s", s)
+ err = f.fail(&ValueRequiredError{
+ flag: flag,
+ specifiedName: name,
+ })
return
}
err = fn(flag, value)
if err != nil {
- f.failf(err.Error())
+ f.fail(err)
}
return
}
@@ -1014,7 +1040,7 @@ func (f *FlagSet) parseLongArg(s string, args []string, fn parseFunc) (a []strin
func (f *FlagSet) parseSingleShortArg(shorthands string, args []string, fn parseFunc) (outShorts string, outArgs []string, err error) {
outArgs = args
- if strings.HasPrefix(shorthands, "test.") {
+ if isGotestShorthandFlag(shorthands) {
return
}
@@ -1029,6 +1055,8 @@ func (f *FlagSet) parseSingleShortArg(shorthands string, args []string, fn parse
err = ErrHelp
return
case f.ParseErrorsWhitelist.UnknownFlags:
+ fallthrough
+ case f.ParseErrorsAllowlist.UnknownFlags:
// '-f=arg arg ...'
// we do not want to lose arg in this case
if len(shorthands) > 2 && shorthands[1] == '=' {
@@ -1039,7 +1067,11 @@ func (f *FlagSet) parseSingleShortArg(shorthands string, args []string, fn parse
outArgs = stripUnknownFlagValue(outArgs)
return
default:
- err = f.failf("unknown shorthand flag: %q in -%s", c, shorthands)
+ err = f.fail(&NotExistError{
+ name: string(c),
+ specifiedShorthands: shorthands,
+ messageType: flagUnknownShorthandFlagMessage,
+ })
return
}
}
@@ -1062,7 +1094,11 @@ func (f *FlagSet) parseSingleShortArg(shorthands string, args []string, fn parse
outArgs = args[1:]
} else {
// '-f' (arg was required)
- err = f.failf("flag needs an argument: %q in -%s", c, shorthands)
+ err = f.fail(&ValueRequiredError{
+ flag: flag,
+ specifiedName: string(c),
+ specifiedShorthands: shorthands,
+ })
return
}
@@ -1072,7 +1108,7 @@ func (f *FlagSet) parseSingleShortArg(shorthands string, args []string, fn parse
err = fn(flag, value)
if err != nil {
- f.failf(err.Error())
+ f.fail(err)
}
return
}
@@ -1135,12 +1171,12 @@ func (f *FlagSet) Parse(arguments []string) error {
}
f.parsed = true
- if len(arguments) < 0 {
+ f.args = make([]string, 0, len(arguments))
+
+ if len(arguments) == 0 {
return nil
}
- f.args = make([]string, 0, len(arguments))
-
set := func(flag *Flag, value string) error {
return f.Set(flag.Name, value)
}
@@ -1151,7 +1187,10 @@ func (f *FlagSet) Parse(arguments []string) error {
case ContinueOnError:
return err
case ExitOnError:
- fmt.Println(err)
+ if err == ErrHelp {
+ os.Exit(0)
+ }
+ fmt.Fprintln(f.Output(), err)
os.Exit(2)
case PanicOnError:
panic(err)
@@ -1177,6 +1216,10 @@ func (f *FlagSet) ParseAll(arguments []string, fn func(flag *Flag, value string)
case ContinueOnError:
return err
case ExitOnError:
+ if err == ErrHelp {
+ os.Exit(0)
+ }
+ fmt.Fprintln(f.Output(), err)
os.Exit(2)
case PanicOnError:
panic(err)
diff --git a/vendor/github.com/spf13/pflag/func.go b/vendor/github.com/spf13/pflag/func.go
new file mode 100644
index 0000000000000..9f4d88f271ce9
--- /dev/null
+++ b/vendor/github.com/spf13/pflag/func.go
@@ -0,0 +1,37 @@
+package pflag
+
+// -- func Value
+type funcValue func(string) error
+
+func (f funcValue) Set(s string) error { return f(s) }
+
+func (f funcValue) Type() string { return "func" }
+
+func (f funcValue) String() string { return "" } // same behavior as stdlib 'flag' package
+
+// Func defines a func flag with specified name, callback function and usage string.
+//
+// The callback function will be called every time "--{name}={value}" (or equivalent) is
+// parsed on the command line, with "{value}" as an argument.
+func (f *FlagSet) Func(name string, usage string, fn func(string) error) {
+ f.FuncP(name, "", usage, fn)
+}
+
+// FuncP is like Func, but accepts a shorthand letter that can be used after a single dash.
+func (f *FlagSet) FuncP(name string, shorthand string, usage string, fn func(string) error) {
+ var val Value = funcValue(fn)
+ f.VarP(val, name, shorthand, usage)
+}
+
+// Func defines a func flag with specified name, callback function and usage string.
+//
+// The callback function will be called every time "--{name}={value}" (or equivalent) is
+// parsed on the command line, with "{value}" as an argument.
+func Func(name string, usage string, fn func(string) error) {
+ CommandLine.FuncP(name, "", usage, fn)
+}
+
+// FuncP is like Func, but accepts a shorthand letter that can be used after a single dash.
+func FuncP(name, shorthand string, usage string, fn func(string) error) {
+ CommandLine.FuncP(name, shorthand, usage, fn)
+}
diff --git a/vendor/github.com/spf13/pflag/golangflag.go b/vendor/github.com/spf13/pflag/golangflag.go
index d3dd72b7feed6..e62eab53810c3 100644
--- a/vendor/github.com/spf13/pflag/golangflag.go
+++ b/vendor/github.com/spf13/pflag/golangflag.go
@@ -8,8 +8,18 @@ import (
goflag "flag"
"reflect"
"strings"
+ "time"
)
+// go test flags prefixes
+func isGotestFlag(flag string) bool {
+ return strings.HasPrefix(flag, "-test.")
+}
+
+func isGotestShorthandFlag(flag string) bool {
+ return strings.HasPrefix(flag, "test.")
+}
+
// flagValueWrapper implements pflag.Value around a flag.Value. The main
// difference here is the addition of the Type method that returns a string
// name of the type. As this is generally unknown, we approximate that with
@@ -103,3 +113,49 @@ func (f *FlagSet) AddGoFlagSet(newSet *goflag.FlagSet) {
}
f.addedGoFlagSets = append(f.addedGoFlagSets, newSet)
}
+
+// CopyToGoFlagSet will add all current flags to the given Go flag set.
+// Deprecation remarks get copied into the usage description.
+// Whenever possible, a flag gets added for which Go flags shows
+// a proper type in the help message.
+func (f *FlagSet) CopyToGoFlagSet(newSet *goflag.FlagSet) {
+ f.VisitAll(func(flag *Flag) {
+ usage := flag.Usage
+ if flag.Deprecated != "" {
+ usage += " (DEPRECATED: " + flag.Deprecated + ")"
+ }
+
+ switch value := flag.Value.(type) {
+ case *stringValue:
+ newSet.StringVar((*string)(value), flag.Name, flag.DefValue, usage)
+ case *intValue:
+ newSet.IntVar((*int)(value), flag.Name, *(*int)(value), usage)
+ case *int64Value:
+ newSet.Int64Var((*int64)(value), flag.Name, *(*int64)(value), usage)
+ case *uintValue:
+ newSet.UintVar((*uint)(value), flag.Name, *(*uint)(value), usage)
+ case *uint64Value:
+ newSet.Uint64Var((*uint64)(value), flag.Name, *(*uint64)(value), usage)
+ case *durationValue:
+ newSet.DurationVar((*time.Duration)(value), flag.Name, *(*time.Duration)(value), usage)
+ case *float64Value:
+ newSet.Float64Var((*float64)(value), flag.Name, *(*float64)(value), usage)
+ default:
+ newSet.Var(flag.Value, flag.Name, usage)
+ }
+ })
+}
+
+// ParseSkippedFlags explicitly Parses go test flags (i.e. the one starting with '-test.') with goflag.Parse(),
+// since by default those are skipped by pflag.Parse().
+// Typical usage example: `ParseGoTestFlags(os.Args[1:], goflag.CommandLine)`
+func ParseSkippedFlags(osArgs []string, goFlagSet *goflag.FlagSet) error {
+ var skippedFlags []string
+ for _, f := range osArgs {
+ if isGotestFlag(f) {
+ skippedFlags = append(skippedFlags, f)
+ }
+ }
+ return goFlagSet.Parse(skippedFlags)
+}
+
diff --git a/vendor/github.com/spf13/pflag/ipnet_slice.go b/vendor/github.com/spf13/pflag/ipnet_slice.go
index 6b541aa8798cf..c6e89da18d8e8 100644
--- a/vendor/github.com/spf13/pflag/ipnet_slice.go
+++ b/vendor/github.com/spf13/pflag/ipnet_slice.go
@@ -73,7 +73,7 @@ func (s *ipNetSliceValue) String() string {
func ipNetSliceConv(val string) (interface{}, error) {
val = strings.Trim(val, "[]")
- // Emtpy string would cause a slice with one (empty) entry
+ // Empty string would cause a slice with one (empty) entry
if len(val) == 0 {
return []net.IPNet{}, nil
}
diff --git a/vendor/github.com/spf13/pflag/string_to_string.go b/vendor/github.com/spf13/pflag/string_to_string.go
index 890a01afc0300..1d1e3bf91a35e 100644
--- a/vendor/github.com/spf13/pflag/string_to_string.go
+++ b/vendor/github.com/spf13/pflag/string_to_string.go
@@ -4,6 +4,7 @@ import (
"bytes"
"encoding/csv"
"fmt"
+ "sort"
"strings"
)
@@ -62,8 +63,15 @@ func (s *stringToStringValue) Type() string {
}
func (s *stringToStringValue) String() string {
+ keys := make([]string, 0, len(*s.value))
+ for k := range *s.value {
+ keys = append(keys, k)
+ }
+ sort.Strings(keys)
+
records := make([]string, 0, len(*s.value)>>1)
- for k, v := range *s.value {
+ for _, k := range keys {
+ v := (*s.value)[k]
records = append(records, k+"="+v)
}
diff --git a/vendor/github.com/spf13/pflag/text.go b/vendor/github.com/spf13/pflag/text.go
new file mode 100644
index 0000000000000..886d5a3d8065a
--- /dev/null
+++ b/vendor/github.com/spf13/pflag/text.go
@@ -0,0 +1,81 @@
+package pflag
+
+import (
+ "encoding"
+ "fmt"
+ "reflect"
+)
+
+// following is copied from go 1.23.4 flag.go
+type textValue struct{ p encoding.TextUnmarshaler }
+
+func newTextValue(val encoding.TextMarshaler, p encoding.TextUnmarshaler) textValue {
+ ptrVal := reflect.ValueOf(p)
+ if ptrVal.Kind() != reflect.Ptr {
+ panic("variable value type must be a pointer")
+ }
+ defVal := reflect.ValueOf(val)
+ if defVal.Kind() == reflect.Ptr {
+ defVal = defVal.Elem()
+ }
+ if defVal.Type() != ptrVal.Type().Elem() {
+ panic(fmt.Sprintf("default type does not match variable type: %v != %v", defVal.Type(), ptrVal.Type().Elem()))
+ }
+ ptrVal.Elem().Set(defVal)
+ return textValue{p}
+}
+
+func (v textValue) Set(s string) error {
+ return v.p.UnmarshalText([]byte(s))
+}
+
+func (v textValue) Get() interface{} {
+ return v.p
+}
+
+func (v textValue) String() string {
+ if m, ok := v.p.(encoding.TextMarshaler); ok {
+ if b, err := m.MarshalText(); err == nil {
+ return string(b)
+ }
+ }
+ return ""
+}
+
+//end of copy
+
+func (v textValue) Type() string {
+ return reflect.ValueOf(v.p).Type().Name()
+}
+
+// GetText set out, which implements encoding.UnmarshalText, to the value of a flag with given name
+func (f *FlagSet) GetText(name string, out encoding.TextUnmarshaler) error {
+ flag := f.Lookup(name)
+ if flag == nil {
+ return fmt.Errorf("flag accessed but not defined: %s", name)
+ }
+ if flag.Value.Type() != reflect.TypeOf(out).Name() {
+ return fmt.Errorf("trying to get %s value of flag of type %s", reflect.TypeOf(out).Name(), flag.Value.Type())
+ }
+ return out.UnmarshalText([]byte(flag.Value.String()))
+}
+
+// TextVar defines a flag with a specified name, default value, and usage string. The argument p must be a pointer to a variable that will hold the value of the flag, and p must implement encoding.TextUnmarshaler. If the flag is used, the flag value will be passed to p's UnmarshalText method. The type of the default value must be the same as the type of p.
+func (f *FlagSet) TextVar(p encoding.TextUnmarshaler, name string, value encoding.TextMarshaler, usage string) {
+ f.VarP(newTextValue(value, p), name, "", usage)
+}
+
+// TextVarP is like TextVar, but accepts a shorthand letter that can be used after a single dash.
+func (f *FlagSet) TextVarP(p encoding.TextUnmarshaler, name, shorthand string, value encoding.TextMarshaler, usage string) {
+ f.VarP(newTextValue(value, p), name, shorthand, usage)
+}
+
+// TextVar defines a flag with a specified name, default value, and usage string. The argument p must be a pointer to a variable that will hold the value of the flag, and p must implement encoding.TextUnmarshaler. If the flag is used, the flag value will be passed to p's UnmarshalText method. The type of the default value must be the same as the type of p.
+func TextVar(p encoding.TextUnmarshaler, name string, value encoding.TextMarshaler, usage string) {
+ CommandLine.VarP(newTextValue(value, p), name, "", usage)
+}
+
+// TextVarP is like TextVar, but accepts a shorthand letter that can be used after a single dash.
+func TextVarP(p encoding.TextUnmarshaler, name, shorthand string, value encoding.TextMarshaler, usage string) {
+ CommandLine.VarP(newTextValue(value, p), name, shorthand, usage)
+}
diff --git a/vendor/github.com/spf13/pflag/time.go b/vendor/github.com/spf13/pflag/time.go
new file mode 100644
index 0000000000000..3dee424791a88
--- /dev/null
+++ b/vendor/github.com/spf13/pflag/time.go
@@ -0,0 +1,124 @@
+package pflag
+
+import (
+ "fmt"
+ "strings"
+ "time"
+)
+
+// TimeValue adapts time.Time for use as a flag.
+type timeValue struct {
+ *time.Time
+ formats []string
+}
+
+func newTimeValue(val time.Time, p *time.Time, formats []string) *timeValue {
+ *p = val
+ return &timeValue{
+ Time: p,
+ formats: formats,
+ }
+}
+
+// Set time.Time value from string based on accepted formats.
+func (d *timeValue) Set(s string) error {
+ s = strings.TrimSpace(s)
+ for _, f := range d.formats {
+ v, err := time.Parse(f, s)
+ if err != nil {
+ continue
+ }
+ *d.Time = v
+ return nil
+ }
+
+ formatsString := ""
+ for i, f := range d.formats {
+ if i > 0 {
+ formatsString += ", "
+ }
+ formatsString += fmt.Sprintf("`%s`", f)
+ }
+
+ return fmt.Errorf("invalid time format `%s` must be one of: %s", s, formatsString)
+}
+
+// Type name for time.Time flags.
+func (d *timeValue) Type() string {
+ return "time"
+}
+
+func (d *timeValue) String() string {
+ if d.Time.IsZero() {
+ return ""
+ } else {
+ return d.Time.Format(time.RFC3339Nano)
+ }
+}
+
+// GetTime return the time value of a flag with the given name
+func (f *FlagSet) GetTime(name string) (time.Time, error) {
+ flag := f.Lookup(name)
+ if flag == nil {
+ err := fmt.Errorf("flag accessed but not defined: %s", name)
+ return time.Time{}, err
+ }
+
+ if flag.Value.Type() != "time" {
+ err := fmt.Errorf("trying to get %s value of flag of type %s", "time", flag.Value.Type())
+ return time.Time{}, err
+ }
+
+ val, ok := flag.Value.(*timeValue)
+ if !ok {
+ return time.Time{}, fmt.Errorf("value %s is not a time", flag.Value)
+ }
+
+ return *val.Time, nil
+}
+
+// TimeVar defines a time.Time flag with specified name, default value, and usage string.
+// The argument p points to a time.Time variable in which to store the value of the flag.
+func (f *FlagSet) TimeVar(p *time.Time, name string, value time.Time, formats []string, usage string) {
+ f.TimeVarP(p, name, "", value, formats, usage)
+}
+
+// TimeVarP is like TimeVar, but accepts a shorthand letter that can be used after a single dash.
+func (f *FlagSet) TimeVarP(p *time.Time, name, shorthand string, value time.Time, formats []string, usage string) {
+ f.VarP(newTimeValue(value, p, formats), name, shorthand, usage)
+}
+
+// TimeVar defines a time.Time flag with specified name, default value, and usage string.
+// The argument p points to a time.Time variable in which to store the value of the flag.
+func TimeVar(p *time.Time, name string, value time.Time, formats []string, usage string) {
+ CommandLine.TimeVarP(p, name, "", value, formats, usage)
+}
+
+// TimeVarP is like TimeVar, but accepts a shorthand letter that can be used after a single dash.
+func TimeVarP(p *time.Time, name, shorthand string, value time.Time, formats []string, usage string) {
+ CommandLine.VarP(newTimeValue(value, p, formats), name, shorthand, usage)
+}
+
+// Time defines a time.Time flag with specified name, default value, and usage string.
+// The return value is the address of a time.Time variable that stores the value of the flag.
+func (f *FlagSet) Time(name string, value time.Time, formats []string, usage string) *time.Time {
+ return f.TimeP(name, "", value, formats, usage)
+}
+
+// TimeP is like Time, but accepts a shorthand letter that can be used after a single dash.
+func (f *FlagSet) TimeP(name, shorthand string, value time.Time, formats []string, usage string) *time.Time {
+ p := new(time.Time)
+ f.TimeVarP(p, name, shorthand, value, formats, usage)
+ return p
+}
+
+// Time defines a time.Time flag with specified name, default value, and usage string.
+// The return value is the address of a time.Time variable that stores the value of the flag.
+func Time(name string, value time.Time, formats []string, usage string) *time.Time {
+ return CommandLine.TimeP(name, "", value, formats, usage)
+}
+
+// TimeP is like Time, but accepts a shorthand letter that can be used after a single dash.
+func TimeP(name, shorthand string, value time.Time, formats []string, usage string) *time.Time {
+ return CommandLine.TimeP(name, shorthand, value, formats, usage)
+}
diff --git a/vendor/github.com/tinylib/msgp/msgp/autoshim.go b/vendor/github.com/tinylib/msgp/msgp/autoshim.go
new file mode 100644
index 0000000000000..7d5b4cabfef05
--- /dev/null
+++ b/vendor/github.com/tinylib/msgp/msgp/autoshim.go
@@ -0,0 +1,159 @@
+package msgp
+
+import "strconv"
+
+// AutoShim provides helper functions for converting between string and
+// numeric types.
+type AutoShim struct{}
+
+// ParseUint converts a string to a uint.
+func (a AutoShim) ParseUint(s string) (uint, error) {
+ v, err := strconv.ParseUint(s, 10, strconv.IntSize)
+ return uint(v), err
+}
+
+// ParseUint8 converts a string to a uint8.
+func (a AutoShim) ParseUint8(s string) (uint8, error) {
+ v, err := strconv.ParseUint(s, 10, 8)
+ return uint8(v), err
+}
+
+// ParseUint16 converts a string to a uint16.
+func (a AutoShim) ParseUint16(s string) (uint16, error) {
+ v, err := strconv.ParseUint(s, 10, 16)
+ return uint16(v), err
+}
+
+// ParseUint32 converts a string to a uint32.
+func (a AutoShim) ParseUint32(s string) (uint32, error) {
+ v, err := strconv.ParseUint(s, 10, 32)
+ return uint32(v), err
+}
+
+// ParseUint64 converts a string to a uint64.
+func (a AutoShim) ParseUint64(s string) (uint64, error) {
+ v, err := strconv.ParseUint(s, 10, 64)
+ return uint64(v), err
+}
+
+// ParseInt converts a string to an int.
+func (a AutoShim) ParseInt(s string) (int, error) {
+ v, err := strconv.ParseInt(s, 10, strconv.IntSize)
+ return int(v), err
+}
+
+// ParseInt8 converts a string to an int8.
+func (a AutoShim) ParseInt8(s string) (int8, error) {
+ v, err := strconv.ParseInt(s, 10, 8)
+ return int8(v), err
+}
+
+// ParseInt16 converts a string to an int16.
+func (a AutoShim) ParseInt16(s string) (int16, error) {
+ v, err := strconv.ParseInt(s, 10, 16)
+ return int16(v), err
+}
+
+// ParseInt32 converts a string to an int32.
+func (a AutoShim) ParseInt32(s string) (int32, error) {
+ v, err := strconv.ParseInt(s, 10, 32)
+ return int32(v), err
+}
+
+// ParseInt64 converts a string to an int64.
+func (a AutoShim) ParseInt64(s string) (int64, error) {
+ v, err := strconv.ParseInt(s, 10, 64)
+ return int64(v), err
+}
+
+// ParseBool converts a string to a bool.
+func (a AutoShim) ParseBool(s string) (bool, error) {
+ return strconv.ParseBool(s)
+}
+
+// ParseFloat64 converts a string to a float64.
+func (a AutoShim) ParseFloat64(s string) (float64, error) {
+ return strconv.ParseFloat(s, 64)
+}
+
+// ParseFloat32 converts a string to a float32.
+func (a AutoShim) ParseFloat32(s string) (float32, error) {
+ v, err := strconv.ParseFloat(s, 32)
+ return float32(v), err
+}
+
+// ParseByte converts a string to a byte.
+func (a AutoShim) ParseByte(s string) (byte, error) {
+ v, err := strconv.ParseUint(s, 10, 8)
+ return byte(v), err
+}
+
+// Uint8String returns the string representation of a uint8.
+func (a AutoShim) Uint8String(v uint8) string {
+ return strconv.FormatUint(uint64(v), 10)
+}
+
+// UintString returns the string representation of a uint.
+func (a AutoShim) UintString(v uint) string {
+ return strconv.FormatUint(uint64(v), 10)
+}
+
+// Uint16String returns the string representation of a uint16.
+func (a AutoShim) Uint16String(v uint16) string {
+ return strconv.FormatUint(uint64(v), 10)
+}
+
+// Uint32String returns the string representation of a uint32.
+func (a AutoShim) Uint32String(v uint32) string {
+ return strconv.FormatUint(uint64(v), 10)
+}
+
+// Uint64String returns the string representation of a uint64.
+func (a AutoShim) Uint64String(v uint64) string {
+ return strconv.FormatUint(v, 10)
+}
+
+// IntString returns the string representation of an int.
+func (a AutoShim) IntString(v int) string {
+ return strconv.FormatInt(int64(v), 10)
+}
+
+// Int8String returns the string representation of an int8.
+func (a AutoShim) Int8String(v int8) string {
+ return strconv.FormatInt(int64(v), 10)
+}
+
+// Int16String returns the string representation of an int16.
+func (a AutoShim) Int16String(v int16) string {
+ return strconv.FormatInt(int64(v), 10)
+}
+
+// Int32String returns the string representation of an int32.
+func (a AutoShim) Int32String(v int32) string {
+ return strconv.FormatInt(int64(v), 10)
+}
+
+// Int64String returns the string representation of an int64.
+func (a AutoShim) Int64String(v int64) string {
+ return strconv.FormatInt(v, 10)
+}
+
+// BoolString returns the string representation of a bool.
+func (a AutoShim) BoolString(v bool) string {
+ return strconv.FormatBool(v)
+}
+
+// Float64String returns the string representation of a float64.
+func (a AutoShim) Float64String(v float64) string {
+ return strconv.FormatFloat(v, 'g', -1, 64)
+}
+
+// Float32String returns the string representation of a float32.
+func (a AutoShim) Float32String(v float32) string {
+ return strconv.FormatFloat(float64(v), 'g', -1, 32)
+}
+
+// ByteString returns the string representation of a byte.
+func (a AutoShim) ByteString(v byte) string {
+ return strconv.FormatUint(uint64(v), 10)
+}
diff --git a/vendor/github.com/tinylib/msgp/msgp/errors.go b/vendor/github.com/tinylib/msgp/msgp/errors.go
index e6b42b6893787..e2261b760b447 100644
--- a/vendor/github.com/tinylib/msgp/msgp/errors.go
+++ b/vendor/github.com/tinylib/msgp/msgp/errors.go
@@ -17,6 +17,10 @@ var (
// This should only realistically be seen on adversarial data trying to exhaust the stack.
ErrRecursion error = errRecursion{}
+ // ErrLimitExceeded is returned when a set limit is exceeded.
+ // Limits can be set on the Reader to prevent excessive memory usage by adversarial data.
+ ErrLimitExceeded error = errLimitExceeded{}
+
// this error is only returned
// if we reach code that should
// be unreachable
@@ -143,6 +147,11 @@ type errRecursion struct{}
func (e errRecursion) Error() string { return "msgp: recursion limit reached" }
func (e errRecursion) Resumable() bool { return false }
+type errLimitExceeded struct{}
+
+func (e errLimitExceeded) Error() string { return "msgp: configured reader limit exceeded" }
+func (e errLimitExceeded) Resumable() bool { return false }
+
// ArrayError is an error returned
// when decoding a fix-sized array
// of the wrong size
diff --git a/vendor/github.com/tinylib/msgp/msgp/extension.go b/vendor/github.com/tinylib/msgp/msgp/extension.go
index cda71c984058f..b92af8fbbd6ac 100644
--- a/vendor/github.com/tinylib/msgp/msgp/extension.go
+++ b/vendor/github.com/tinylib/msgp/msgp/extension.go
@@ -383,6 +383,9 @@ func (m *Reader) ReadExtension(e Extension) error {
if expectedType := e.ExtensionType(); extType != expectedType {
return errExt(extType, expectedType)
}
+ if uint32(length) > m.GetMaxElements() {
+ return ErrLimitExceeded
+ }
p, err := m.R.Peek(offset + length)
if err != nil {
@@ -404,6 +407,9 @@ func (m *Reader) ReadExtensionRaw() (int8, []byte, error) {
if err != nil {
return 0, nil, err
}
+ if uint32(length) > m.GetMaxElements() {
+ return 0, nil, ErrLimitExceeded
+ }
payload, err := m.R.Next(offset + length)
if err != nil {
diff --git a/vendor/github.com/tinylib/msgp/msgp/json.go b/vendor/github.com/tinylib/msgp/msgp/json.go
index 18593f64d5ad8..e5c450b519bda 100644
--- a/vendor/github.com/tinylib/msgp/msgp/json.go
+++ b/vendor/github.com/tinylib/msgp/msgp/json.go
@@ -60,7 +60,7 @@ func CopyToJSON(dst io.Writer, src io.Reader) (n int64, err error) {
// WriteToJSON translates MessagePack from 'r' and writes it as
// JSON to 'w' until the underlying reader returns io.EOF. It returns
// the number of bytes written, and an error if it stopped before EOF.
-func (r *Reader) WriteToJSON(w io.Writer) (n int64, err error) {
+func (m *Reader) WriteToJSON(w io.Writer) (n int64, err error) {
var j jsWriter
var bf *bufio.Writer
if jsw, ok := w.(jsWriter); ok {
@@ -71,7 +71,7 @@ func (r *Reader) WriteToJSON(w io.Writer) (n int64, err error) {
}
var nn int
for err == nil {
- nn, err = rwNext(j, r)
+ nn, err = rwNext(j, m)
n += int64(nn)
}
if err != io.EOF {
@@ -382,6 +382,10 @@ func rwString(dst jsWriter, src *Reader) (n int, err error) {
return
}
write:
+ if uint64(read) > src.GetMaxStringLength() {
+ err = ErrLimitExceeded
+ return
+ }
p, err = src.R.Next(read)
if err != nil {
return
diff --git a/vendor/github.com/tinylib/msgp/msgp/read.go b/vendor/github.com/tinylib/msgp/msgp/read.go
index 20d3463bbd443..409dbcec581f6 100644
--- a/vendor/github.com/tinylib/msgp/msgp/read.go
+++ b/vendor/github.com/tinylib/msgp/msgp/read.go
@@ -152,6 +152,10 @@ type Reader struct {
R *fwd.Reader
scratch []byte
recursionDepth int
+
+ maxRecursionDepth int // maximum recursion depth
+ maxElements uint32 // maximum number of elements in arrays and maps
+ maxStrLen uint64 // maximum number of bytes in any string
}
// Read implements `io.Reader`
@@ -214,10 +218,53 @@ func (m *Reader) CopyNext(w io.Writer) (int64, error) {
return n, nil
}
+// SetMaxRecursionDepth sets the maximum recursion depth.
+func (m *Reader) SetMaxRecursionDepth(d int) {
+ m.maxRecursionDepth = d
+}
+
+// GetMaxRecursionDepth returns the maximum recursion depth.
+// Set to 0 to use the default value of 100000.
+func (m *Reader) GetMaxRecursionDepth() int {
+ if m.maxRecursionDepth <= 0 {
+ return recursionLimit
+ }
+ return m.maxRecursionDepth
+}
+
+// SetMaxElements sets the maximum number of elements to allow in map, bin, array or extension payload.
+// Setting this to 0 will allow any number of elements - math.MaxUint32.
+// This does currently apply to generated code.
+func (m *Reader) SetMaxElements(d uint32) {
+ m.maxElements = d
+}
+
+// GetMaxElements will return the maximum number of elements in a map, bin, array or extension payload.
+func (m *Reader) GetMaxElements() uint32 {
+ if m.maxElements <= 0 {
+ return math.MaxUint32
+ }
+ return m.maxElements
+}
+
+// SetMaxStringLength sets the maximum number of bytes to allow in strings.
+// Setting this == 0 will allow any number of elements - math.MaxUint64.
+func (m *Reader) SetMaxStringLength(d uint64) {
+ m.maxStrLen = d
+}
+
+// GetMaxStringLength will return the current string length limit.
+func (m *Reader) GetMaxStringLength() uint64 {
+ if m.maxStrLen <= 0 {
+ return math.MaxUint64
+ }
+ return min(m.maxStrLen, math.MaxUint64)
+}
+
// recursiveCall will increment the recursion depth and return an error if it is exceeded.
// If a nil error is returned, done must be called to decrement the counter.
func (m *Reader) recursiveCall() (done func(), err error) {
- if m.recursionDepth >= recursionLimit {
+ if m.recursionDepth >= m.GetMaxRecursionDepth() {
return func() {}, ErrRecursion
}
m.recursionDepth++
@@ -415,7 +462,11 @@ func (m *Reader) ReadMapKey(scratch []byte) ([]byte, error) {
out, err := m.ReadStringAsBytes(scratch)
if err != nil {
if tperr, ok := err.(TypeError); ok && tperr.Encoded == BinType {
- return m.ReadBytes(scratch)
+ key, err := m.ReadBytes(scratch)
+ if uint64(len(key)) > m.GetMaxStringLength() {
+ return nil, ErrLimitExceeded
+ }
+ return key, err
}
return nil, err
}
@@ -468,6 +519,9 @@ fill:
if read == 0 {
return nil, ErrShortBytes
}
+ if uint64(read) > m.GetMaxStringLength() {
+ return nil, ErrLimitExceeded
+ }
return m.R.Next(read)
}
@@ -941,6 +995,10 @@ func (m *Reader) ReadBytes(scratch []byte) (b []byte, err error) {
return
}
if int64(cap(scratch)) < read {
+ if read > int64(m.GetMaxElements()) {
+ err = ErrLimitExceeded
+ return
+ }
b = make([]byte, read)
} else {
b = scratch[0:read]
@@ -983,7 +1041,7 @@ func (m *Reader) ReadBytesHeader() (sz uint32, err error) {
sz = uint32(big.Uint32(p[1:]))
return
default:
- err = badPrefix(BinType, p[0])
+ err = badPrefix(BinType, lead)
return
}
}
@@ -1070,6 +1128,10 @@ func (m *Reader) ReadStringAsBytes(scratch []byte) (b []byte, err error) {
return
}
fill:
+ if uint64(read) > m.GetMaxStringLength() {
+ err = ErrLimitExceeded
+ return
+ }
if int64(cap(scratch)) < read {
b = make([]byte, read)
} else {
@@ -1165,6 +1227,11 @@ fill:
s, err = "", nil
return
}
+ if uint64(read) > m.GetMaxStringLength() {
+ err = ErrLimitExceeded
+ return
+ }
+
// reading into the memory
// that will become the string
// itself has vastly superior
@@ -1244,6 +1311,10 @@ func (m *Reader) ReadMapStrIntf(mp map[string]interface{}) (err error) {
for key := range mp {
delete(mp, key)
}
+ if sz > m.GetMaxElements() {
+ err = ErrLimitExceeded
+ return
+ }
for i := uint32(0); i < sz; i++ {
var key string
var val interface{}
@@ -1477,6 +1548,10 @@ func (m *Reader) ReadIntf() (i interface{}, err error) {
} else {
defer done()
}
+ if sz > m.GetMaxElements() {
+ err = ErrLimitExceeded
+ return
+ }
out := make([]interface{}, int(sz))
for j := range out {
diff --git a/vendor/github.com/tinylib/msgp/msgp/read_bytes.go b/vendor/github.com/tinylib/msgp/msgp/read_bytes.go
index 8ed15a96887c8..176e14e3f28dd 100644
--- a/vendor/github.com/tinylib/msgp/msgp/read_bytes.go
+++ b/vendor/github.com/tinylib/msgp/msgp/read_bytes.go
@@ -1130,7 +1130,7 @@ func ReadTimeBytes(b []byte) (t time.Time, o []byte, err error) {
return
}
default:
- err = errExt(int8(b[2]), TimeExtension)
+ err = errExt(typ, TimeExtension)
return
}
}
@@ -1155,7 +1155,11 @@ func readMapStrIntfBytesDepth(b []byte, old map[string]interface{}, depth int) (
if err != nil {
return
}
-
+ // Map key, min size is 2 bytes. Value min 1 byte.
+ if int64(len(b)) < int64(sz)*3 {
+ err = ErrShortBytes
+ return
+ }
if old != nil {
for key := range old {
delete(old, key)
@@ -1215,6 +1219,11 @@ func readIntfBytesDepth(b []byte, depth int) (i interface{}, o []byte, err error
if err != nil {
return
}
+ // Each element will at least be 1 byte.
+ if uint32(len(o)) < sz {
+ err = ErrShortBytes
+ return
+ }
j := make([]interface{}, int(sz))
i = j
for d := range j {
diff --git a/vendor/go.opentelemetry.io/proto/otlp/metrics/v1/metrics.pb.go b/vendor/go.opentelemetry.io/proto/otlp/metrics/v1/metrics.pb.go
index ec187b13d0bef..ff82827913855 100644
--- a/vendor/go.opentelemetry.io/proto/otlp/metrics/v1/metrics.pb.go
+++ b/vendor/go.opentelemetry.io/proto/otlp/metrics/v1/metrics.pb.go
@@ -994,6 +994,16 @@ type NumberDataPoint struct {
// where this point belongs. The list may be empty (may contain 0 elements).
// Attribute keys MUST be unique (it is not allowed to have more than one
// attribute with the same key).
+ //
+ // The attribute values SHOULD NOT contain empty values.
+ // The attribute values SHOULD NOT contain bytes values.
+ // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
+ // double values.
+ // The attribute values SHOULD NOT contain kvlist values.
+ // The behavior of software that receives attributes containing such values can be unpredictable.
+ // These restrictions can change in a minor release.
+ // The restrictions take origin from the OpenTelemetry specification:
+ // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute.
Attributes []*v11.KeyValue `protobuf:"bytes,7,rep,name=attributes,proto3" json:"attributes,omitempty"`
// StartTimeUnixNano is optional but strongly encouraged, see the
// the detailed comments above Metric.
@@ -1144,6 +1154,16 @@ type HistogramDataPoint struct {
// where this point belongs. The list may be empty (may contain 0 elements).
// Attribute keys MUST be unique (it is not allowed to have more than one
// attribute with the same key).
+ //
+ // The attribute values SHOULD NOT contain empty values.
+ // The attribute values SHOULD NOT contain bytes values.
+ // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
+ // double values.
+ // The attribute values SHOULD NOT contain kvlist values.
+ // The behavior of software that receives attributes containing such values can be unpredictable.
+ // These restrictions can change in a minor release.
+ // The restrictions take origin from the OpenTelemetry specification:
+ // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute.
Attributes []*v11.KeyValue `protobuf:"bytes,9,rep,name=attributes,proto3" json:"attributes,omitempty"`
// StartTimeUnixNano is optional but strongly encouraged, see the
// the detailed comments above Metric.
@@ -1331,6 +1351,16 @@ type ExponentialHistogramDataPoint struct {
// where this point belongs. The list may be empty (may contain 0 elements).
// Attribute keys MUST be unique (it is not allowed to have more than one
// attribute with the same key).
+ //
+ // The attribute values SHOULD NOT contain empty values.
+ // The attribute values SHOULD NOT contain bytes values.
+ // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
+ // double values.
+ // The attribute values SHOULD NOT contain kvlist values.
+ // The behavior of software that receives attributes containing such values can be unpredictable.
+ // These restrictions can change in a minor release.
+ // The restrictions take origin from the OpenTelemetry specification:
+ // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute.
Attributes []*v11.KeyValue `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty"`
// StartTimeUnixNano is optional but strongly encouraged, see the
// the detailed comments above Metric.
@@ -1546,6 +1576,16 @@ type SummaryDataPoint struct {
// where this point belongs. The list may be empty (may contain 0 elements).
// Attribute keys MUST be unique (it is not allowed to have more than one
// attribute with the same key).
+ //
+ // The attribute values SHOULD NOT contain empty values.
+ // The attribute values SHOULD NOT contain bytes values.
+ // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
+ // double values.
+ // The attribute values SHOULD NOT contain kvlist values.
+ // The behavior of software that receives attributes containing such values can be unpredictable.
+ // These restrictions can change in a minor release.
+ // The restrictions take origin from the OpenTelemetry specification:
+ // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute.
Attributes []*v11.KeyValue `protobuf:"bytes,7,rep,name=attributes,proto3" json:"attributes,omitempty"`
// StartTimeUnixNano is optional but strongly encouraged, see the
// the detailed comments above Metric.
diff --git a/vendor/go.opentelemetry.io/proto/otlp/resource/v1/resource.pb.go b/vendor/go.opentelemetry.io/proto/otlp/resource/v1/resource.pb.go
index eb7745d66e021..3bcfcd82b5a27 100644
--- a/vendor/go.opentelemetry.io/proto/otlp/resource/v1/resource.pb.go
+++ b/vendor/go.opentelemetry.io/proto/otlp/resource/v1/resource.pb.go
@@ -44,6 +44,16 @@ type Resource struct {
// Set of attributes that describe the resource.
// Attribute keys MUST be unique (it is not allowed to have more than one
// attribute with the same key).
+ //
+ // The attribute values SHOULD NOT contain empty values.
+ // The attribute values SHOULD NOT contain bytes values.
+ // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
+ // double values.
+ // The attribute values SHOULD NOT contain kvlist values.
+ // The behavior of software that receives attributes containing such values can be unpredictable.
+ // These restrictions can change in a minor release.
+ // The restrictions take origin from the OpenTelemetry specification:
+ // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute.
Attributes []*v1.KeyValue `protobuf:"bytes,1,rep,name=attributes,proto3" json:"attributes,omitempty"`
// dropped_attributes_count is the number of dropped attributes. If the value is 0, then
// no attributes were dropped.
diff --git a/vendor/go.opentelemetry.io/proto/otlp/trace/v1/trace.pb.go b/vendor/go.opentelemetry.io/proto/otlp/trace/v1/trace.pb.go
index b342a0a940125..f9bdfc0aa9aa8 100644
--- a/vendor/go.opentelemetry.io/proto/otlp/trace/v1/trace.pb.go
+++ b/vendor/go.opentelemetry.io/proto/otlp/trace/v1/trace.pb.go
@@ -534,10 +534,18 @@ type Span struct {
// "example.com/myattribute": true
// "example.com/score": 10.239
//
- // The OpenTelemetry API specification further restricts the allowed value types:
- // https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/README.md#attribute
// Attribute keys MUST be unique (it is not allowed to have more than one
// attribute with the same key).
+ //
+ // The attribute values SHOULD NOT contain empty values.
+ // The attribute values SHOULD NOT contain bytes values.
+ // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
+ // double values.
+ // The attribute values SHOULD NOT contain kvlist values.
+ // The behavior of software that receives attributes containing such values can be unpredictable.
+ // These restrictions can change in a minor release.
+ // The restrictions take origin from the OpenTelemetry specification:
+ // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute.
Attributes []*v11.KeyValue `protobuf:"bytes,9,rep,name=attributes,proto3" json:"attributes,omitempty"`
// dropped_attributes_count is the number of attributes that were discarded. Attributes
// can be discarded because their keys are too long or because there are too many
@@ -777,6 +785,16 @@ type Span_Event struct {
// attributes is a collection of attribute key/value pairs on the event.
// Attribute keys MUST be unique (it is not allowed to have more than one
// attribute with the same key).
+ //
+ // The attribute values SHOULD NOT contain empty values.
+ // The attribute values SHOULD NOT contain bytes values.
+ // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
+ // double values.
+ // The attribute values SHOULD NOT contain kvlist values.
+ // The behavior of software that receives attributes containing such values can be unpredictable.
+ // These restrictions can change in a minor release.
+ // The restrictions take origin from the OpenTelemetry specification:
+ // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute.
Attributes []*v11.KeyValue `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty"`
// dropped_attributes_count is the number of dropped attributes. If the value is 0,
// then no attributes were dropped.
@@ -862,6 +880,16 @@ type Span_Link struct {
// attributes is a collection of attribute key/value pairs on the link.
// Attribute keys MUST be unique (it is not allowed to have more than one
// attribute with the same key).
+ //
+ // The attribute values SHOULD NOT contain empty values.
+ // The attribute values SHOULD NOT contain bytes values.
+ // The attribute values SHOULD NOT contain array values different than array of string values, bool values, int values,
+ // double values.
+ // The attribute values SHOULD NOT contain kvlist values.
+ // The behavior of software that receives attributes containing such values can be unpredictable.
+ // These restrictions can change in a minor release.
+ // The restrictions take origin from the OpenTelemetry specification:
+ // https://github.com/open-telemetry/opentelemetry-specification/blob/v1.47.0/specification/common/README.md#attribute.
Attributes []*v11.KeyValue `protobuf:"bytes,4,rep,name=attributes,proto3" json:"attributes,omitempty"`
// dropped_attributes_count is the number of dropped attributes. If the value is 0,
// then no attributes were dropped.
diff --git a/vendor/k8s.io/utils/net/multi_listen.go b/vendor/k8s.io/utils/net/multi_listen.go
index 7cb7795beca7f..e5d508055d326 100644
--- a/vendor/k8s.io/utils/net/multi_listen.go
+++ b/vendor/k8s.io/utils/net/multi_listen.go
@@ -21,6 +21,7 @@ import (
"fmt"
"net"
"sync"
+ "sync/atomic"
)
// connErrPair pairs conn and error which is returned by accept on sub-listeners.
@@ -38,6 +39,7 @@ type multiListener struct {
connCh chan connErrPair
// stopCh communicates from parent to child listeners.
stopCh chan struct{}
+ closed atomic.Bool
}
// compile time check to ensure *multiListener implements net.Listener
@@ -150,10 +152,8 @@ func (ml *multiListener) Accept() (net.Conn, error) {
// the go-routines to exit.
func (ml *multiListener) Close() error {
// Make sure this can be called repeatedly without explosions.
- select {
- case <-ml.stopCh:
+ if !ml.closed.CompareAndSwap(false, true) {
return fmt.Errorf("use of closed network connection")
- default:
}
// Tell all sub-listeners to stop.
diff --git a/vendor/modernc.org/libc/Makefile b/vendor/modernc.org/libc/Makefile
index 0365ae7728e86..507d4ef9545e5 100644
--- a/vendor/modernc.org/libc/Makefile
+++ b/vendor/modernc.org/libc/Makefile
@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
-.PHONY: all build_all_targets check clean download edit editor generate dev membrk-test test work xtest short-test xlibc libc-test surface
+.PHONY: all build_all_targets check clean download edit editor generate dev membrk-test test work xtest short-test xlibc libc-test surface vet
SHELL=/bin/bash -o pipefail
@@ -14,7 +14,7 @@ all: editor
golint 2>&1
staticcheck 2>&1
-build_all_targets:
+build_all_targets: vet
./build_all_targets.sh
echo done
@@ -38,7 +38,6 @@ editor:
# gofmt -l -s -w *.go
go test -c -o /dev/null
go build -o /dev/null -v generator*.go
- go build -o /dev/null -v genasm.go
go vet 2>&1 | grep -n 'asm_' || true
generate: download
@@ -115,3 +114,6 @@ work:
surface:
surface > surface.new
surface surface.old surface.new > log-todo-surface || true
+
+vet:
+ go vet 2>&1 | grep abi0 | grep -v 'misuse' || true
diff --git a/vendor/modernc.org/libc/asm_linux_amd64.go b/vendor/modernc.org/libc/abi0_linux_amd64.go
similarity index 64%
rename from vendor/modernc.org/libc/asm_linux_amd64.go
rename to vendor/modernc.org/libc/abi0_linux_amd64.go
index 8ed09ec2fdcac..37922480014b0 100644
--- a/vendor/modernc.org/libc/asm_linux_amd64.go
+++ b/vendor/modernc.org/libc/abi0_linux_amd64.go
@@ -1,264 +1,1657 @@
-// Code generated for linux/amd64 by 'genasm', DO NOT EDIT.
+// Code generated for linux/amd64 by 'qbecc --abi0wrap .', DO NOT EDIT.
package libc
+import "unsafe"
+
+var _ unsafe.Pointer
+
+//go:noescape
+func Y_Exit(tls *TLS, ec int32)
+
+//go:noescape
+func Y_IO_feof_unlocked(tls *TLS, f uintptr) (r int32)
+
+//go:noescape
+func Y_IO_ferror_unlocked(tls *TLS, f uintptr) (r int32)
+
+//go:noescape
+func Y_IO_getc(tls *TLS, f1 uintptr) (r int32)
+
+//go:noescape
+func Y_IO_getc_unlocked(tls *TLS, f uintptr) (r int32)
+
+//go:noescape
+func Y_IO_putc(tls *TLS, c1 int32, f1 uintptr) (r int32)
+
+//go:noescape
+func Y_IO_putc_unlocked(tls *TLS, c int32, f uintptr) (r int32)
+
+//go:noescape
+func Y___errno_location(tls *TLS) (r uintptr)
+
+//go:noescape
+func Y__aio_close(tls *TLS, fd int32) (_2 int32)
+
+//go:noescape
+func Y__asctime_r(tls *TLS, tm uintptr, buf uintptr) (r uintptr)
+
+//go:noescape
+func Y__assert_fail(tls *TLS, expr uintptr, file uintptr, line int32, func1 uintptr)
+
+//go:noescape
+func Y__atomic_compare_exchangeInt16(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) (_3 int32)
+
+//go:noescape
+func Y__atomic_compare_exchangeInt32(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) (_3 int32)
+
+//go:noescape
+func Y__atomic_compare_exchangeInt64(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) (_3 int32)
+
+//go:noescape
+func Y__atomic_compare_exchangeInt8(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) (_3 int32)
+
+//go:noescape
+func Y__atomic_compare_exchangeUint16(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) (_3 int32)
+
+//go:noescape
+func Y__atomic_compare_exchangeUint32(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) (_3 int32)
+
+//go:noescape
+func Y__atomic_compare_exchangeUint64(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) (_3 int32)
+
+//go:noescape
+func Y__atomic_compare_exchangeUint8(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) (_3 int32)
+
+//go:noescape
+func Y__atomic_exchangeInt16(t *TLS, ptr, val, ret uintptr, _ int32)
+
+//go:noescape
+func Y__atomic_exchangeInt32(t *TLS, ptr, val, ret uintptr, _ int32)
+
+//go:noescape
+func Y__atomic_exchangeInt64(t *TLS, ptr, val, ret uintptr, _ int32)
+
+//go:noescape
+func Y__atomic_exchangeInt8(t *TLS, ptr, val, ret uintptr, _ int32)
+
+//go:noescape
+func Y__atomic_exchangeUint16(t *TLS, ptr, val, ret uintptr, _ int32)
+
+//go:noescape
+func Y__atomic_exchangeUint32(t *TLS, ptr, val, ret uintptr, _ int32)
+
+//go:noescape
+func Y__atomic_exchangeUint64(t *TLS, ptr, val, ret uintptr, _ int32)
+
+//go:noescape
+func Y__atomic_exchangeUint8(t *TLS, ptr, val, ret uintptr, _ int32)
+
+//go:noescape
+func Y__atomic_fetch_addInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+
+//go:noescape
+func Y__atomic_fetch_addInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+
+//go:noescape
+func Y__atomic_fetch_addInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+
+//go:noescape
+func Y__atomic_fetch_addInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+
+//go:noescape
+func Y__atomic_fetch_addUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+
+//go:noescape
+func Y__atomic_fetch_addUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+
+//go:noescape
+func Y__atomic_fetch_addUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+
+//go:noescape
+func Y__atomic_fetch_addUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+
+//go:noescape
+func Y__atomic_fetch_andInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+
+//go:noescape
+func Y__atomic_fetch_andInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+
+//go:noescape
+func Y__atomic_fetch_andInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+
+//go:noescape
+func Y__atomic_fetch_andInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+
+//go:noescape
+func Y__atomic_fetch_andUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+
+//go:noescape
+func Y__atomic_fetch_andUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+
+//go:noescape
+func Y__atomic_fetch_andUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+
+//go:noescape
+func Y__atomic_fetch_andUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+
+//go:noescape
+func Y__atomic_fetch_orInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+
+//go:noescape
+func Y__atomic_fetch_orInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+
+//go:noescape
+func Y__atomic_fetch_orInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+
+//go:noescape
+func Y__atomic_fetch_orInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+
+//go:noescape
+func Y__atomic_fetch_orUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+
+//go:noescape
+func Y__atomic_fetch_orUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+
+//go:noescape
+func Y__atomic_fetch_orUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+
+//go:noescape
+func Y__atomic_fetch_orUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+
+//go:noescape
+func Y__atomic_fetch_subInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+
+//go:noescape
+func Y__atomic_fetch_subInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+
+//go:noescape
+func Y__atomic_fetch_subInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+
+//go:noescape
+func Y__atomic_fetch_subInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+
+//go:noescape
+func Y__atomic_fetch_subUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+
+//go:noescape
+func Y__atomic_fetch_subUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+
+//go:noescape
+func Y__atomic_fetch_subUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+
+//go:noescape
+func Y__atomic_fetch_subUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+
+//go:noescape
+func Y__atomic_fetch_xorInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+
+//go:noescape
+func Y__atomic_fetch_xorInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+
+//go:noescape
+func Y__atomic_fetch_xorInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+
+//go:noescape
+func Y__atomic_fetch_xorInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+
+//go:noescape
+func Y__atomic_fetch_xorUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+
+//go:noescape
+func Y__atomic_fetch_xorUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+
+//go:noescape
+func Y__atomic_fetch_xorUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+
+//go:noescape
+func Y__atomic_fetch_xorUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+
+//go:noescape
+func Y__atomic_loadInt16(t *TLS, ptr, ret uintptr, memorder int32)
+
+//go:noescape
+func Y__atomic_loadInt32(t *TLS, ptr, ret uintptr, memorder int32)
+
+//go:noescape
+func Y__atomic_loadInt64(t *TLS, ptr, ret uintptr, memorder int32)
+
+//go:noescape
+func Y__atomic_loadInt8(t *TLS, ptr, ret uintptr, memorder int32)
+
+//go:noescape
+func Y__atomic_loadUint16(t *TLS, ptr, ret uintptr, memorder int32)
+
+//go:noescape
+func Y__atomic_loadUint32(t *TLS, ptr, ret uintptr, memorder int32)
+
+//go:noescape
+func Y__atomic_loadUint64(t *TLS, ptr, ret uintptr, memorder int32)
+
+//go:noescape
+func Y__atomic_loadUint8(t *TLS, ptr, ret uintptr, memorder int32)
+
+//go:noescape
+func Y__atomic_storeInt16(t *TLS, ptr, val uintptr, memorder int32)
+
+//go:noescape
+func Y__atomic_storeInt32(t *TLS, ptr, val uintptr, memorder int32)
+
+//go:noescape
+func Y__atomic_storeInt64(t *TLS, ptr, val uintptr, memorder int32)
+
+//go:noescape
+func Y__atomic_storeInt8(t *TLS, ptr, val uintptr, memorder int32)
+
+//go:noescape
+func Y__atomic_storeUint16(t *TLS, ptr, val uintptr, memorder int32)
+
+//go:noescape
+func Y__atomic_storeUint32(t *TLS, ptr, val uintptr, memorder int32)
+
+//go:noescape
+func Y__atomic_storeUint64(t *TLS, ptr, val uintptr, memorder int32)
+
+//go:noescape
+func Y__atomic_storeUint8(t *TLS, ptr, val uintptr, memorder int32)
+
+//go:noescape
+func Y__block_all_sigs(tls *TLS, set uintptr)
+
+//go:noescape
+func Y__block_app_sigs(tls *TLS, set uintptr)
+
+//go:noescape
+func Y__builtin___memcpy_chk(t *TLS, dest, src uintptr, n, os Tsize_t) (r uintptr)
+
+//go:noescape
+func Y__builtin___memmove_chk(t *TLS, dest, src uintptr, n, os Tsize_t) (_3 uintptr)
+
+//go:noescape
+func Y__builtin___memset_chk(t *TLS, s uintptr, c int32, n, os Tsize_t) (_4 uintptr)
+
+//go:noescape
+func Y__builtin___snprintf_chk(t *TLS, str uintptr, maxlen Tsize_t, flag int32, os Tsize_t, format, args uintptr) (r int32)
+
+//go:noescape
+func Y__builtin___sprintf_chk(t *TLS, s uintptr, flag int32, os Tsize_t, format, args uintptr) (r int32)
+
+//go:noescape
+func Y__builtin___strcat_chk(t *TLS, dest, src uintptr, os Tsize_t) (r uintptr)
+
+//go:noescape
+func Y__builtin___strcpy_chk(t *TLS, dest, src uintptr, os Tsize_t) (_3 uintptr)
+
+//go:noescape
+func Y__builtin___strncpy_chk(t *TLS, dest, src uintptr, n, os Tsize_t) (r uintptr)
+
+//go:noescape
+func Y__builtin___vsnprintf_chk(t *TLS, str uintptr, maxlen Tsize_t, flag int32, os Tsize_t, format, args uintptr) (r int32)
+
+//go:noescape
+func Y__builtin_abort(t *TLS)
+
+//go:noescape
+func Y__builtin_abs(t *TLS, j int32) (_2 int32)
+
+//go:noescape
+func Y__builtin_add_overflowInt64(t *TLS, a, b int64, res uintptr) (_3 int32)
+
+//go:noescape
+func Y__builtin_add_overflowUint32(t *TLS, a, b uint32, res uintptr) (_3 int32)
+
+//go:noescape
+func Y__builtin_add_overflowUint64(t *TLS, a, b uint64, res uintptr) (_3 int32)
+
+//go:noescape
+func Y__builtin_alloca(tls *TLS, size Tsize_t) (_2 uintptr)
+
+//go:noescape
+func Y__builtin_bswap16(t *TLS, x uint16) (_2 uint16)
+
+//go:noescape
+func Y__builtin_bswap32(t *TLS, x uint32) (_2 uint32)
+
+//go:noescape
+func Y__builtin_bswap64(t *TLS, x uint64) (_2 uint64)
+
+//go:noescape
+func Y__builtin_bzero(t *TLS, s uintptr, n Tsize_t)
+
+//go:noescape
+func Y__builtin_clz(t *TLS, n uint32) (_2 int32)
+
+//go:noescape
+func Y__builtin_clzl(t *TLS, n ulong) (_2 int32)
+
+//go:noescape
+func Y__builtin_clzll(t *TLS, n uint64) (_2 int32)
+
+//go:noescape
+func Y__builtin_copysign(t *TLS, x, y float64) (_2 float64)
+
+//go:noescape
+func Y__builtin_copysignf(t *TLS, x, y float32) (_2 float32)
+
+//go:noescape
+func Y__builtin_copysignl(t *TLS, x, y float64) (_2 float64)
+
+//go:noescape
+func Y__builtin_ctz(t *TLS, n uint32) (_2 int32)
+
+//go:noescape
+func Y__builtin_ctzl(tls *TLS, x ulong) (_2 int32)
+
+//go:noescape
+func Y__builtin_exit(t *TLS, status int32)
+
+//go:noescape
+func Y__builtin_expect(t *TLS, exp, c long) (_2 long)
+
+//go:noescape
+func Y__builtin_fabs(t *TLS, x float64) (_2 float64)
+
+//go:noescape
+func Y__builtin_fabsf(t *TLS, x float32) (_2 float32)
+
+//go:noescape
+func Y__builtin_fabsl(t *TLS, x float64) (_2 float64)
+
+//go:noescape
+func Y__builtin_ffs(tls *TLS, i int32) (r int32)
+
+//go:noescape
+func Y__builtin_fma(tls *TLS, x, y, z float64) (r float64)
+
+//go:noescape
+func Y__builtin_fmax(tls *TLS, x float64, y float64) (r float64)
+
+//go:noescape
+func Y__builtin_fmin(tls *TLS, x float64, y float64) (r float64)
+
+//go:noescape
+func Y__builtin_free(t *TLS, ptr uintptr)
+
+//go:noescape
+func Y__builtin_getentropy(t *TLS, buf uintptr, n Tsize_t) (_3 int32)
+
+//go:noescape
+func Y__builtin_huge_val(t *TLS) (_1 float64)
+
+//go:noescape
+func Y__builtin_huge_valf(t *TLS) (_1 float32)
+
+//go:noescape
+func Y__builtin_hypot(tls *TLS, x float64, y float64) (r float64)
+
+//go:noescape
+func Y__builtin_inf(t *TLS) (_1 float64)
+
+//go:noescape
+func Y__builtin_inff(tls *TLS) (_1 float32)
+
+//go:noescape
+func Y__builtin_infl(t *TLS) (_1 float64)
+
+//go:noescape
+func Y__builtin_isblank(tls *TLS, c int32) (r int32)
+
+//go:noescape
+func Y__builtin_isnan(t *TLS, x float64) (_2 int32)
+
+//go:noescape
+func Y__builtin_isnanf(t *TLS, x float32) (_2 int32)
+
+//go:noescape
+func Y__builtin_isnanl(t *TLS, x float64) (_2 int32)
+
+//go:noescape
+func Y__builtin_isprint(tls *TLS, c int32) (r int32)
+
+//go:noescape
+func Y__builtin_isunordered(t *TLS, a, b float64) (_2 int32)
+
+//go:noescape
+func Y__builtin_llabs(tls *TLS, a int64) (_2 int64)
+
+//go:noescape
+func Y__builtin_log2(t *TLS, x float64) (_2 float64)
+
+//go:noescape
+func Y__builtin_lrint(tls *TLS, x float64) (r long)
+
+//go:noescape
+func Y__builtin_lrintf(tls *TLS, x float32) (r long)
+
+//go:noescape
+func Y__builtin_lround(tls *TLS, x float64) (r long)
+
+//go:noescape
+func Y__builtin_malloc(t *TLS, size Tsize_t) (_2 uintptr)
+
+//go:noescape
+func Y__builtin_memcmp(t *TLS, s1, s2 uintptr, n Tsize_t) (_3 int32)
+
+//go:noescape
+func Y__builtin_memcpy(t *TLS, dest, src uintptr, n Tsize_t) (r uintptr)
+
+//go:noescape
+func Y__builtin_memset(t *TLS, s uintptr, c int32, n Tsize_t) (_4 uintptr)
+
+//go:noescape
+func Y__builtin_mmap(t *TLS, addr uintptr, length Tsize_t, prot, flags, fd int32, offset Toff_t) (_5 uintptr)
+
+//go:noescape
+func Y__builtin_mul_overflowInt64(t *TLS, a, b int64, res uintptr) (_3 int32)
+
+//go:noescape
+func Y__builtin_mul_overflowUint128(t *TLS, a, b Uint128, res uintptr) (_3 int32)
+
+//go:noescape
+func Y__builtin_mul_overflowUint64(t *TLS, a, b uint64, res uintptr) (_3 int32)
+
+//go:noescape
+func Y__builtin_nan(t *TLS, s uintptr) (_2 float64)
+
+//go:noescape
+func Y__builtin_nanf(tls *TLS, s uintptr) (_2 float32)
+
+//go:noescape
+func Y__builtin_nanl(t *TLS, s uintptr) (_2 float64)
+
+//go:noescape
+func Y__builtin_object_size(t *TLS, p uintptr, typ int32) (_3 Tsize_t)
+
+//go:noescape
+func Y__builtin_popcount(t *TLS, x uint32) (_2 int32)
+
+//go:noescape
+func Y__builtin_popcountl(t *TLS, x ulong) (_2 int32)
+
+//go:noescape
+func Y__builtin_prefetch(t *TLS, addr, args uintptr)
+
+//go:noescape
+func Y__builtin_printf(tls *TLS, fmt uintptr, va uintptr) (r int32)
+
+//go:noescape
+func Y__builtin_rintf(tls *TLS, x float32) (r float32)
+
+//go:noescape
+func Y__builtin_round(tls *TLS, x float64) (r float64)
+
+//go:noescape
+func Y__builtin_roundf(tls *TLS, x float32) (r float32)
+
+//go:noescape
+func Y__builtin_snprintf(t *TLS, str uintptr, size Tsize_t, format, args uintptr) (_4 int32)
+
+//go:noescape
+func Y__builtin_sprintf(t *TLS, str, format, args uintptr) (r int32)
+
+//go:noescape
+func Y__builtin_strchr(t *TLS, s uintptr, c int32) (_3 uintptr)
+
+//go:noescape
+func Y__builtin_strcmp(t *TLS, s1, s2 uintptr) (_2 int32)
+
+//go:noescape
+func Y__builtin_strcpy(t *TLS, dest, src uintptr) (_2 uintptr)
+
+//go:noescape
+func Y__builtin_strlen(t *TLS, s uintptr) (_2 Tsize_t)
+
+//go:noescape
+func Y__builtin_sub_overflowInt64(t *TLS, a, b int64, res uintptr) (_3 int32)
+
+//go:noescape
+func Y__builtin_trap(t *TLS)
+
+//go:noescape
+func Y__builtin_trunc(tls *TLS, x float64) (r float64)
+
+//go:noescape
+func Y__builtin_unreachable(t *TLS)
+
+//go:noescape
+func Y__builtin_vsnprintf(t *TLS, str uintptr, size Tsize_t, format, va uintptr) (_4 int32)
+
+//go:noescape
+func Y__c11_atomic_compare_exchange_strongInt16(t *TLS, ptr, expected uintptr, desired int16, success, failure int32) (_4 int32)
+
+//go:noescape
+func Y__c11_atomic_compare_exchange_strongInt32(t *TLS, ptr, expected uintptr, desired, success, failure int32) (_3 int32)
+
+//go:noescape
+func Y__c11_atomic_compare_exchange_strongInt64(t *TLS, ptr, expected uintptr, desired int64, success, failure int32) (_4 int32)
+
+//go:noescape
+func Y__c11_atomic_compare_exchange_strongInt8(t *TLS, ptr, expected uintptr, desired int8, success, failure int32) (_4 int32)
+
+//go:noescape
+func Y__c11_atomic_compare_exchange_strongUint16(t *TLS, ptr, expected uintptr, desired uint16, success, failure int32) (_4 int32)
+
+//go:noescape
+func Y__c11_atomic_compare_exchange_strongUint32(t *TLS, ptr, expected uintptr, desired uint32, success, failure int32) (_4 int32)
+
+//go:noescape
+func Y__c11_atomic_compare_exchange_strongUint64(t *TLS, ptr, expected uintptr, desired uint64, success, failure int32) (_4 int32)
+
+//go:noescape
+func Y__c11_atomic_compare_exchange_strongUint8(t *TLS, ptr, expected uintptr, desired uint8, success, failure int32) (_4 int32)
+
+//go:noescape
+func Y__c11_atomic_exchangeInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+
+//go:noescape
+func Y__c11_atomic_exchangeInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+
+//go:noescape
+func Y__c11_atomic_exchangeInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+
+//go:noescape
+func Y__c11_atomic_exchangeInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+
+//go:noescape
+func Y__c11_atomic_exchangeUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+
+//go:noescape
+func Y__c11_atomic_exchangeUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+
+//go:noescape
+func Y__c11_atomic_exchangeUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+
+//go:noescape
+func Y__c11_atomic_exchangeUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+
+//go:noescape
+func Y__c11_atomic_fetch_addInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+
+//go:noescape
+func Y__c11_atomic_fetch_addInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+
+//go:noescape
+func Y__c11_atomic_fetch_addInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+
+//go:noescape
+func Y__c11_atomic_fetch_addInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+
+//go:noescape
+func Y__c11_atomic_fetch_addUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+
+//go:noescape
+func Y__c11_atomic_fetch_addUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+
+//go:noescape
+func Y__c11_atomic_fetch_addUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+
+//go:noescape
+func Y__c11_atomic_fetch_addUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+
+//go:noescape
+func Y__c11_atomic_fetch_andInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+
+//go:noescape
+func Y__c11_atomic_fetch_andInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+
+//go:noescape
+func Y__c11_atomic_fetch_andInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+
+//go:noescape
+func Y__c11_atomic_fetch_andInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+
+//go:noescape
+func Y__c11_atomic_fetch_andUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+
+//go:noescape
+func Y__c11_atomic_fetch_andUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+
+//go:noescape
+func Y__c11_atomic_fetch_andUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+
+//go:noescape
+func Y__c11_atomic_fetch_andUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+
+//go:noescape
+func Y__c11_atomic_fetch_orInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+
+//go:noescape
+func Y__c11_atomic_fetch_orInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+
+//go:noescape
+func Y__c11_atomic_fetch_orInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+
+//go:noescape
+func Y__c11_atomic_fetch_orInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+
+//go:noescape
+func Y__c11_atomic_fetch_orUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+
+//go:noescape
+func Y__c11_atomic_fetch_orUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+
+//go:noescape
+func Y__c11_atomic_fetch_orUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+
+//go:noescape
+func Y__c11_atomic_fetch_orUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+
+//go:noescape
+func Y__c11_atomic_fetch_subInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+
+//go:noescape
+func Y__c11_atomic_fetch_subInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+
+//go:noescape
+func Y__c11_atomic_fetch_subInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+
+//go:noescape
+func Y__c11_atomic_fetch_subInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+
+//go:noescape
+func Y__c11_atomic_fetch_subUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+
+//go:noescape
+func Y__c11_atomic_fetch_subUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+
+//go:noescape
+func Y__c11_atomic_fetch_subUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+
+//go:noescape
+func Y__c11_atomic_fetch_subUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+
+//go:noescape
+func Y__c11_atomic_fetch_xorInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+
+//go:noescape
+func Y__c11_atomic_fetch_xorInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+
+//go:noescape
+func Y__c11_atomic_fetch_xorInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+
+//go:noescape
+func Y__c11_atomic_fetch_xorInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+
+//go:noescape
+func Y__c11_atomic_fetch_xorUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+
+//go:noescape
+func Y__c11_atomic_fetch_xorUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+
+//go:noescape
+func Y__c11_atomic_fetch_xorUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+
+//go:noescape
+func Y__c11_atomic_fetch_xorUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+
+//go:noescape
+func Y__c11_atomic_loadInt16(t *TLS, ptr uintptr, memorder int32) (r int16)
+
+//go:noescape
+func Y__c11_atomic_loadInt32(t *TLS, ptr uintptr, memorder int32) (r int32)
+
+//go:noescape
+func Y__c11_atomic_loadInt64(t *TLS, ptr uintptr, memorder int32) (r int64)
+
+//go:noescape
+func Y__c11_atomic_loadInt8(t *TLS, ptr uintptr, memorder int32) (r int8)
+
+//go:noescape
+func Y__c11_atomic_loadUint16(t *TLS, ptr uintptr, memorder int32) (r uint16)
+
+//go:noescape
+func Y__c11_atomic_loadUint32(t *TLS, ptr uintptr, memorder int32) (r uint32)
+
+//go:noescape
+func Y__c11_atomic_loadUint64(t *TLS, ptr uintptr, memorder int32) (r uint64)
+
+//go:noescape
+func Y__c11_atomic_loadUint8(t *TLS, ptr uintptr, memorder int32) (r uint8)
+
+//go:noescape
+func Y__c11_atomic_storeInt16(t *TLS, ptr uintptr, val int16, memorder int32)
+
+//go:noescape
+func Y__c11_atomic_storeInt32(t *TLS, ptr uintptr, val int32, memorder int32)
+
+//go:noescape
+func Y__c11_atomic_storeInt64(t *TLS, ptr uintptr, val int64, memorder int32)
+
+//go:noescape
+func Y__c11_atomic_storeInt8(t *TLS, ptr uintptr, val int8, memorder int32)
+
+//go:noescape
+func Y__c11_atomic_storeUint16(t *TLS, ptr uintptr, val uint16, memorder int32)
+
+//go:noescape
+func Y__c11_atomic_storeUint32(t *TLS, ptr uintptr, val uint32, memorder int32)
+
+//go:noescape
+func Y__c11_atomic_storeUint64(t *TLS, ptr uintptr, val uint64, memorder int32)
+
+//go:noescape
+func Y__c11_atomic_storeUint8(t *TLS, ptr uintptr, val uint8, memorder int32)
+
+//go:noescape
+func Y__ccgo_dmesg(t *TLS, fmt uintptr, va uintptr)
+
+//go:noescape
+func Y__ccgo_getMutexType(tls *TLS, m uintptr) (_2 int32)
+
+//go:noescape
+func Y__ccgo_in6addr_anyp(t *TLS) (_1 uintptr)
+
+//go:noescape
+func Y__ccgo_pthreadAttrGetDetachState(tls *TLS, a uintptr) (_2 int32)
+
+//go:noescape
+func Y__ccgo_pthreadMutexattrGettype(tls *TLS, a uintptr) (_2 int32)
+
+//go:noescape
+func Y__ccgo_sqlite3_log(t *TLS, iErrCode int32, zFormat uintptr, args uintptr)
+
+//go:noescape
+func Y__clock_gettime(tls *TLS, clk Tclockid_t, ts uintptr) (r1 int32)
+
+//go:noescape
+func Y__clock_nanosleep(tls *TLS, clk Tclockid_t, flags int32, req uintptr, rem uintptr) (r int32)
+
+//go:noescape
+func Y__cmsg_nxthdr(t *TLS, msgh, cmsg uintptr) (_2 uintptr)
+
+//go:noescape
+func Y__convert_scm_timestamps(tls *TLS, msg uintptr, csize Tsocklen_t)
+
+//go:noescape
+func Y__cos(tls *TLS, x float64, y float64) (r1 float64)
+
+//go:noescape
+func Y__cosdf(tls *TLS, x float64) (r1 float32)
+
+//go:noescape
+func Y__crypt_blowfish(tls *TLS, key uintptr, setting uintptr, output uintptr) (r uintptr)
+
+//go:noescape
+func Y__crypt_des(tls *TLS, key uintptr, setting uintptr, output uintptr) (r uintptr)
+
+//go:noescape
+func Y__crypt_md5(tls *TLS, key uintptr, setting uintptr, output uintptr) (r uintptr)
+
+//go:noescape
+func Y__crypt_r(tls *TLS, key uintptr, salt uintptr, data uintptr) (r uintptr)
+
+//go:noescape
+func Y__crypt_sha256(tls *TLS, key uintptr, setting uintptr, output uintptr) (r uintptr)
+
+//go:noescape
+func Y__crypt_sha512(tls *TLS, key uintptr, setting uintptr, output uintptr) (r uintptr)
+
+//go:noescape
+func Y__ctype_b_loc(tls *TLS) (r uintptr)
+
+//go:noescape
+func Y__ctype_get_mb_cur_max(tls *TLS) (r Tsize_t)
+
+//go:noescape
+func Y__ctype_tolower_loc(tls *TLS) (r uintptr)
+
+//go:noescape
+func Y__ctype_toupper_loc(tls *TLS) (r uintptr)
+
+//go:noescape
+func Y__des_setkey(tls *TLS, key uintptr, ekey uintptr)
+
+//go:noescape
+func Y__dn_expand(tls *TLS, base uintptr, end uintptr, src uintptr, dest uintptr, space int32) (r int32)
+
+//go:noescape
+func Y__dns_parse(tls *TLS, r uintptr, rlen int32, __ccgo_fp_callback uintptr, ctx uintptr) (r1 int32)
+
+//go:noescape
+func __ccgo_abi0___dns_parse_2(_0 *TLS, _1 uintptr, _2 int32, _3 uintptr, _4 int32, _5 uintptr, _6 int32, __ccgo_fp uintptr) (_7 int32)
+
+func __ccgo_abiInternal___dns_parse_2(tls *TLS, dest, abi0CodePtr uintptr) {
+ f := func(_0 *TLS, _1 uintptr, _2 int32, _3 uintptr, _4 int32, _5 uintptr, _6 int32) (_7 int32) {
+ return __ccgo_abi0___dns_parse_2(_0, _1, _2, _3, _4, _5, _6, abi0CodePtr)
+ }
+ *(*[2]uintptr)(unsafe.Pointer(dest)) = *(*[2]uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&f))))
+}
+
+//go:noescape
+func Y__do_des(tls *TLS, l_in Tuint32_t, r_in Tuint32_t, l_out uintptr, r_out uintptr, count Tuint32_t, saltbits Tuint32_t, ekey uintptr)
+
+//go:noescape
+func Y__do_orphaned_stdio_locks(tls *TLS)
+
+//go:noescape
+func Y__dup3(tls *TLS, old int32, new1 int32, flags int32) (r1 int32)
+
+//go:noescape
+func Y__duplocale(tls *TLS, old Tlocale_t) (r Tlocale_t)
+
+//go:noescape
+func Y__env_rm_add(tls *TLS, old uintptr, new1 uintptr)
+
+//go:noescape
+func Y__errno_location(tls *TLS) (r uintptr)
+
+//go:noescape
+func Y__execvpe(tls *TLS, file uintptr, argv uintptr, envp uintptr) (r int32)
+
+//go:noescape
+func Y__expo2(tls *TLS, x float64, sign float64) (r float64)
+
+//go:noescape
+func Y__expo2f(tls *TLS, x float32, sign float32) (r float32)
+
+//go:noescape
+func Y__fbufsize(tls *TLS, f uintptr) (r Tsize_t)
+
+//go:noescape
+func Y__fclose_ca(tls *TLS, f uintptr) (r int32)
+
+//go:noescape
+func Y__fdopen(tls *TLS, fd int32, mode uintptr) (r uintptr)
+
+//go:noescape
+func Y__fesetround(tls *TLS, r int32) (r1 int32)
+
+//go:noescape
+func Y__fgetwc_unlocked(tls *TLS, f uintptr) (r Twint_t)
+
+//go:noescape
+func Y__flbf(tls *TLS, f uintptr) (r int32)
+
+//go:noescape
+func Y__floatscan(tls *TLS, f uintptr, prec int32, pok int32) (r float64)
+
+//go:noescape
+func Y__fmodeflags(tls *TLS, mode uintptr) (r int32)
+
+//go:noescape
+func Y__fopen_rb_ca(tls *TLS, filename uintptr, f uintptr, buf uintptr, len1 Tsize_t) (r uintptr)
+
+//go:noescape
+func Y__fpclassify(tls *TLS, x float64) (r int32)
+
+//go:noescape
+func Y__fpclassifyf(tls *TLS, x float32) (r int32)
+
+//go:noescape
+func Y__fpclassifyl(tls *TLS, x float64) (r int32)
+
+//go:noescape
+func Y__fpending(tls *TLS, f uintptr) (r Tsize_t)
+
+//go:noescape
+func Y__fpurge(tls *TLS, f uintptr) (r int32)
+
+//go:noescape
+func Y__fputwc_unlocked(tls *TLS, c Twchar_t, f uintptr) (r Twint_t)
+
+//go:noescape
+func Y__freadable(tls *TLS, f uintptr) (r int32)
+
+//go:noescape
+func Y__freadahead(tls *TLS, f uintptr) (r Tsize_t)
+
+//go:noescape
+func Y__freading(tls *TLS, f uintptr) (r int32)
+
+//go:noescape
+func Y__freadptr(tls *TLS, f uintptr, sizep uintptr) (r uintptr)
+
+//go:noescape
+func Y__freadptrinc(tls *TLS, f uintptr, inc Tsize_t)
+
+//go:noescape
+func Y__freelocale(tls *TLS, l Tlocale_t)
+
+//go:noescape
+func Y__fseeko(tls *TLS, f uintptr, off Toff_t, whence int32) (r int32)
+
+//go:noescape
+func Y__fseeko_unlocked(tls *TLS, f uintptr, off Toff_t, whence int32) (r int32)
+
+//go:noescape
+func Y__fseterr(tls *TLS, f uintptr)
+
+//go:noescape
+func Y__fsetlocking(tls *TLS, f uintptr, type1 int32) (r int32)
+
+//go:noescape
+func Y__fstat(tls *TLS, fd int32, st uintptr) (r int32)
+
+//go:noescape
+func Y__fstatat(tls *TLS, fd int32, path uintptr, st uintptr, flag int32) (r int32)
+
+//go:noescape
+func Y__ftello(tls *TLS, f uintptr) (r Toff_t)
+
+//go:noescape
+func Y__ftello_unlocked(tls *TLS, f uintptr) (r Toff_t)
+
+//go:noescape
+func Y__funcs_on_quick_exit(tls *TLS)
+
+//go:noescape
+func Y__futimesat(tls *TLS, dirfd int32, pathname uintptr, times uintptr) (r int32)
+
+//go:noescape
+func Y__fwritable(tls *TLS, f uintptr) (r int32)
+
+//go:noescape
+func Y__fwritex(tls *TLS, s uintptr, l Tsize_t, f uintptr) (r Tsize_t)
+
+//go:noescape
+func Y__fwriting(tls *TLS, f uintptr) (r int32)
+
+//go:noescape
+func Y__fxstat(tls *TLS, ver int32, fd int32, buf uintptr) (r int32)
+
+//go:noescape
+func Y__fxstatat(tls *TLS, ver int32, fd int32, path uintptr, buf uintptr, flag int32) (r int32)
+
+//go:noescape
+func Y__get_handler_set(tls *TLS, set uintptr)
+
+//go:noescape
+func Y__get_locale(tls *TLS, cat int32, val uintptr) (r uintptr)
+
+//go:noescape
+func Y__get_resolv_conf(tls *TLS, conf uintptr, search uintptr, search_sz Tsize_t) (r int32)
+
+//go:noescape
+func Y__getauxval(tls *TLS, item uint64) (r uint64)
+
+//go:noescape
+func Y__getdelim(tls *TLS, s uintptr, n uintptr, delim int32, f uintptr) (r Tssize_t)
+
+//go:noescape
+func Y__getgr_a(tls *TLS, name uintptr, gid Tgid_t, gr uintptr, buf uintptr, size uintptr, mem uintptr, nmem uintptr, res uintptr) (r int32)
+
+//go:noescape
+func Y__getgrent_a(tls *TLS, f uintptr, gr uintptr, line uintptr, size uintptr, mem uintptr, nmem uintptr, res uintptr) (r int32)
+
+//go:noescape
+func Y__getopt_msg(tls *TLS, a uintptr, b uintptr, c uintptr, l Tsize_t)
+
+//go:noescape
+func Y__getpw_a(tls *TLS, name uintptr, uid Tuid_t, pw uintptr, buf uintptr, size uintptr, res uintptr) (r int32)
+
+//go:noescape
+func Y__getpwent_a(tls *TLS, f uintptr, pw uintptr, line uintptr, size uintptr, res uintptr) (r int32)
+
+//go:noescape
+func Y__gettextdomain(tls *TLS) (r uintptr)
+
+//go:noescape
+func Y__gmtime_r(tls *TLS, t uintptr, tm uintptr) (r uintptr)
+
+//go:noescape
+func Y__h_errno_location(tls *TLS) (r uintptr)
+
+//go:noescape
+func Y__inet_aton(tls *TLS, s0 uintptr, dest uintptr) (r int32)
+
+//go:noescape
+func Y__init_ssp(tls *TLS, entropy uintptr)
+
+//go:noescape
+func Y__intscan(tls *TLS, f uintptr, base uint32, pok int32, lim uint64) (r uint64)
+
+//go:noescape
+func Y__isalnum_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__isalpha_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__isblank_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__iscntrl_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__isdigit_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__isfinite(tls *TLS, d float64) (_2 int32)
+
+//go:noescape
+func Y__isfinitef(tls *TLS, f float32) (_2 int32)
+
+//go:noescape
+func Y__isfinitel(tls *TLS, d float64) (_2 int32)
+
+//go:noescape
+func Y__isgraph_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__islower_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__isnan(t *TLS, x float64) (_2 int32)
+
+//go:noescape
+func Y__isnanf(t *TLS, arg float32) (_2 int32)
+
+//go:noescape
+func Y__isnanl(t *TLS, arg float64) (_2 int32)
+
+//go:noescape
+func Y__isoc99_fscanf(tls *TLS, f uintptr, fmt uintptr, va uintptr) (r int32)
+
+//go:noescape
+func Y__isoc99_fwscanf(tls *TLS, f uintptr, fmt uintptr, va uintptr) (r int32)
+
+//go:noescape
+func Y__isoc99_scanf(tls *TLS, fmt uintptr, va uintptr) (r int32)
+
+//go:noescape
+func Y__isoc99_sscanf(tls *TLS, s uintptr, fmt uintptr, va uintptr) (r int32)
+
+//go:noescape
+func Y__isoc99_swscanf(tls *TLS, s uintptr, fmt uintptr, va uintptr) (r int32)
+
+//go:noescape
+func Y__isoc99_vfscanf(tls *TLS, f uintptr, fmt uintptr, ap Tva_list) (r int32)
+
+//go:noescape
+func Y__isoc99_vfwscanf(tls *TLS, f uintptr, fmt uintptr, ap Tva_list) (r int32)
+
+//go:noescape
+func Y__isoc99_vscanf(tls *TLS, fmt uintptr, ap Tva_list) (r int32)
+
+//go:noescape
+func Y__isoc99_vsscanf(tls *TLS, s uintptr, fmt uintptr, ap Tva_list) (r int32)
+
+//go:noescape
+func Y__isoc99_vswscanf(tls *TLS, s uintptr, fmt uintptr, ap Tva_list) (r int32)
+
+//go:noescape
+func Y__isoc99_vwscanf(tls *TLS, fmt uintptr, ap Tva_list) (r int32)
+
+//go:noescape
+func Y__isoc99_wscanf(tls *TLS, fmt uintptr, va uintptr) (r int32)
+
+//go:noescape
+func Y__isprint_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__ispunct_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__isspace_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__isupper_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__iswalnum_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__iswalpha_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__iswblank_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__iswcntrl_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__iswctype_l(tls *TLS, c Twint_t, t Twctype_t, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__iswdigit_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__iswgraph_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__iswlower_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__iswprint_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__iswpunct_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__iswspace_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+
//go:noescape
-func Y__assert_fail(tls *TLS, expr uintptr, file uintptr, line int32, func1 uintptr)
+func Y__iswupper_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
//go:noescape
-func Y__builtin___memcpy_chk(t *TLS, dest, src uintptr, n, os Tsize_t) (r uintptr)
+func Y__iswxdigit_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
//go:noescape
-func Y__builtin___memmove_chk(t *TLS, dest, src uintptr, n, os Tsize_t) uintptr
+func Y__isxdigit_l(tls *TLS, c int32, l Tlocale_t) (r int32)
//go:noescape
-func Y__builtin___memset_chk(t *TLS, s uintptr, c int32, n, os Tsize_t) uintptr
+func Y__lctrans(tls *TLS, msg uintptr, lm uintptr) (r uintptr)
//go:noescape
-func Y__builtin___snprintf_chk(t *TLS, str uintptr, maxlen Tsize_t, flag int32, os Tsize_t, format, args uintptr) (r int32)
+func Y__lctrans_cur(tls *TLS, msg uintptr) (r uintptr)
//go:noescape
-func Y__builtin___sprintf_chk(t *TLS, s uintptr, flag int32, os Tsize_t, format, args uintptr) (r int32)
+func Y__lctrans_impl(tls *TLS, msg uintptr, lm uintptr) (r uintptr)
//go:noescape
-func Y__builtin___strcat_chk(t *TLS, dest, src uintptr, os Tsize_t) (r uintptr)
+func Y__ldexp_cexp(tls *TLS, z complex128, expt int32) (r complex128)
//go:noescape
-func Y__builtin___strcpy_chk(t *TLS, dest, src uintptr, os Tsize_t) uintptr
+func Y__ldexp_cexpf(tls *TLS, z complex64, expt int32) (r complex64)
//go:noescape
-func Y__builtin___strncpy_chk(t *TLS, dest, src uintptr, n, os Tsize_t) (r uintptr)
+func Y__lgamma_r(tls *TLS, x float64, signgamp uintptr) (r1 float64)
//go:noescape
-func Y__builtin___vsnprintf_chk(t *TLS, str uintptr, maxlen Tsize_t, flag int32, os Tsize_t, format, args uintptr) (r int32)
+func Y__lgammaf_r(tls *TLS, x float32, signgamp uintptr) (r1 float32)
//go:noescape
-func Y__builtin_abort(t *TLS)
+func Y__lgammal_r(tls *TLS, x float64, sg uintptr) (r float64)
//go:noescape
-func Y__builtin_abs(t *TLS, j int32) int32
+func Y__libc_current_sigrtmax(tls *TLS) (r int32)
//go:noescape
-func Y__builtin_add_overflowInt64(t *TLS, a, b int64, res uintptr) int32
+func Y__libc_current_sigrtmin(tls *TLS) (r int32)
//go:noescape
-func Y__builtin_add_overflowUint32(t *TLS, a, b uint32, res uintptr) int32
+func Y__libc_sigaction(tls *TLS, sig int32, sa uintptr, old uintptr) (r1 int32)
//go:noescape
-func Y__builtin_add_overflowUint64(t *TLS, a, b uint64, res uintptr) int32
+func Y__loc_is_allocated(tls *TLS, loc Tlocale_t) (r int32)
//go:noescape
-func Y__builtin_alloca(tls *TLS, size Tsize_t) uintptr
+func Y__localtime_r(tls *TLS, t uintptr, tm uintptr) (r uintptr)
//go:noescape
-func Y__builtin_bswap16(t *TLS, x uint16) uint16
+func Y__lockfile(tls *TLS, file uintptr) (_2 int32)
//go:noescape
-func Y__builtin_bswap32(t *TLS, x uint32) uint32
+func Y__lookup_ipliteral(tls *TLS, buf uintptr, name uintptr, family int32) (r int32)
//go:noescape
-func Y__builtin_bswap64(t *TLS, x uint64) uint64
+func Y__lookup_name(tls *TLS, buf uintptr, canon uintptr, name uintptr, family int32, flags int32) (r int32)
//go:noescape
-func Y__builtin_bzero(t *TLS, s uintptr, n Tsize_t)
+func Y__lookup_serv(tls *TLS, buf uintptr, name uintptr, proto int32, socktype int32, flags int32) (r int32)
//go:noescape
-func Y__builtin_clz(t *TLS, n uint32) int32
+func Y__lseek(tls *TLS, fd int32, offset Toff_t, whence int32) (r Toff_t)
//go:noescape
-func Y__builtin_clzl(t *TLS, n ulong) int32
+func Y__lsysinfo(tls *TLS, info uintptr) (r int32)
//go:noescape
-func Y__builtin_clzll(t *TLS, n uint64) int32
+func Y__lxstat(tls *TLS, ver int32, path uintptr, buf uintptr) (r int32)
//go:noescape
-func Y__builtin_copysign(t *TLS, x, y float64) float64
+func Y__madvise(tls *TLS, addr uintptr, len1 Tsize_t, advice int32) (r int32)
//go:noescape
-func Y__builtin_copysignf(t *TLS, x, y float32) float32
+func Y__map_file(tls *TLS, pathname uintptr, size uintptr) (r uintptr)
//go:noescape
-func Y__builtin_copysignl(t *TLS, x, y float64) float64
+func Y__math_divzero(tls *TLS, sign Tuint32_t) (r float64)
//go:noescape
-func Y__builtin_ctz(t *TLS, n uint32) int32
+func Y__math_divzerof(tls *TLS, sign Tuint32_t) (r float32)
//go:noescape
-func Y__builtin_ctzl(tls *TLS, x ulong) int32
+func Y__math_invalid(tls *TLS, x float64) (r float64)
//go:noescape
-func Y__builtin_exit(t *TLS, status int32)
+func Y__math_invalidf(tls *TLS, x float32) (r float32)
//go:noescape
-func Y__builtin_expect(t *TLS, exp, c long) long
+func Y__math_oflow(tls *TLS, sign Tuint32_t) (r float64)
//go:noescape
-func Y__builtin_fabs(t *TLS, x float64) float64
+func Y__math_oflowf(tls *TLS, sign Tuint32_t) (r float32)
//go:noescape
-func Y__builtin_fabsf(t *TLS, x float32) float32
+func Y__math_uflow(tls *TLS, sign Tuint32_t) (r float64)
//go:noescape
-func Y__builtin_fabsl(t *TLS, x float64) float64
+func Y__math_uflowf(tls *TLS, sign Tuint32_t) (r float32)
//go:noescape
-func Y__builtin_ffs(tls *TLS, i int32) (r int32)
+func Y__math_xflow(tls *TLS, sign Tuint32_t, y2 float64) (r float64)
//go:noescape
-func Y__builtin_fma(tls *TLS, x, y, z float64) (r float64)
+func Y__math_xflowf(tls *TLS, sign Tuint32_t, y2 float32) (r float32)
//go:noescape
-func Y__builtin_fmax(tls *TLS, x float64, y float64) (r float64)
+func Y__memrchr(tls *TLS, m uintptr, c int32, n Tsize_t) (r uintptr)
//go:noescape
-func Y__builtin_fmin(tls *TLS, x float64, y float64) (r float64)
+func Y__mkostemps(tls *TLS, template uintptr, len1 int32, flags int32) (r int32)
//go:noescape
-func Y__builtin_free(t *TLS, ptr uintptr)
+func Y__mmap(tls *TLS, start uintptr, len1 Tsize_t, prot int32, flags int32, fd int32, off Toff_t) (r uintptr)
//go:noescape
-func Y__builtin_getentropy(t *TLS, buf uintptr, n Tsize_t) int32
+func Y__mo_lookup(tls *TLS, p uintptr, size Tsize_t, s uintptr) (r uintptr)
//go:noescape
-func Y__builtin_huge_val(t *TLS) float64
+func Y__month_to_secs(tls *TLS, month int32, is_leap int32) (r int32)
//go:noescape
-func Y__builtin_huge_valf(t *TLS) float32
+func Y__mprotect(tls *TLS, addr uintptr, len1 Tsize_t, prot int32) (r int32)
//go:noescape
-func Y__builtin_hypot(tls *TLS, x float64, y float64) (r float64)
+func Y__mremap(tls *TLS, old_addr uintptr, old_len Tsize_t, new_len Tsize_t, flags int32, va uintptr) (r uintptr)
//go:noescape
-func Y__builtin_inf(t *TLS) float64
+func Y__munmap(tls *TLS, start uintptr, len1 Tsize_t) (r int32)
//go:noescape
-func Y__builtin_inff(tls *TLS) float32
+func Y__newlocale(tls *TLS, mask int32, name uintptr, loc Tlocale_t) (r Tlocale_t)
//go:noescape
-func Y__builtin_infl(t *TLS) float64
+func Y__nl_langinfo(tls *TLS, item Tnl_item) (r uintptr)
//go:noescape
-func Y__builtin_isblank(tls *TLS, c int32) (r int32)
+func Y__nl_langinfo_l(tls *TLS, item Tnl_item, loc Tlocale_t) (r uintptr)
//go:noescape
-func Y__builtin_isnan(t *TLS, x float64) int32
+func Y__nscd_query(tls *TLS, req Tint32_t, key uintptr, buf uintptr, len1 Tsize_t, swap uintptr) (r uintptr)
//go:noescape
-func Y__builtin_isnanf(t *TLS, x float32) int32
+func Y__ofl_add(tls *TLS, f uintptr) (r uintptr)
//go:noescape
-func Y__builtin_isnanl(t *TLS, x float64) int32
+func Y__ofl_lock(tls *TLS) (r uintptr)
//go:noescape
-func Y__builtin_isprint(tls *TLS, c int32) (r int32)
+func Y__ofl_unlock(tls *TLS)
//go:noescape
-func Y__builtin_isunordered(t *TLS, a, b float64) int32
+func Y__overflow(tls *TLS, f uintptr, _c int32) (r int32)
//go:noescape
-func Y__builtin_llabs(tls *TLS, a int64) int64
+func Y__pleval(tls *TLS, s uintptr, n uint64) (r uint64)
//go:noescape
-func Y__builtin_log2(t *TLS, x float64) float64
+func Y__posix_getopt(tls *TLS, argc int32, argv uintptr, optstring uintptr) (r int32)
//go:noescape
-func Y__builtin_lrint(tls *TLS, x float64) (r long)
+func Y__procfdname(tls *TLS, buf uintptr, fd uint32)
//go:noescape
-func Y__builtin_lrintf(tls *TLS, x float32) (r long)
+func Y__ptsname_r(tls *TLS, fd int32, buf uintptr, len1 Tsize_t) (r int32)
//go:noescape
-func Y__builtin_lround(tls *TLS, x float64) (r long)
+func Y__putenv(tls *TLS, s uintptr, l Tsize_t, r uintptr) (r1 int32)
//go:noescape
-func Y__builtin_malloc(t *TLS, size Tsize_t) uintptr
+func Y__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr)
//go:noescape
-func Y__builtin_memcmp(t *TLS, s1, s2 uintptr, n Tsize_t) int32
+func __ccgo_abi0___qsort_r_3(_0 *TLS, _1 uintptr, _2 uintptr, _3 uintptr, __ccgo_fp uintptr) (_4 int32)
+
+func __ccgo_abiInternal___qsort_r_3(tls *TLS, dest, abi0CodePtr uintptr) {
+ f := func(_0 *TLS, _1 uintptr, _2 uintptr, _3 uintptr) (_4 int32) {
+ return __ccgo_abi0___qsort_r_3(_0, _1, _2, _3, abi0CodePtr)
+ }
+ *(*[2]uintptr)(unsafe.Pointer(dest)) = *(*[2]uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&f))))
+}
//go:noescape
-func Y__builtin_memcpy(t *TLS, dest, src uintptr, n Tsize_t) (r uintptr)
+func Y__rand48_step(tls *TLS, xi uintptr, lc uintptr) (r Tuint64_t)
//go:noescape
-func Y__builtin_memset(t *TLS, s uintptr, c int32, n Tsize_t) uintptr
+func Y__register_locked_file(tls *TLS, f uintptr, self Tpthread_t)
//go:noescape
-func Y__builtin_mmap(t *TLS, addr uintptr, length Tsize_t, prot, flags, fd int32, offset Toff_t) uintptr
+func Y__rem_pio2(tls *TLS, x float64, y uintptr) (r1 int32)
//go:noescape
-func Y__builtin_mul_overflowInt64(t *TLS, a, b int64, res uintptr) int32
+func Y__rem_pio2_large(tls *TLS, x uintptr, y uintptr, e0 int32, nx int32, prec int32) (r int32)
//go:noescape
-func Y__builtin_mul_overflowUint128(t *TLS, a, b Uint128, res uintptr) int32
+func Y__rem_pio2f(tls *TLS, x float32, y uintptr) (r int32)
//go:noescape
-func Y__builtin_mul_overflowUint64(t *TLS, a, b uint64, res uintptr) int32
+func Y__res_mkquery(tls *TLS, op int32, dname uintptr, class int32, type1 int32, data uintptr, datalen int32, newrr uintptr, buf uintptr, buflen int32) (r int32)
//go:noescape
-func Y__builtin_nan(t *TLS, s uintptr) float64
+func Y__res_msend(tls *TLS, nqueries int32, queries uintptr, qlens uintptr, answers uintptr, alens uintptr, asize int32) (r int32)
//go:noescape
-func Y__builtin_nanf(tls *TLS, s uintptr) float32
+func Y__res_msend_rc(tls *TLS, nqueries int32, queries uintptr, qlens uintptr, answers uintptr, alens uintptr, asize int32, conf uintptr) (r1 int32)
//go:noescape
-func Y__builtin_nanl(t *TLS, s uintptr) float64
+func Y__res_send(tls *TLS, _msg uintptr, _msglen int32, _answer uintptr, _anslen int32) (r1 int32)
//go:noescape
-func Y__builtin_object_size(t *TLS, p uintptr, typ int32) Tsize_t
+func Y__res_state(tls *TLS) (r uintptr)
//go:noescape
-func Y__builtin_popcount(t *TLS, x uint32) int32
+func Y__reset_tls(tls *TLS)
//go:noescape
-func Y__builtin_popcountl(t *TLS, x ulong) int32
+func Y__restore(tls *TLS)
//go:noescape
-func Y__builtin_prefetch(t *TLS, addr, args uintptr)
+func Y__restore_rt(tls *TLS)
//go:noescape
-func Y__builtin_printf(tls *TLS, fmt uintptr, va uintptr) (r int32)
+func Y__restore_sigs(tls *TLS, set uintptr)
//go:noescape
-func Y__builtin_rintf(tls *TLS, x float32) (r float32)
+func Y__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, __ccgo_fp_cb uintptr, ctx uintptr) (r1 int32)
//go:noescape
-func Y__builtin_round(tls *TLS, x float64) (r float64)
+func __ccgo_abi0___rtnetlink_enumerate_2(_0 *TLS, _1 uintptr, _2 uintptr, __ccgo_fp uintptr) (_3 int32)
+
+func __ccgo_abiInternal___rtnetlink_enumerate_2(tls *TLS, dest, abi0CodePtr uintptr) {
+ f := func(_0 *TLS, _1 uintptr, _2 uintptr) (_3 int32) {
+ return __ccgo_abi0___rtnetlink_enumerate_2(_0, _1, _2, abi0CodePtr)
+ }
+ *(*[2]uintptr)(unsafe.Pointer(dest)) = *(*[2]uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&f))))
+}
//go:noescape
-func Y__builtin_roundf(tls *TLS, x float32) (r float32)
+func Y__secs_to_tm(tls *TLS, t int64, tm uintptr) (r int32)
//go:noescape
-func Y__builtin_snprintf(t *TLS, str uintptr, size Tsize_t, format, args uintptr) int32
+func Y__secs_to_zone(tls *TLS, t int64, local int32, isdst uintptr, offset uintptr, oppoff uintptr, zonename uintptr)
//go:noescape
-func Y__builtin_sprintf(t *TLS, str, format, args uintptr) (r int32)
+func Y__setxid(tls *TLS, nr int32, id int32, eid int32, sid int32) (r int32)
//go:noescape
-func Y__builtin_strchr(t *TLS, s uintptr, c int32) uintptr
+func Y__shgetc(tls *TLS, f uintptr) (r int32)
//go:noescape
-func Y__builtin_strcmp(t *TLS, s1, s2 uintptr) int32
+func Y__shlim(tls *TLS, f uintptr, lim Toff_t)
//go:noescape
-func Y__builtin_strcpy(t *TLS, dest, src uintptr) uintptr
+func Y__shm_mapname(tls *TLS, name uintptr, buf uintptr) (r uintptr)
//go:noescape
-func Y__builtin_strlen(t *TLS, s uintptr) Tsize_t
+func Y__sigaction(tls *TLS, sig int32, sa uintptr, old uintptr) (r1 int32)
//go:noescape
-func Y__builtin_sub_overflowInt64(t *TLS, a, b int64, res uintptr) int32
+func Y__signbit(tls *TLS, x float64) (r int32)
//go:noescape
-func Y__builtin_trap(t *TLS)
+func Y__signbitf(tls *TLS, x float32) (r int32)
//go:noescape
-func Y__builtin_trunc(tls *TLS, x float64) (r float64)
+func Y__signbitl(tls *TLS, x float64) (r int32)
//go:noescape
-func Y__builtin_unreachable(t *TLS)
+func Y__sigsetjmp_tail(tls *TLS, jb uintptr, ret int32) (r int32)
+
+//go:noescape
+func Y__sin(tls *TLS, x float64, y float64, iy int32) (r1 float64)
+
+//go:noescape
+func Y__sindf(tls *TLS, x float64) (r1 float32)
+
+//go:noescape
+func Y__stack_chk_fail(tls *TLS)
+
+//go:noescape
+func Y__stack_chk_fail_local(tls *TLS)
+
+//go:noescape
+func Y__stdio_close(tls *TLS, f uintptr) (r int32)
+
+//go:noescape
+func Y__stdio_exit(tls *TLS)
+
+//go:noescape
+func Y__stdio_exit_needed(tls *TLS)
+
+//go:noescape
+func Y__stdio_read(tls *TLS, f uintptr, buf uintptr, len1 Tsize_t) (r Tsize_t)
+
+//go:noescape
+func Y__stdio_seek(tls *TLS, f uintptr, off Toff_t, whence int32) (r Toff_t)
+
+//go:noescape
+func Y__stdio_write(tls *TLS, f uintptr, buf uintptr, len1 Tsize_t) (r Tsize_t)
+
+//go:noescape
+func Y__stdout_write(tls *TLS, f uintptr, buf uintptr, len1 Tsize_t) (r Tsize_t)
+
+//go:noescape
+func Y__stpcpy(tls *TLS, d uintptr, s uintptr) (r uintptr)
+
+//go:noescape
+func Y__stpncpy(tls *TLS, d uintptr, s uintptr, n Tsize_t) (r uintptr)
+
+//go:noescape
+func Y__strcasecmp_l(tls *TLS, l uintptr, r uintptr, loc Tlocale_t) (r1 int32)
+
+//go:noescape
+func Y__strchrnul(tls *TLS, s uintptr, c int32) (r uintptr)
+
+//go:noescape
+func Y__strcoll_l(tls *TLS, l uintptr, r uintptr, loc Tlocale_t) (r1 int32)
+
+//go:noescape
+func Y__strerror_l(tls *TLS, e int32, loc Tlocale_t) (r uintptr)
+
+//go:noescape
+func Y__strftime_fmt_1(tls *TLS, s uintptr, l uintptr, f int32, tm uintptr, loc Tlocale_t, pad int32) (r uintptr)
+
+//go:noescape
+func Y__strftime_l(tls *TLS, s uintptr, n Tsize_t, f uintptr, tm uintptr, loc Tlocale_t) (r Tsize_t)
+
+//go:noescape
+func Y__strncasecmp_l(tls *TLS, l uintptr, r uintptr, n Tsize_t, loc Tlocale_t) (r1 int32)
+
+//go:noescape
+func Y__strtod_l(tls *TLS, s uintptr, p uintptr, l Tlocale_t) (r float64)
+
+//go:noescape
+func Y__strtof_l(tls *TLS, s uintptr, p uintptr, l Tlocale_t) (r float32)
+
+//go:noescape
+func Y__strtoimax_internal(tls *TLS, s uintptr, p uintptr, base int32) (r Tintmax_t)
+
+//go:noescape
+func Y__strtol_internal(tls *TLS, s uintptr, p uintptr, base int32) (r int64)
+
+//go:noescape
+func Y__strtold_l(tls *TLS, s uintptr, p uintptr, l Tlocale_t) (r float64)
+
+//go:noescape
+func Y__strtoll_internal(tls *TLS, s uintptr, p uintptr, base int32) (r int64)
+
+//go:noescape
+func Y__strtoul_internal(tls *TLS, s uintptr, p uintptr, base int32) (r uint64)
+
+//go:noescape
+func Y__strtoull_internal(tls *TLS, s uintptr, p uintptr, base int32) (r uint64)
+
+//go:noescape
+func Y__strtoumax_internal(tls *TLS, s uintptr, p uintptr, base int32) (r Tuintmax_t)
+
+//go:noescape
+func Y__strxfrm_l(tls *TLS, dest uintptr, src uintptr, n Tsize_t, loc Tlocale_t) (r Tsize_t)
+
+//go:noescape
+func Y__sync_synchronize(t *TLS)
+
+//go:noescape
+func Y__sync_val_compare_and_swapInt16(t *TLS, ptr uintptr, oldval, newval int16) (r int16)
+
+//go:noescape
+func Y__sync_val_compare_and_swapInt32(t *TLS, ptr uintptr, oldval, newval int32) (r int32)
+
+//go:noescape
+func Y__sync_val_compare_and_swapInt64(t *TLS, ptr uintptr, oldval, newval int64) (r int64)
+
+//go:noescape
+func Y__sync_val_compare_and_swapInt8(t *TLS, ptr uintptr, oldval, newval int8) (r int8)
+
+//go:noescape
+func Y__sync_val_compare_and_swapUint16(t *TLS, ptr uintptr, oldval, newval uint16) (r uint16)
+
+//go:noescape
+func Y__sync_val_compare_and_swapUint32(t *TLS, ptr uintptr, oldval, newval uint32) (r uint32)
+
+//go:noescape
+func Y__sync_val_compare_and_swapUint64(t *TLS, ptr uintptr, oldval, newval uint64) (r uint64)
+
+//go:noescape
+func Y__sync_val_compare_and_swapUint8(t *TLS, ptr uintptr, oldval, newval uint8) (r uint8)
+
+//go:noescape
+func Y__syscall0(tls *TLS, n long) (_2 long)
+
+//go:noescape
+func Y__syscall1(tls *TLS, n, a1 long) (_2 long)
+
+//go:noescape
+func Y__syscall2(tls *TLS, n, a1, a2 long) (_2 long)
+
+//go:noescape
+func Y__syscall3(tls *TLS, n, a1, a2, a3 long) (_2 long)
+
+//go:noescape
+func Y__syscall4(tls *TLS, n, a1, a2, a3, a4 long) (_2 long)
+
+//go:noescape
+func Y__syscall5(tls *TLS, n, a1, a2, a3, a4, a5 long) (_2 long)
+
+//go:noescape
+func Y__syscall6(tls *TLS, n, a1, a2, a3, a4, a5, a6 long) (_2 long)
+
+//go:noescape
+func Y__syscall_ret(tls *TLS, r uint64) (r1 int64)
//go:noescape
-func Y__builtin_vsnprintf(t *TLS, str uintptr, size Tsize_t, format, va uintptr) int32
+func Y__tan(tls *TLS, x float64, y float64, odd int32) (r1 float64)
+
+//go:noescape
+func Y__tandf(tls *TLS, x float64, odd int32) (r1 float32)
+
+//go:noescape
+func Y__tm_to_secs(tls *TLS, tm uintptr) (r int64)
+
+//go:noescape
+func Y__tm_to_tzname(tls *TLS, tm uintptr) (r uintptr)
+
+//go:noescape
+func Y__tolower_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__toread(tls *TLS, f uintptr) (r int32)
+
+//go:noescape
+func Y__toread_needs_stdio_exit(tls *TLS)
+
+//go:noescape
+func Y__toupper_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+
+//go:noescape
+func Y__towctrans_l(tls *TLS, c Twint_t, t Twctrans_t, l Tlocale_t) (r Twint_t)
+
+//go:noescape
+func Y__towlower_l(tls *TLS, c Twint_t, l Tlocale_t) (r Twint_t)
+
+//go:noescape
+func Y__towrite(tls *TLS, f uintptr) (r int32)
+
+//go:noescape
+func Y__towrite_needs_stdio_exit(tls *TLS)
+
+//go:noescape
+func Y__towupper_l(tls *TLS, c Twint_t, l Tlocale_t) (r Twint_t)
+
+//go:noescape
+func Y__tre_mem_alloc_impl(tls *TLS, mem Ttre_mem_t, provided int32, provided_block uintptr, zero int32, size Tsize_t) (r uintptr)
+
+//go:noescape
+func Y__tre_mem_destroy(tls *TLS, mem Ttre_mem_t)
+
+//go:noescape
+func Y__tre_mem_new_impl(tls *TLS, provided int32, provided_block uintptr) (r Ttre_mem_t)
+
+//go:noescape
+func Y__tsearch_balance(tls *TLS, p uintptr) (r int32)
+
+//go:noescape
+func Y__uflow(tls *TLS, f uintptr) (r int32)
+
+//go:noescape
+func Y__unlist_locked_file(tls *TLS, f uintptr)
+
+//go:noescape
+func Y__unlockfile(tls *TLS, file uintptr)
+
+//go:noescape
+func Y__uselocale(tls *TLS, new1 Tlocale_t) (r Tlocale_t)
+
+//go:noescape
+func Y__vm_wait(tls *TLS)
+
+//go:noescape
+func Y__wcscoll_l(tls *TLS, l uintptr, r uintptr, locale Tlocale_t) (r1 int32)
+
+//go:noescape
+func Y__wcsftime_l(tls *TLS, s uintptr, n Tsize_t, f uintptr, tm uintptr, loc Tlocale_t) (r Tsize_t)
+
+//go:noescape
+func Y__wcsxfrm_l(tls *TLS, dest uintptr, src uintptr, n Tsize_t, loc Tlocale_t) (r Tsize_t)
+
+//go:noescape
+func Y__wctrans_l(tls *TLS, s uintptr, l Tlocale_t) (r Twctrans_t)
+
+//go:noescape
+func Y__wctype_l(tls *TLS, s uintptr, l Tlocale_t) (r Twctype_t)
+
+//go:noescape
+func Y__xmknod(tls *TLS, ver int32, path uintptr, mode Tmode_t, dev uintptr) (r int32)
+
+//go:noescape
+func Y__xmknodat(tls *TLS, ver int32, fd int32, path uintptr, mode Tmode_t, dev uintptr) (r int32)
+
+//go:noescape
+func Y__xpg_basename(tls *TLS, s uintptr) (r uintptr)
+
+//go:noescape
+func Y__xpg_strerror_r(tls *TLS, err int32, buf uintptr, buflen Tsize_t) (r int32)
+
+//go:noescape
+func Y__xstat(tls *TLS, ver int32, path uintptr, buf uintptr) (r int32)
+
+//go:noescape
+func Y__year_to_secs(tls *TLS, year int64, is_leap uintptr) (r int64)
+
+//go:noescape
+func Y_exit(tls *TLS, status int32)
+
+//go:noescape
+func Y_flushlbf(tls *TLS)
+
+//go:noescape
+func Y_longjmp(t *TLS, env uintptr, val int32)
+
+//go:noescape
+func Y_obstack_begin(t *TLS, obstack uintptr, size, alignment int32, chunkfun, freefun uintptr) (_4 int32)
+
+//go:noescape
+func Y_obstack_newchunk(t *TLS, obstack uintptr, length int32) (_3 int32)
+
+//go:noescape
+func Y_pthread_cleanup_pop(tls *TLS, _ uintptr, run int32)
+
+//go:noescape
+func Y_pthread_cleanup_push(tls *TLS, _, f, x uintptr)
+
+//go:noescape
+func Y_setjmp(t *TLS, env uintptr) (_2 int32)
//go:noescape
func Ya64l(tls *TLS, s uintptr) (r int64)
@@ -312,7 +1705,7 @@ func Yadjtimex(tls *TLS, tx uintptr) (r int32)
func Yalarm(tls *TLS, seconds uint32) (r uint32)
//go:noescape
-func Yalloca(tls *TLS, size Tsize_t) uintptr
+func Yalloca(tls *TLS, size Tsize_t) (_2 uintptr)
//go:noescape
func Yalphasort(tls *TLS, a uintptr, b uintptr) (r int32)
@@ -348,7 +1741,17 @@ func Yasinl(tls *TLS, x float64) (r float64)
func Yasprintf(tls *TLS, s uintptr, fmt uintptr, va uintptr) (r int32)
//go:noescape
-func Yat_quick_exit(tls *TLS, func1 uintptr) (r1 int32)
+func Yat_quick_exit(tls *TLS, __ccgo_fp_func uintptr) (r1 int32)
+
+//go:noescape
+func __ccgo_abi0_at_quick_exit_0(_0 *TLS, __ccgo_fp uintptr)
+
+func __ccgo_abiInternal_at_quick_exit_0(tls *TLS, dest, abi0CodePtr uintptr) {
+ f := func(_0 *TLS) {
+ __ccgo_abi0_at_quick_exit_0(_0, abi0CodePtr)
+ }
+ *(*[2]uintptr)(unsafe.Pointer(dest)) = *(*[2]uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&f))))
+}
//go:noescape
func Yatan(tls *TLS, x3 float64) (r float64)
@@ -393,7 +1796,7 @@ func Yatol(tls *TLS, s uintptr) (r int64)
func Yatoll(tls *TLS, s uintptr) (r int64)
//go:noescape
-func Ybacktrace(t *TLS, buf uintptr, size int32) int32
+func Ybacktrace(t *TLS, buf uintptr, size int32) (_3 int32)
//go:noescape
func Ybacktrace_symbols_fd(t *TLS, buffer uintptr, size, fd int32)
@@ -420,7 +1823,17 @@ func Ybindtextdomain(tls *TLS, domainname uintptr, dirname uintptr) (r uintptr)
func Ybrk(tls *TLS, end uintptr) (r int32)
//go:noescape
-func Ybsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, cmp uintptr) (r uintptr)
+func Ybsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp uintptr) (r uintptr)
+
+//go:noescape
+func __ccgo_abi0_bsearch_4(_0 *TLS, _1 uintptr, _2 uintptr, __ccgo_fp uintptr) (_3 int32)
+
+func __ccgo_abiInternal_bsearch_4(tls *TLS, dest, abi0CodePtr uintptr) {
+ f := func(_0 *TLS, _1 uintptr, _2 uintptr) (_3 int32) {
+ return __ccgo_abi0_bsearch_4(_0, _1, _2, abi0CodePtr)
+ }
+ *(*[2]uintptr)(unsafe.Pointer(dest)) = *(*[2]uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&f))))
+}
//go:noescape
func Ybtowc(tls *TLS, c int32) (r Twint_t)
@@ -819,16 +2232,16 @@ func Ydirname(tls *TLS, s uintptr) (r uintptr)
func Ydiv(tls *TLS, num int32, den int32) (r Tdiv_t)
//go:noescape
-func Ydlclose(t *TLS, handle uintptr) int32
+func Ydlclose(t *TLS, handle uintptr) (_2 int32)
//go:noescape
-func Ydlerror(t *TLS) uintptr
+func Ydlerror(t *TLS) (_1 uintptr)
//go:noescape
-func Ydlopen(t *TLS, filename uintptr, flags int32) uintptr
+func Ydlopen(t *TLS, filename uintptr, flags int32) (_3 uintptr)
//go:noescape
-func Ydlsym(t *TLS, handle, symbol uintptr) uintptr
+func Ydlsym(t *TLS, handle, symbol uintptr) (_2 uintptr)
//go:noescape
func Ydn_comp(tls *TLS, src uintptr, dst uintptr, space int32, dnptrs uintptr, lastdnptr uintptr) (r int32)
@@ -1281,7 +2694,7 @@ func Yfopen64(tls *TLS, filename uintptr, mode uintptr) (r uintptr)
func Yfopencookie(tls *TLS, cookie uintptr, mode uintptr, iofuncs Tcookie_io_functions_t) (r uintptr)
//go:noescape
-func Yfork(t *TLS) int32
+func Yfork(t *TLS) (_1 int32)
//go:noescape
func Yfpathconf(tls *TLS, fd int32, name int32) (r int64)
@@ -1404,25 +2817,35 @@ func Yftruncate64(tls *TLS, fd int32, length Toff_t) (r int32)
func Yftrylockfile(tls *TLS, f uintptr) (r int32)
//go:noescape
-func Yfts64_close(t *TLS, ftsp uintptr) int32
+func Yfts64_close(t *TLS, ftsp uintptr) (_2 int32)
+
+//go:noescape
+func Yfts64_open(t *TLS, path_argv uintptr, options int32, compar uintptr) (_4 uintptr)
//go:noescape
-func Yfts64_open(t *TLS, path_argv uintptr, options int32, compar uintptr) uintptr
+func Yfts64_read(t *TLS, ftsp uintptr) (_2 uintptr)
//go:noescape
-func Yfts64_read(t *TLS, ftsp uintptr) uintptr
+func Yfts_close(t *TLS, ftsp uintptr) (_2 int32)
//go:noescape
-func Yfts_close(t *TLS, ftsp uintptr) int32
+func Yfts_open(t *TLS, path_argv uintptr, options int32, compar uintptr) (_4 uintptr)
//go:noescape
-func Yfts_open(t *TLS, path_argv uintptr, options int32, compar uintptr) uintptr
+func Yfts_read(t *TLS, ftsp uintptr) (_2 uintptr)
//go:noescape
-func Yfts_read(t *TLS, ftsp uintptr) uintptr
+func Yftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32) (r int32)
//go:noescape
-func Yftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32) (r int32)
+func __ccgo_abi0_ftw_1(_0 *TLS, _1 uintptr, _2 uintptr, _3 int32, __ccgo_fp uintptr) (_4 int32)
+
+func __ccgo_abiInternal_ftw_1(tls *TLS, dest, abi0CodePtr uintptr) {
+ f := func(_0 *TLS, _1 uintptr, _2 uintptr, _3 int32) (_4 int32) {
+ return __ccgo_abi0_ftw_1(_0, _1, _2, _3, abi0CodePtr)
+ }
+ *(*[2]uintptr)(unsafe.Pointer(dest)) = *(*[2]uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&f))))
+}
//go:noescape
func Yfunlockfile(tls *TLS, f uintptr)
@@ -1758,7 +3181,17 @@ func Ygetwchar_unlocked(tls *TLS) (r Twint_t)
func Ygetxattr(tls *TLS, path uintptr, name uintptr, value uintptr, size Tsize_t) (r Tssize_t)
//go:noescape
-func Yglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g_ uintptr) (r int32)
+func Yglob(tls *TLS, pat uintptr, flags int32, __ccgo_fp_errfunc uintptr, g_ uintptr) (r int32)
+
+//go:noescape
+func __ccgo_abi0_glob_2(_0 *TLS, _1 uintptr, _2 int32, __ccgo_fp uintptr) (_3 int32)
+
+func __ccgo_abiInternal_glob_2(tls *TLS, dest, abi0CodePtr uintptr) {
+ f := func(_0 *TLS, _1 uintptr, _2 int32) (_3 int32) {
+ return __ccgo_abi0_glob_2(_0, _1, _2, abi0CodePtr)
+ }
+ *(*[2]uintptr)(unsafe.Pointer(dest)) = *(*[2]uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&f))))
+}
//go:noescape
func Yglobfree(tls *TLS, g_ uintptr)
@@ -1878,7 +3311,7 @@ func Yinit_module(tls *TLS, a uintptr, b uint64, c uintptr) (r int32)
func Yinitstate(tls *TLS, seed uint32, state uintptr, size Tsize_t) (r uintptr)
//go:noescape
-func Yinitstate_r(t *TLS, seed uint32, statebuf uintptr, statelen Tsize_t, buf uintptr) int32
+func Yinitstate_r(t *TLS, seed uint32, statebuf uintptr, statelen Tsize_t, buf uintptr) (_5 int32)
//go:noescape
func Yinotify_add_watch(tls *TLS, fd int32, pathname uintptr, mask Tuint32_t) (r int32)
@@ -1956,13 +3389,13 @@ func Yislower(tls *TLS, c int32) (r int32)
func Yislower_l(tls *TLS, c int32, l Tlocale_t) (r int32)
//go:noescape
-func Yisnan(t *TLS, x float64) int32
+func Yisnan(t *TLS, x float64) (_2 int32)
//go:noescape
-func Yisnanf(t *TLS, arg float32) int32
+func Yisnanf(t *TLS, arg float32) (_2 int32)
//go:noescape
-func Yisnanl(t *TLS, arg float64) int32
+func Yisnanl(t *TLS, arg float64) (_2 int32)
//go:noescape
func Yisprint(tls *TLS, c int32) (r int32)
@@ -2136,7 +3569,17 @@ func Yldexpl(tls *TLS, x float64, n int32) (r float64)
func Yldiv(tls *TLS, num int64, den int64) (r Tldiv_t)
//go:noescape
-func Ylfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr)
+func Ylfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr)
+
+//go:noescape
+func __ccgo_abi0_lfind_4(_0 *TLS, _1 uintptr, _2 uintptr, __ccgo_fp uintptr) (_3 int32)
+
+func __ccgo_abiInternal_lfind_4(tls *TLS, dest, abi0CodePtr uintptr) {
+ f := func(_0 *TLS, _1 uintptr, _2 uintptr) (_3 int32) {
+ return __ccgo_abi0_lfind_4(_0, _1, _2, abi0CodePtr)
+ }
+ *(*[2]uintptr)(unsafe.Pointer(dest)) = *(*[2]uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&f))))
+}
//go:noescape
func Ylgamma(tls *TLS, x float64) (r float64)
@@ -2286,7 +3729,17 @@ func Ylroundf(tls *TLS, x float32) (r int64)
func Ylroundl(tls *TLS, x float64) (r int64)
//go:noescape
-func Ylsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr)
+func Ylsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr)
+
+//go:noescape
+func __ccgo_abi0_lsearch_4(_0 *TLS, _1 uintptr, _2 uintptr, __ccgo_fp uintptr) (_3 int32)
+
+func __ccgo_abiInternal_lsearch_4(tls *TLS, dest, abi0CodePtr uintptr) {
+ f := func(_0 *TLS, _1 uintptr, _2 uintptr) (_3 int32) {
+ return __ccgo_abi0_lsearch_4(_0, _1, _2, abi0CodePtr)
+ }
+ *(*[2]uintptr)(unsafe.Pointer(dest)) = *(*[2]uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&f))))
+}
//go:noescape
func Ylseek(tls *TLS, fd int32, offset Toff_t, whence int32) (r Toff_t)
@@ -2520,7 +3973,17 @@ func Ynexttowardf(tls *TLS, x3 float32, y3 float64) (r float32)
func Ynexttowardl(tls *TLS, x float64, y float64) (r float64)
//go:noescape
-func Ynftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32) (r1 int32)
+func Ynftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32, flags int32) (r1 int32)
+
+//go:noescape
+func __ccgo_abi0_nftw_1(_0 *TLS, _1 uintptr, _2 uintptr, _3 int32, _4 uintptr, __ccgo_fp uintptr) (_5 int32)
+
+func __ccgo_abiInternal_nftw_1(tls *TLS, dest, abi0CodePtr uintptr) {
+ f := func(_0 *TLS, _1 uintptr, _2 uintptr, _3 int32, _4 uintptr) (_5 int32) {
+ return __ccgo_abi0_nftw_1(_0, _1, _2, _3, _4, abi0CodePtr)
+ }
+ *(*[2]uintptr)(unsafe.Pointer(dest)) = *(*[2]uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&f))))
+}
//go:noescape
func Yngettext(tls *TLS, msgid1 uintptr, msgid2 uintptr, n uint64) (r uintptr)
@@ -2571,7 +4034,7 @@ func Yntohs(tls *TLS, n Tuint16_t) (r Tuint16_t)
func Yobstack_free(t *TLS, obstack, obj uintptr)
//go:noescape
-func Yobstack_vprintf(t *TLS, obstack, template, va uintptr) int32
+func Yobstack_vprintf(t *TLS, obstack, template, va uintptr) (_2 int32)
//go:noescape
func Yopen(tls *TLS, filename uintptr, flags int32, va uintptr) (r int32)
@@ -2628,7 +4091,7 @@ func Ypivot_root(tls *TLS, new1 uintptr, old uintptr) (r int32)
func Ypoll(tls *TLS, fds uintptr, n Tnfds_t, timeout int32) (r int32)
//go:noescape
-func Ypopen(t *TLS, command, type1 uintptr) uintptr
+func Ypopen(t *TLS, command, type1 uintptr) (_2 uintptr)
//go:noescape
func Yposix_close(tls *TLS, fd int32, flags int32) (r int32)
@@ -2763,25 +4226,25 @@ func Ypsiginfo(tls *TLS, si uintptr, msg uintptr)
func Ypsignal(tls *TLS, sig int32, msg uintptr)
//go:noescape
-func Ypthread_atfork(tls *TLS, prepare, parent, child uintptr) int32
+func Ypthread_atfork(tls *TLS, prepare, parent, child uintptr) (_2 int32)
//go:noescape
-func Ypthread_attr_destroy(tls *TLS, a uintptr) int32
+func Ypthread_attr_destroy(tls *TLS, a uintptr) (_2 int32)
//go:noescape
-func Ypthread_attr_getdetachstate(tls *TLS, a uintptr, state uintptr) int32
+func Ypthread_attr_getdetachstate(tls *TLS, a uintptr, state uintptr) (_3 int32)
//go:noescape
-func Ypthread_attr_init(tls *TLS, a uintptr) int32
+func Ypthread_attr_init(tls *TLS, a uintptr) (_2 int32)
//go:noescape
func Ypthread_attr_setdetachstate(tls *TLS, a uintptr, state int32) (r int32)
//go:noescape
-func Ypthread_attr_setscope(tls *TLS, a uintptr, scope int32) int32
+func Ypthread_attr_setscope(tls *TLS, a uintptr, scope int32) (_3 int32)
//go:noescape
-func Ypthread_attr_setstacksize(tls *TLS, a uintptr, stacksite Tsize_t) int32
+func Ypthread_attr_setstacksize(tls *TLS, a uintptr, stacksite Tsize_t) (_3 int32)
//go:noescape
func Ypthread_cleanup_pop(tls *TLS, run int32)
@@ -2790,82 +4253,82 @@ func Ypthread_cleanup_pop(tls *TLS, run int32)
func Ypthread_cleanup_push(tls *TLS, f, x uintptr)
//go:noescape
-func Ypthread_cond_broadcast(tls *TLS, c uintptr) int32
+func Ypthread_cond_broadcast(tls *TLS, c uintptr) (_2 int32)
//go:noescape
-func Ypthread_cond_destroy(tls *TLS, c uintptr) int32
+func Ypthread_cond_destroy(tls *TLS, c uintptr) (_2 int32)
//go:noescape
-func Ypthread_cond_init(tls *TLS, c, a uintptr) int32
+func Ypthread_cond_init(tls *TLS, c, a uintptr) (_2 int32)
//go:noescape
-func Ypthread_cond_signal(tls *TLS, c uintptr) int32
+func Ypthread_cond_signal(tls *TLS, c uintptr) (_2 int32)
//go:noescape
func Ypthread_cond_timedwait(tls *TLS, c, m, ts uintptr) (r int32)
//go:noescape
-func Ypthread_cond_wait(tls *TLS, c, m uintptr) int32
+func Ypthread_cond_wait(tls *TLS, c, m uintptr) (_2 int32)
//go:noescape
-func Ypthread_create(tls *TLS, res, attrp, entry, arg uintptr) int32
+func Ypthread_create(tls *TLS, res, attrp, entry, arg uintptr) (_2 int32)
//go:noescape
-func Ypthread_detach(tls *TLS, t uintptr) int32
+func Ypthread_detach(tls *TLS, t uintptr) (_2 int32)
//go:noescape
-func Ypthread_equal(tls *TLS, t, u uintptr) int32
+func Ypthread_equal(tls *TLS, t, u uintptr) (_2 int32)
//go:noescape
func Ypthread_exit(tls *TLS, result uintptr)
//go:noescape
-func Ypthread_getspecific(tls *TLS, k Tpthread_key_t) uintptr
+func Ypthread_getspecific(tls *TLS, k Tpthread_key_t) (_2 uintptr)
//go:noescape
func Ypthread_join(tls *TLS, t Tpthread_t, res uintptr) (r int32)
//go:noescape
-func Ypthread_key_create(tls *TLS, k uintptr, dtor uintptr) int32
+func Ypthread_key_create(tls *TLS, k uintptr, dtor uintptr) (_3 int32)
//go:noescape
-func Ypthread_key_delete(tls *TLS, k Tpthread_key_t) int32
+func Ypthread_key_delete(tls *TLS, k Tpthread_key_t) (_2 int32)
//go:noescape
-func Ypthread_mutex_destroy(tls *TLS, m uintptr) int32
+func Ypthread_mutex_destroy(tls *TLS, m uintptr) (_2 int32)
//go:noescape
-func Ypthread_mutex_init(tls *TLS, m, a uintptr) int32
+func Ypthread_mutex_init(tls *TLS, m, a uintptr) (_2 int32)
//go:noescape
-func Ypthread_mutex_lock(tls *TLS, m uintptr) int32
+func Ypthread_mutex_lock(tls *TLS, m uintptr) (_2 int32)
//go:noescape
-func Ypthread_mutex_trylock(tls *TLS, m uintptr) int32
+func Ypthread_mutex_trylock(tls *TLS, m uintptr) (_2 int32)
//go:noescape
-func Ypthread_mutex_unlock(tls *TLS, m uintptr) int32
+func Ypthread_mutex_unlock(tls *TLS, m uintptr) (_2 int32)
//go:noescape
-func Ypthread_mutexattr_destroy(tls *TLS, a uintptr) int32
+func Ypthread_mutexattr_destroy(tls *TLS, a uintptr) (_2 int32)
//go:noescape
-func Ypthread_mutexattr_init(tls *TLS, a uintptr) int32
+func Ypthread_mutexattr_init(tls *TLS, a uintptr) (_2 int32)
//go:noescape
-func Ypthread_mutexattr_settype(tls *TLS, a uintptr, typ int32) int32
+func Ypthread_mutexattr_settype(tls *TLS, a uintptr, typ int32) (_3 int32)
//go:noescape
-func Ypthread_self(tls *TLS) uintptr
+func Ypthread_self(tls *TLS) (_1 uintptr)
//go:noescape
-func Ypthread_setcancelstate(tls *TLS, new int32, old uintptr) int32
+func Ypthread_setcancelstate(tls *TLS, new int32, old uintptr) (_3 int32)
//go:noescape
-func Ypthread_setspecific(tls *TLS, k Tpthread_key_t, x uintptr) int32
+func Ypthread_setspecific(tls *TLS, k Tpthread_key_t, x uintptr) (_3 int32)
//go:noescape
-func Ypthread_sigmask(tls *TLS, now int32, set, old uintptr) int32
+func Ypthread_sigmask(tls *TLS, now int32, set, old uintptr) (_3 int32)
//go:noescape
func Yptrace(tls *TLS, req int32, va uintptr) (r int64)
@@ -2934,10 +4397,30 @@ func Ypwritev(tls *TLS, fd int32, iov uintptr, count int32, ofs Toff_t) (r Tssiz
func Ypwritev2(tls *TLS, fd int32, iov uintptr, count int32, ofs Toff_t, flags int32) (r Tssize_t)
//go:noescape
-func Yqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun)
+func Yqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun)
+
+//go:noescape
+func __ccgo_abi0_qsort_3(_0 *TLS, _1 uintptr, _2 uintptr, __ccgo_fp uintptr) (_3 int32)
+
+func __ccgo_abiInternal_qsort_3(tls *TLS, dest, abi0CodePtr uintptr) {
+ f := func(_0 *TLS, _1 uintptr, _2 uintptr) (_3 int32) {
+ return __ccgo_abi0_qsort_3(_0, _1, _2, abi0CodePtr)
+ }
+ *(*[2]uintptr)(unsafe.Pointer(dest)) = *(*[2]uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&f))))
+}
+
+//go:noescape
+func Yqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr)
//go:noescape
-func Yqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun, arg uintptr)
+func __ccgo_abi0_qsort_r_3(_0 *TLS, _1 uintptr, _2 uintptr, _3 uintptr, __ccgo_fp uintptr) (_4 int32)
+
+func __ccgo_abiInternal_qsort_r_3(tls *TLS, dest, abi0CodePtr uintptr) {
+ f := func(_0 *TLS, _1 uintptr, _2 uintptr, _3 uintptr) (_4 int32) {
+ return __ccgo_abi0_qsort_r_3(_0, _1, _2, _3, abi0CodePtr)
+ }
+ *(*[2]uintptr)(unsafe.Pointer(dest)) = *(*[2]uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&f))))
+}
//go:noescape
func Yquick_exit(tls *TLS, code int32)
@@ -2958,7 +4441,7 @@ func Yrand_r(tls *TLS, seed uintptr) (r int32)
func Yrandom(tls *TLS) (r int64)
//go:noescape
-func Yrandom_r(t *TLS, buf, result uintptr) int32
+func Yrandom_r(t *TLS, buf, result uintptr) (_2 int32)
//go:noescape
func Yread(tls *TLS, fd int32, buf uintptr, count Tsize_t) (r Tssize_t)
@@ -3057,7 +4540,7 @@ func Yrename(tls *TLS, old uintptr, new1 uintptr) (r int32)
func Yrenameat(tls *TLS, oldfd int32, old uintptr, newfd int32, new1 uintptr) (r int32)
//go:noescape
-func Yrenameat2(t *TLS, olddirfd int32, oldpath uintptr, newdirfd int32, newpath uintptr, flags int32) int32
+func Yrenameat2(t *TLS, olddirfd int32, oldpath uintptr, newdirfd int32, newpath uintptr, flags int32) (_6 int32)
//go:noescape
func Yres_init(tls *TLS) (r int32)
@@ -3126,13 +4609,33 @@ func Yscalbnf(tls *TLS, x float32, n int32) (r float32)
func Yscalbnl(tls *TLS, x float64, n int32) (r float64)
//go:noescape
-func Yscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r int32)
+func Yscandir(tls *TLS, path uintptr, res uintptr, __ccgo_fp_sel uintptr, __ccgo_fp_cmp uintptr) (r int32)
+
+//go:noescape
+func __ccgo_abi0_scandir_2(_0 *TLS, _1 uintptr, __ccgo_fp uintptr) (_2 int32)
+
+func __ccgo_abiInternal_scandir_2(tls *TLS, dest, abi0CodePtr uintptr) {
+ f := func(_0 *TLS, _1 uintptr) (_2 int32) {
+ return __ccgo_abi0_scandir_2(_0, _1, abi0CodePtr)
+ }
+ *(*[2]uintptr)(unsafe.Pointer(dest)) = *(*[2]uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&f))))
+}
+
+//go:noescape
+func __ccgo_abi0_scandir_3(_0 *TLS, _1 uintptr, _2 uintptr, __ccgo_fp uintptr) (_3 int32)
+
+func __ccgo_abiInternal_scandir_3(tls *TLS, dest, abi0CodePtr uintptr) {
+ f := func(_0 *TLS, _1 uintptr, _2 uintptr) (_3 int32) {
+ return __ccgo_abi0_scandir_3(_0, _1, _2, abi0CodePtr)
+ }
+ *(*[2]uintptr)(unsafe.Pointer(dest)) = *(*[2]uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&f))))
+}
//go:noescape
func Yscanf(tls *TLS, fmt uintptr, va uintptr) (r int32)
//go:noescape
-func Ysched_yield(tls *TLS) int32
+func Ysched_yield(tls *TLS) (_1 int32)
//go:noescape
func Ysecure_getenv(tls *TLS, name uintptr) (r uintptr)
@@ -3207,7 +4710,7 @@ func Ysethostname(tls *TLS, name uintptr, len1 Tsize_t) (r int32)
func Ysetitimer(tls *TLS, which int32, new1 uintptr, old uintptr) (r1 int32)
//go:noescape
-func Ysetjmp(t *TLS, env uintptr) int32
+func Ysetjmp(t *TLS, env uintptr) (_2 int32)
//go:noescape
func Ysetkey(tls *TLS, key uintptr)
@@ -3657,7 +5160,7 @@ func Ysyscall(tls *TLS, n int64, va uintptr) (r int64)
func Ysysconf(tls *TLS, name int32) (r int64)
//go:noescape
-func Ysysctlbyname(t *TLS, name, oldp, oldlenp, newp uintptr, newlen Tsize_t) int32
+func Ysysctlbyname(t *TLS, name, oldp, oldlenp, newp uintptr, newlen Tsize_t) (_3 int32)
//go:noescape
func Ysysinfo(tls *TLS, info uintptr) (r int32)
@@ -3666,7 +5169,7 @@ func Ysysinfo(tls *TLS, info uintptr) (r int32)
func Ysyslog(tls *TLS, priority int32, message uintptr, va uintptr)
//go:noescape
-func Ysystem(t *TLS, command uintptr) int32
+func Ysystem(t *TLS, command uintptr) (_2 int32)
//go:noescape
func Ytan(tls *TLS, x3 float64) (r float64)
@@ -3720,10 +5223,30 @@ func Ytcsetpgrp(tls *TLS, fd int32, pgrp Tpid_t) (r int32)
func Ytcsetwinsize(tls *TLS, fd int32, wsz uintptr) (r int32)
//go:noescape
-func Ytdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr)
+func Ytdelete(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr)
+
+//go:noescape
+func __ccgo_abi0_tdelete_2(_0 *TLS, _1 uintptr, _2 uintptr, __ccgo_fp uintptr) (_3 int32)
+
+func __ccgo_abiInternal_tdelete_2(tls *TLS, dest, abi0CodePtr uintptr) {
+ f := func(_0 *TLS, _1 uintptr, _2 uintptr) (_3 int32) {
+ return __ccgo_abi0_tdelete_2(_0, _1, _2, abi0CodePtr)
+ }
+ *(*[2]uintptr)(unsafe.Pointer(dest)) = *(*[2]uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&f))))
+}
+
+//go:noescape
+func Ytdestroy(tls *TLS, root uintptr, __ccgo_fp_freekey uintptr)
//go:noescape
-func Ytdestroy(tls *TLS, root uintptr, freekey uintptr)
+func __ccgo_abi0_tdestroy_1(_0 *TLS, _1 uintptr, __ccgo_fp uintptr)
+
+func __ccgo_abiInternal_tdestroy_1(tls *TLS, dest, abi0CodePtr uintptr) {
+ f := func(_0 *TLS, _1 uintptr) {
+ __ccgo_abi0_tdestroy_1(_0, _1, abi0CodePtr)
+ }
+ *(*[2]uintptr)(unsafe.Pointer(dest)) = *(*[2]uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&f))))
+}
//go:noescape
func Ytee(tls *TLS, src int32, dest int32, len1 Tsize_t, flags uint32) (r Tssize_t)
@@ -3738,7 +5261,17 @@ func Ytempnam(tls *TLS, dir uintptr, pfx uintptr) (r1 uintptr)
func Ytextdomain(tls *TLS, domainname uintptr) (r uintptr)
//go:noescape
-func Ytfind(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr)
+func Ytfind(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr)
+
+//go:noescape
+func __ccgo_abi0_tfind_2(_0 *TLS, _1 uintptr, _2 uintptr, __ccgo_fp uintptr) (_3 int32)
+
+func __ccgo_abiInternal_tfind_2(tls *TLS, dest, abi0CodePtr uintptr) {
+ f := func(_0 *TLS, _1 uintptr, _2 uintptr) (_3 int32) {
+ return __ccgo_abi0_tfind_2(_0, _1, _2, abi0CodePtr)
+ }
+ *(*[2]uintptr)(unsafe.Pointer(dest)) = *(*[2]uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&f))))
+}
//go:noescape
func Ytgamma(tls *TLS, x3 float64) (r1 float64)
@@ -3834,7 +5367,17 @@ func Ytruncf(tls *TLS, x3 float32) (r float32)
func Ytruncl(tls *TLS, x float64) (r float64)
//go:noescape
-func Ytsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr)
+func Ytsearch(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r1 uintptr)
+
+//go:noescape
+func __ccgo_abi0_tsearch_2(_0 *TLS, _1 uintptr, _2 uintptr, __ccgo_fp uintptr) (_3 int32)
+
+func __ccgo_abiInternal_tsearch_2(tls *TLS, dest, abi0CodePtr uintptr) {
+ f := func(_0 *TLS, _1 uintptr, _2 uintptr) (_3 int32) {
+ return __ccgo_abi0_tsearch_2(_0, _1, _2, abi0CodePtr)
+ }
+ *(*[2]uintptr)(unsafe.Pointer(dest)) = *(*[2]uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&f))))
+}
//go:noescape
func Yttyname(tls *TLS, fd int32) (r uintptr)
@@ -3843,7 +5386,17 @@ func Yttyname(tls *TLS, fd int32) (r uintptr)
func Yttyname_r(tls *TLS, fd int32, name uintptr, size Tsize_t) (r int32)
//go:noescape
-func Ytwalk(tls *TLS, root uintptr, action uintptr)
+func Ytwalk(tls *TLS, root uintptr, __ccgo_fp_action uintptr)
+
+//go:noescape
+func __ccgo_abi0_twalk_1(_0 *TLS, _1 uintptr, _2 int32, _3 int32, __ccgo_fp uintptr)
+
+func __ccgo_abiInternal_twalk_1(tls *TLS, dest, abi0CodePtr uintptr) {
+ f := func(_0 *TLS, _1 uintptr, _2 int32, _3 int32) {
+ __ccgo_abi0_twalk_1(_0, _1, _2, _3, abi0CodePtr)
+ }
+ *(*[2]uintptr)(unsafe.Pointer(dest)) = *(*[2]uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&f))))
+}
//go:noescape
func Ytzset(tls *TLS)
@@ -3918,7 +5471,7 @@ func Yuuid_copy(t *TLS, dst, src uintptr)
func Yuuid_generate_random(t *TLS, out uintptr)
//go:noescape
-func Yuuid_parse(t *TLS, in uintptr, uu uintptr) int32
+func Yuuid_parse(t *TLS, in uintptr, uu uintptr) (_3 int32)
//go:noescape
func Yuuid_unparse(t *TLS, uu, out uintptr)
diff --git a/vendor/modernc.org/libc/asm_linux_amd64.s b/vendor/modernc.org/libc/abi0_linux_amd64.s
similarity index 69%
rename from vendor/modernc.org/libc/asm_linux_amd64.s
rename to vendor/modernc.org/libc/abi0_linux_amd64.s
index 0264b405bcc9b..0f896ff256ef4 100644
--- a/vendor/modernc.org/libc/asm_linux_amd64.s
+++ b/vendor/modernc.org/libc/abi0_linux_amd64.s
@@ -1,290 +1,1684 @@
-// Code generated for linux/amd64 by 'genasm', DO NOT EDIT.
+// Code generated for linux/amd64 by 'qbecc --abi0wrap .', DO NOT EDIT.
#include "funcdata.h"
#include "textflag.h"
-// func Y__assert_fail(tls *TLS, expr uintptr, file uintptr, line int32, func1 uintptr)
-TEXT ·Y__assert_fail(SB),$40-40
+// func Y_Exit(tls *TLS, ec int32)
+TEXT ·Y_Exit(SB),$16-12
GO_ARGS
NO_LOCAL_POINTERS
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ expr+8(FP), AX
- MOVQ AX, 8(SP)
- MOVQ file+16(FP), AX
- MOVQ AX, 16(SP)
- MOVL line+24(FP), AX
- MOVL AX, 24(SP)
- MOVQ func1+32(FP), AX
- MOVQ AX, 32(SP)
- CALL ·X__assert_fail(SB)
+ MOVL ec+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X_Exit(SB)
RET
-// func Y__builtin___memcpy_chk(t *TLS, dest, src uintptr, n, os Tsize_t) (r uintptr)
-TEXT ·Y__builtin___memcpy_chk(SB),$48-48
+// func Y_IO_feof_unlocked(tls *TLS, f uintptr) (r int32)
+TEXT ·Y_IO_feof_unlocked(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ dest+8(FP), AX
+ MOVQ f+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ src+16(FP), AX
- MOVQ AX, 16(SP)
- MOVQ n+24(FP), AX
- MOVQ AX, 24(SP)
- MOVQ os+32(FP), AX
- MOVQ AX, 32(SP)
- CALL ·X__builtin___memcpy_chk(SB)
- MOVQ 40(SP), AX
- MOVQ AX, r+40(FP)
+ CALL ·X_IO_feof_unlocked(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
RET
-// func Y__builtin___memmove_chk(t *TLS, dest, src uintptr, n, os Tsize_t) uintptr
-TEXT ·Y__builtin___memmove_chk(SB),$48-48
+// func Y_IO_ferror_unlocked(tls *TLS, f uintptr) (r int32)
+TEXT ·Y_IO_ferror_unlocked(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ dest+8(FP), AX
+ MOVQ f+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ src+16(FP), AX
- MOVQ AX, 16(SP)
- MOVQ n+24(FP), AX
- MOVQ AX, 24(SP)
- MOVQ os+32(FP), AX
- MOVQ AX, 32(SP)
- CALL ·X__builtin___memmove_chk(SB)
- MOVQ 40(SP), AX
- MOVQ AX, ret+40(FP)
+ CALL ·X_IO_ferror_unlocked(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
RET
-// func Y__builtin___memset_chk(t *TLS, s uintptr, c int32, n, os Tsize_t) uintptr
-TEXT ·Y__builtin___memset_chk(SB),$48-48
+// func Y_IO_getc(tls *TLS, f1 uintptr) (r int32)
+TEXT ·Y_IO_getc(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ s+8(FP), AX
+ MOVQ f1+8(FP), AX
MOVQ AX, 8(SP)
- MOVL c+16(FP), AX
- MOVL AX, 16(SP)
- MOVQ n+24(FP), AX
- MOVQ AX, 24(SP)
- MOVQ os+32(FP), AX
- MOVQ AX, 32(SP)
- CALL ·X__builtin___memset_chk(SB)
- MOVQ 40(SP), AX
- MOVQ AX, ret+40(FP)
+ CALL ·X_IO_getc(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
RET
-// func Y__builtin___snprintf_chk(t *TLS, str uintptr, maxlen Tsize_t, flag int32, os Tsize_t, format, args uintptr) (r int32)
-TEXT ·Y__builtin___snprintf_chk(SB),$64-60
+// func Y_IO_getc_unlocked(tls *TLS, f uintptr) (r int32)
+TEXT ·Y_IO_getc_unlocked(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ str+8(FP), AX
+ MOVQ f+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ maxlen+16(FP), AX
- MOVQ AX, 16(SP)
- MOVL flag+24(FP), AX
- MOVL AX, 24(SP)
- MOVQ os+32(FP), AX
- MOVQ AX, 32(SP)
- MOVQ format+40(FP), AX
- MOVQ AX, 40(SP)
- MOVQ args+48(FP), AX
- MOVQ AX, 48(SP)
- CALL ·X__builtin___snprintf_chk(SB)
- MOVL 56(SP), AX
- MOVL AX, r+56(FP)
+ CALL ·X_IO_getc_unlocked(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
RET
-// func Y__builtin___sprintf_chk(t *TLS, s uintptr, flag int32, os Tsize_t, format, args uintptr) (r int32)
-TEXT ·Y__builtin___sprintf_chk(SB),$56-52
+// func Y_IO_putc(tls *TLS, c1 int32, f1 uintptr) (r int32)
+TEXT ·Y_IO_putc(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ s+8(FP), AX
- MOVQ AX, 8(SP)
- MOVL flag+16(FP), AX
- MOVL AX, 16(SP)
- MOVQ os+24(FP), AX
- MOVQ AX, 24(SP)
- MOVQ format+32(FP), AX
- MOVQ AX, 32(SP)
- MOVQ args+40(FP), AX
- MOVQ AX, 40(SP)
- CALL ·X__builtin___sprintf_chk(SB)
- MOVL 48(SP), AX
- MOVL AX, r+48(FP)
+ MOVL c1+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ f1+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X_IO_putc(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
RET
-// func Y__builtin___strcat_chk(t *TLS, dest, src uintptr, os Tsize_t) (r uintptr)
-TEXT ·Y__builtin___strcat_chk(SB),$40-40
+// func Y_IO_putc_unlocked(tls *TLS, c int32, f uintptr) (r int32)
+TEXT ·Y_IO_putc_unlocked(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ dest+8(FP), AX
- MOVQ AX, 8(SP)
- MOVQ src+16(FP), AX
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ f+16(FP), AX
MOVQ AX, 16(SP)
- MOVQ os+24(FP), AX
- MOVQ AX, 24(SP)
- CALL ·X__builtin___strcat_chk(SB)
- MOVQ 32(SP), AX
- MOVQ AX, r+32(FP)
+ CALL ·X_IO_putc_unlocked(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
RET
-// func Y__builtin___strcpy_chk(t *TLS, dest, src uintptr, os Tsize_t) uintptr
-TEXT ·Y__builtin___strcpy_chk(SB),$40-40
+// func Y___errno_location(tls *TLS) (r uintptr)
+TEXT ·Y___errno_location(SB),$16-16
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ dest+8(FP), AX
- MOVQ AX, 8(SP)
- MOVQ src+16(FP), AX
- MOVQ AX, 16(SP)
- MOVQ os+24(FP), AX
- MOVQ AX, 24(SP)
- CALL ·X__builtin___strcpy_chk(SB)
- MOVQ 32(SP), AX
- MOVQ AX, ret+32(FP)
+ CALL ·X___errno_location(SB)
+ MOVQ 8(SP), AX
+ MOVQ AX, r+8(FP)
RET
-// func Y__builtin___strncpy_chk(t *TLS, dest, src uintptr, n, os Tsize_t) (r uintptr)
-TEXT ·Y__builtin___strncpy_chk(SB),$48-48
+// func Y__aio_close(tls *TLS, fd int32) (_2 int32)
+TEXT ·Y__aio_close(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ dest+8(FP), AX
+ MOVL fd+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__aio_close(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__asctime_r(tls *TLS, tm uintptr, buf uintptr) (r uintptr)
+TEXT ·Y__asctime_r(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ tm+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ src+16(FP), AX
+ MOVQ buf+16(FP), AX
MOVQ AX, 16(SP)
- MOVQ n+24(FP), AX
- MOVQ AX, 24(SP)
- MOVQ os+32(FP), AX
- MOVQ AX, 32(SP)
- CALL ·X__builtin___strncpy_chk(SB)
- MOVQ 40(SP), AX
- MOVQ AX, r+40(FP)
+ CALL ·X__asctime_r(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
RET
-// func Y__builtin___vsnprintf_chk(t *TLS, str uintptr, maxlen Tsize_t, flag int32, os Tsize_t, format, args uintptr) (r int32)
-TEXT ·Y__builtin___vsnprintf_chk(SB),$64-60
+// func Y__assert_fail(tls *TLS, expr uintptr, file uintptr, line int32, func1 uintptr)
+TEXT ·Y__assert_fail(SB),$40-40
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ str+8(FP), AX
+ MOVQ expr+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ maxlen+16(FP), AX
+ MOVQ file+16(FP), AX
MOVQ AX, 16(SP)
- MOVL flag+24(FP), AX
+ MOVL line+24(FP), AX
MOVL AX, 24(SP)
- MOVQ os+32(FP), AX
+ MOVQ func1+32(FP), AX
MOVQ AX, 32(SP)
- MOVQ format+40(FP), AX
- MOVQ AX, 40(SP)
- MOVQ args+48(FP), AX
- MOVQ AX, 48(SP)
- CALL ·X__builtin___vsnprintf_chk(SB)
- MOVL 56(SP), AX
- MOVL AX, r+56(FP)
+ CALL ·X__assert_fail(SB)
RET
-// func Y__builtin_abort(t *TLS)
-TEXT ·Y__builtin_abort(SB),$8-8
+// func Y__atomic_compare_exchangeInt16(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) (_3 int32)
+TEXT ·Y__atomic_compare_exchangeInt16(SB),$56-52
GO_ARGS
NO_LOCAL_POINTERS
MOVQ t+0(FP), AX
MOVQ AX, 0(SP)
- CALL ·X__builtin_abort(SB)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ expected+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ desired+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL weak+32(FP), AX
+ MOVL AX, 32(SP)
+ MOVL success+36(FP), AX
+ MOVL AX, 36(SP)
+ MOVL failure+40(FP), AX
+ MOVL AX, 40(SP)
+ CALL ·X__atomic_compare_exchangeInt16(SB)
+ MOVL 48(SP), AX
+ MOVL AX, _3+48(FP)
RET
-// func Y__builtin_abs(t *TLS, j int32) int32
-TEXT ·Y__builtin_abs(SB),$24-20
+// func Y__atomic_compare_exchangeInt32(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) (_3 int32)
+TEXT ·Y__atomic_compare_exchangeInt32(SB),$56-52
GO_ARGS
NO_LOCAL_POINTERS
MOVQ t+0(FP), AX
MOVQ AX, 0(SP)
- MOVL j+8(FP), AX
- MOVL AX, 8(SP)
- CALL ·X__builtin_abs(SB)
- MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ expected+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ desired+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL weak+32(FP), AX
+ MOVL AX, 32(SP)
+ MOVL success+36(FP), AX
+ MOVL AX, 36(SP)
+ MOVL failure+40(FP), AX
+ MOVL AX, 40(SP)
+ CALL ·X__atomic_compare_exchangeInt32(SB)
+ MOVL 48(SP), AX
+ MOVL AX, _3+48(FP)
RET
-// func Y__builtin_add_overflowInt64(t *TLS, a, b int64, res uintptr) int32
-TEXT ·Y__builtin_add_overflowInt64(SB),$40-36
+// func Y__atomic_compare_exchangeInt64(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) (_3 int32)
+TEXT ·Y__atomic_compare_exchangeInt64(SB),$56-52
GO_ARGS
NO_LOCAL_POINTERS
MOVQ t+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ a+8(FP), AX
+ MOVQ ptr+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ b+16(FP), AX
+ MOVQ expected+16(FP), AX
MOVQ AX, 16(SP)
- MOVQ res+24(FP), AX
+ MOVQ desired+24(FP), AX
MOVQ AX, 24(SP)
- CALL ·X__builtin_add_overflowInt64(SB)
- MOVL 32(SP), AX
- MOVL AX, ret+32(FP)
+ MOVL weak+32(FP), AX
+ MOVL AX, 32(SP)
+ MOVL success+36(FP), AX
+ MOVL AX, 36(SP)
+ MOVL failure+40(FP), AX
+ MOVL AX, 40(SP)
+ CALL ·X__atomic_compare_exchangeInt64(SB)
+ MOVL 48(SP), AX
+ MOVL AX, _3+48(FP)
RET
-// func Y__builtin_add_overflowUint32(t *TLS, a, b uint32, res uintptr) int32
-TEXT ·Y__builtin_add_overflowUint32(SB),$32-28
+// func Y__atomic_compare_exchangeInt8(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) (_3 int32)
+TEXT ·Y__atomic_compare_exchangeInt8(SB),$56-52
GO_ARGS
NO_LOCAL_POINTERS
MOVQ t+0(FP), AX
MOVQ AX, 0(SP)
- MOVL a+8(FP), AX
- MOVL AX, 8(SP)
- MOVL b+12(FP), AX
- MOVL AX, 12(SP)
- MOVQ res+16(FP), AX
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ expected+16(FP), AX
MOVQ AX, 16(SP)
- CALL ·X__builtin_add_overflowUint32(SB)
- MOVL 24(SP), AX
- MOVL AX, ret+24(FP)
+ MOVQ desired+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL weak+32(FP), AX
+ MOVL AX, 32(SP)
+ MOVL success+36(FP), AX
+ MOVL AX, 36(SP)
+ MOVL failure+40(FP), AX
+ MOVL AX, 40(SP)
+ CALL ·X__atomic_compare_exchangeInt8(SB)
+ MOVL 48(SP), AX
+ MOVL AX, _3+48(FP)
RET
-// func Y__builtin_add_overflowUint64(t *TLS, a, b uint64, res uintptr) int32
-TEXT ·Y__builtin_add_overflowUint64(SB),$40-36
+// func Y__atomic_compare_exchangeUint16(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) (_3 int32)
+TEXT ·Y__atomic_compare_exchangeUint16(SB),$56-52
GO_ARGS
NO_LOCAL_POINTERS
MOVQ t+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ a+8(FP), AX
+ MOVQ ptr+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ b+16(FP), AX
+ MOVQ expected+16(FP), AX
MOVQ AX, 16(SP)
- MOVQ res+24(FP), AX
+ MOVQ desired+24(FP), AX
MOVQ AX, 24(SP)
- CALL ·X__builtin_add_overflowUint64(SB)
- MOVL 32(SP), AX
- MOVL AX, ret+32(FP)
+ MOVL weak+32(FP), AX
+ MOVL AX, 32(SP)
+ MOVL success+36(FP), AX
+ MOVL AX, 36(SP)
+ MOVL failure+40(FP), AX
+ MOVL AX, 40(SP)
+ CALL ·X__atomic_compare_exchangeUint16(SB)
+ MOVL 48(SP), AX
+ MOVL AX, _3+48(FP)
RET
-// func Y__builtin_alloca(tls *TLS, size Tsize_t) uintptr
-TEXT ·Y__builtin_alloca(SB),$24-24
+// func Y__atomic_compare_exchangeUint32(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) (_3 int32)
+TEXT ·Y__atomic_compare_exchangeUint32(SB),$56-52
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ tls+0(FP), AX
+ MOVQ t+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ size+8(FP), AX
+ MOVQ ptr+8(FP), AX
MOVQ AX, 8(SP)
- CALL ·X__builtin_alloca(SB)
- MOVQ 16(SP), AX
- MOVQ AX, ret+16(FP)
+ MOVQ expected+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ desired+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL weak+32(FP), AX
+ MOVL AX, 32(SP)
+ MOVL success+36(FP), AX
+ MOVL AX, 36(SP)
+ MOVL failure+40(FP), AX
+ MOVL AX, 40(SP)
+ CALL ·X__atomic_compare_exchangeUint32(SB)
+ MOVL 48(SP), AX
+ MOVL AX, _3+48(FP)
RET
-// func Y__builtin_bswap16(t *TLS, x uint16) uint16
-TEXT ·Y__builtin_bswap16(SB),$24-18
+// func Y__atomic_compare_exchangeUint64(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) (_3 int32)
+TEXT ·Y__atomic_compare_exchangeUint64(SB),$56-52
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ expected+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ desired+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL weak+32(FP), AX
+ MOVL AX, 32(SP)
+ MOVL success+36(FP), AX
+ MOVL AX, 36(SP)
+ MOVL failure+40(FP), AX
+ MOVL AX, 40(SP)
+ CALL ·X__atomic_compare_exchangeUint64(SB)
+ MOVL 48(SP), AX
+ MOVL AX, _3+48(FP)
+ RET
+
+// func Y__atomic_compare_exchangeUint8(t *TLS, ptr, expected, desired uintptr, weak, success, failure int32) (_3 int32)
+TEXT ·Y__atomic_compare_exchangeUint8(SB),$56-52
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ expected+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ desired+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL weak+32(FP), AX
+ MOVL AX, 32(SP)
+ MOVL success+36(FP), AX
+ MOVL AX, 36(SP)
+ MOVL failure+40(FP), AX
+ MOVL AX, 40(SP)
+ CALL ·X__atomic_compare_exchangeUint8(SB)
+ MOVL 48(SP), AX
+ MOVL AX, _3+48(FP)
+ RET
+
+// func Y__atomic_exchangeInt16(t *TLS, ptr, val, ret uintptr, _ int32)
+TEXT ·Y__atomic_exchangeInt16(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ ret+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL _+32(FP), AX
+ MOVL AX, 32(SP)
+ CALL ·X__atomic_exchangeInt16(SB)
+ RET
+
+// func Y__atomic_exchangeInt32(t *TLS, ptr, val, ret uintptr, _ int32)
+TEXT ·Y__atomic_exchangeInt32(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ ret+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL _+32(FP), AX
+ MOVL AX, 32(SP)
+ CALL ·X__atomic_exchangeInt32(SB)
+ RET
+
+// func Y__atomic_exchangeInt64(t *TLS, ptr, val, ret uintptr, _ int32)
+TEXT ·Y__atomic_exchangeInt64(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ ret+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL _+32(FP), AX
+ MOVL AX, 32(SP)
+ CALL ·X__atomic_exchangeInt64(SB)
+ RET
+
+// func Y__atomic_exchangeInt8(t *TLS, ptr, val, ret uintptr, _ int32)
+TEXT ·Y__atomic_exchangeInt8(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ ret+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL _+32(FP), AX
+ MOVL AX, 32(SP)
+ CALL ·X__atomic_exchangeInt8(SB)
+ RET
+
+// func Y__atomic_exchangeUint16(t *TLS, ptr, val, ret uintptr, _ int32)
+TEXT ·Y__atomic_exchangeUint16(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ ret+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL _+32(FP), AX
+ MOVL AX, 32(SP)
+ CALL ·X__atomic_exchangeUint16(SB)
+ RET
+
+// func Y__atomic_exchangeUint32(t *TLS, ptr, val, ret uintptr, _ int32)
+TEXT ·Y__atomic_exchangeUint32(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ ret+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL _+32(FP), AX
+ MOVL AX, 32(SP)
+ CALL ·X__atomic_exchangeUint32(SB)
+ RET
+
+// func Y__atomic_exchangeUint64(t *TLS, ptr, val, ret uintptr, _ int32)
+TEXT ·Y__atomic_exchangeUint64(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ ret+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL _+32(FP), AX
+ MOVL AX, 32(SP)
+ CALL ·X__atomic_exchangeUint64(SB)
+ RET
+
+// func Y__atomic_exchangeUint8(t *TLS, ptr, val, ret uintptr, _ int32)
+TEXT ·Y__atomic_exchangeUint8(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ ret+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL _+32(FP), AX
+ MOVL AX, 32(SP)
+ CALL ·X__atomic_exchangeUint8(SB)
+ RET
+
+// func Y__atomic_fetch_addInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+TEXT ·Y__atomic_fetch_addInt16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_addInt16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_addInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+TEXT ·Y__atomic_fetch_addInt32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_addInt32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_addInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+TEXT ·Y__atomic_fetch_addInt64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_fetch_addInt64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__atomic_fetch_addInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+TEXT ·Y__atomic_fetch_addInt8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_addInt8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_addUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+TEXT ·Y__atomic_fetch_addUint16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_addUint16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_addUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+TEXT ·Y__atomic_fetch_addUint32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_addUint32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_addUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+TEXT ·Y__atomic_fetch_addUint64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_fetch_addUint64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__atomic_fetch_addUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+TEXT ·Y__atomic_fetch_addUint8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_addUint8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_andInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+TEXT ·Y__atomic_fetch_andInt16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_andInt16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_andInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+TEXT ·Y__atomic_fetch_andInt32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_andInt32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_andInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+TEXT ·Y__atomic_fetch_andInt64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_fetch_andInt64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__atomic_fetch_andInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+TEXT ·Y__atomic_fetch_andInt8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_andInt8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_andUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+TEXT ·Y__atomic_fetch_andUint16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_andUint16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_andUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+TEXT ·Y__atomic_fetch_andUint32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_andUint32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_andUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+TEXT ·Y__atomic_fetch_andUint64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_fetch_andUint64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__atomic_fetch_andUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+TEXT ·Y__atomic_fetch_andUint8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_andUint8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_orInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+TEXT ·Y__atomic_fetch_orInt16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_orInt16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_orInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+TEXT ·Y__atomic_fetch_orInt32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_orInt32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_orInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+TEXT ·Y__atomic_fetch_orInt64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_fetch_orInt64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__atomic_fetch_orInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+TEXT ·Y__atomic_fetch_orInt8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_orInt8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_orUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+TEXT ·Y__atomic_fetch_orUint16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_orUint16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_orUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+TEXT ·Y__atomic_fetch_orUint32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_orUint32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_orUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+TEXT ·Y__atomic_fetch_orUint64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_fetch_orUint64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__atomic_fetch_orUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+TEXT ·Y__atomic_fetch_orUint8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_orUint8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_subInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+TEXT ·Y__atomic_fetch_subInt16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_subInt16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_subInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+TEXT ·Y__atomic_fetch_subInt32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_subInt32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_subInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+TEXT ·Y__atomic_fetch_subInt64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_fetch_subInt64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__atomic_fetch_subInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+TEXT ·Y__atomic_fetch_subInt8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_subInt8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_subUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+TEXT ·Y__atomic_fetch_subUint16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_subUint16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_subUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+TEXT ·Y__atomic_fetch_subUint32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_subUint32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_subUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+TEXT ·Y__atomic_fetch_subUint64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_fetch_subUint64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__atomic_fetch_subUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+TEXT ·Y__atomic_fetch_subUint8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_subUint8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_xorInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+TEXT ·Y__atomic_fetch_xorInt16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_xorInt16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_xorInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+TEXT ·Y__atomic_fetch_xorInt32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_xorInt32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_xorInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+TEXT ·Y__atomic_fetch_xorInt64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_fetch_xorInt64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__atomic_fetch_xorInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+TEXT ·Y__atomic_fetch_xorInt8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_xorInt8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_xorUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+TEXT ·Y__atomic_fetch_xorUint16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_xorUint16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_xorUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+TEXT ·Y__atomic_fetch_xorUint32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_xorUint32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__atomic_fetch_xorUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+TEXT ·Y__atomic_fetch_xorUint64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_fetch_xorUint64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__atomic_fetch_xorUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+TEXT ·Y__atomic_fetch_xorUint8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__atomic_fetch_xorUint8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__atomic_loadInt16(t *TLS, ptr, ret uintptr, memorder int32)
+TEXT ·Y__atomic_loadInt16(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ ret+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL memorder+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_loadInt16(SB)
+ RET
+
+// func Y__atomic_loadInt32(t *TLS, ptr, ret uintptr, memorder int32)
+TEXT ·Y__atomic_loadInt32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ ret+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL memorder+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_loadInt32(SB)
+ RET
+
+// func Y__atomic_loadInt64(t *TLS, ptr, ret uintptr, memorder int32)
+TEXT ·Y__atomic_loadInt64(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ ret+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL memorder+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_loadInt64(SB)
+ RET
+
+// func Y__atomic_loadInt8(t *TLS, ptr, ret uintptr, memorder int32)
+TEXT ·Y__atomic_loadInt8(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ ret+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL memorder+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_loadInt8(SB)
+ RET
+
+// func Y__atomic_loadUint16(t *TLS, ptr, ret uintptr, memorder int32)
+TEXT ·Y__atomic_loadUint16(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ ret+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL memorder+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_loadUint16(SB)
+ RET
+
+// func Y__atomic_loadUint32(t *TLS, ptr, ret uintptr, memorder int32)
+TEXT ·Y__atomic_loadUint32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ ret+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL memorder+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_loadUint32(SB)
+ RET
+
+// func Y__atomic_loadUint64(t *TLS, ptr, ret uintptr, memorder int32)
+TEXT ·Y__atomic_loadUint64(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ ret+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL memorder+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_loadUint64(SB)
+ RET
+
+// func Y__atomic_loadUint8(t *TLS, ptr, ret uintptr, memorder int32)
+TEXT ·Y__atomic_loadUint8(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ ret+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL memorder+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_loadUint8(SB)
+ RET
+
+// func Y__atomic_storeInt16(t *TLS, ptr, val uintptr, memorder int32)
+TEXT ·Y__atomic_storeInt16(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL memorder+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_storeInt16(SB)
+ RET
+
+// func Y__atomic_storeInt32(t *TLS, ptr, val uintptr, memorder int32)
+TEXT ·Y__atomic_storeInt32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL memorder+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_storeInt32(SB)
+ RET
+
+// func Y__atomic_storeInt64(t *TLS, ptr, val uintptr, memorder int32)
+TEXT ·Y__atomic_storeInt64(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL memorder+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_storeInt64(SB)
+ RET
+
+// func Y__atomic_storeInt8(t *TLS, ptr, val uintptr, memorder int32)
+TEXT ·Y__atomic_storeInt8(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL memorder+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_storeInt8(SB)
+ RET
+
+// func Y__atomic_storeUint16(t *TLS, ptr, val uintptr, memorder int32)
+TEXT ·Y__atomic_storeUint16(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL memorder+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_storeUint16(SB)
+ RET
+
+// func Y__atomic_storeUint32(t *TLS, ptr, val uintptr, memorder int32)
+TEXT ·Y__atomic_storeUint32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL memorder+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_storeUint32(SB)
+ RET
+
+// func Y__atomic_storeUint64(t *TLS, ptr, val uintptr, memorder int32)
+TEXT ·Y__atomic_storeUint64(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL memorder+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_storeUint64(SB)
+ RET
+
+// func Y__atomic_storeUint8(t *TLS, ptr, val uintptr, memorder int32)
+TEXT ·Y__atomic_storeUint8(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL memorder+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__atomic_storeUint8(SB)
+ RET
+
+// func Y__block_all_sigs(tls *TLS, set uintptr)
+TEXT ·Y__block_all_sigs(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ set+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__block_all_sigs(SB)
+ RET
+
+// func Y__block_app_sigs(tls *TLS, set uintptr)
+TEXT ·Y__block_app_sigs(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ set+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__block_app_sigs(SB)
+ RET
+
+// func Y__builtin___memcpy_chk(t *TLS, dest, src uintptr, n, os Tsize_t) (r uintptr)
+TEXT ·Y__builtin___memcpy_chk(SB),$48-48
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ dest+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ src+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ n+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ os+32(FP), AX
+ MOVQ AX, 32(SP)
+ CALL ·X__builtin___memcpy_chk(SB)
+ MOVQ 40(SP), AX
+ MOVQ AX, r+40(FP)
+ RET
+
+// func Y__builtin___memmove_chk(t *TLS, dest, src uintptr, n, os Tsize_t) (_3 uintptr)
+TEXT ·Y__builtin___memmove_chk(SB),$48-48
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ dest+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ src+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ n+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ os+32(FP), AX
+ MOVQ AX, 32(SP)
+ CALL ·X__builtin___memmove_chk(SB)
+ MOVQ 40(SP), AX
+ MOVQ AX, _3+40(FP)
+ RET
+
+// func Y__builtin___memset_chk(t *TLS, s uintptr, c int32, n, os Tsize_t) (_4 uintptr)
+TEXT ·Y__builtin___memset_chk(SB),$48-48
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL c+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVQ n+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ os+32(FP), AX
+ MOVQ AX, 32(SP)
+ CALL ·X__builtin___memset_chk(SB)
+ MOVQ 40(SP), AX
+ MOVQ AX, _4+40(FP)
+ RET
+
+// func Y__builtin___snprintf_chk(t *TLS, str uintptr, maxlen Tsize_t, flag int32, os Tsize_t, format, args uintptr) (r int32)
+TEXT ·Y__builtin___snprintf_chk(SB),$64-60
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ str+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ maxlen+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL flag+24(FP), AX
+ MOVL AX, 24(SP)
+ MOVQ os+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVQ format+40(FP), AX
+ MOVQ AX, 40(SP)
+ MOVQ args+48(FP), AX
+ MOVQ AX, 48(SP)
+ CALL ·X__builtin___snprintf_chk(SB)
+ MOVL 56(SP), AX
+ MOVL AX, r+56(FP)
+ RET
+
+// func Y__builtin___sprintf_chk(t *TLS, s uintptr, flag int32, os Tsize_t, format, args uintptr) (r int32)
+TEXT ·Y__builtin___sprintf_chk(SB),$56-52
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL flag+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVQ os+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ format+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVQ args+40(FP), AX
+ MOVQ AX, 40(SP)
+ CALL ·X__builtin___sprintf_chk(SB)
+ MOVL 48(SP), AX
+ MOVL AX, r+48(FP)
+ RET
+
+// func Y__builtin___strcat_chk(t *TLS, dest, src uintptr, os Tsize_t) (r uintptr)
+TEXT ·Y__builtin___strcat_chk(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ dest+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ src+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ os+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__builtin___strcat_chk(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__builtin___strcpy_chk(t *TLS, dest, src uintptr, os Tsize_t) (_3 uintptr)
+TEXT ·Y__builtin___strcpy_chk(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ dest+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ src+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ os+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__builtin___strcpy_chk(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, _3+32(FP)
+ RET
+
+// func Y__builtin___strncpy_chk(t *TLS, dest, src uintptr, n, os Tsize_t) (r uintptr)
+TEXT ·Y__builtin___strncpy_chk(SB),$48-48
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ dest+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ src+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ n+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ os+32(FP), AX
+ MOVQ AX, 32(SP)
+ CALL ·X__builtin___strncpy_chk(SB)
+ MOVQ 40(SP), AX
+ MOVQ AX, r+40(FP)
+ RET
+
+// func Y__builtin___vsnprintf_chk(t *TLS, str uintptr, maxlen Tsize_t, flag int32, os Tsize_t, format, args uintptr) (r int32)
+TEXT ·Y__builtin___vsnprintf_chk(SB),$64-60
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ str+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ maxlen+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL flag+24(FP), AX
+ MOVL AX, 24(SP)
+ MOVQ os+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVQ format+40(FP), AX
+ MOVQ AX, 40(SP)
+ MOVQ args+48(FP), AX
+ MOVQ AX, 48(SP)
+ CALL ·X__builtin___vsnprintf_chk(SB)
+ MOVL 56(SP), AX
+ MOVL AX, r+56(FP)
+ RET
+
+// func Y__builtin_abort(t *TLS)
+TEXT ·Y__builtin_abort(SB),$8-8
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__builtin_abort(SB)
+ RET
+
+// func Y__builtin_abs(t *TLS, j int32) (_2 int32)
+TEXT ·Y__builtin_abs(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL j+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__builtin_abs(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__builtin_add_overflowInt64(t *TLS, a, b int64, res uintptr) (_3 int32)
+TEXT ·Y__builtin_add_overflowInt64(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ a+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ b+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ res+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__builtin_add_overflowInt64(SB)
+ MOVL 32(SP), AX
+ MOVL AX, _3+32(FP)
+ RET
+
+// func Y__builtin_add_overflowUint32(t *TLS, a, b uint32, res uintptr) (_3 int32)
+TEXT ·Y__builtin_add_overflowUint32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL a+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVL b+12(FP), AX
+ MOVL AX, 12(SP)
+ MOVQ res+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__builtin_add_overflowUint32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, _3+24(FP)
+ RET
+
+// func Y__builtin_add_overflowUint64(t *TLS, a, b uint64, res uintptr) (_3 int32)
+TEXT ·Y__builtin_add_overflowUint64(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ a+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ b+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ res+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__builtin_add_overflowUint64(SB)
+ MOVL 32(SP), AX
+ MOVL AX, _3+32(FP)
+ RET
+
+// func Y__builtin_alloca(tls *TLS, size Tsize_t) (_2 uintptr)
+TEXT ·Y__builtin_alloca(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ size+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_alloca(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, _2+16(FP)
+ RET
+
+// func Y__builtin_bswap16(t *TLS, x uint16) (_2 uint16)
+TEXT ·Y__builtin_bswap16(SB),$24-18
GO_ARGS
NO_LOCAL_POINTERS
MOVQ t+0(FP), AX
@@ -293,972 +1687,6849 @@ TEXT ·Y__builtin_bswap16(SB),$24-18
MOVW AX, 8(SP)
CALL ·X__builtin_bswap16(SB)
MOVW 16(SP), AX
- MOVW AX, ret+16(FP)
+ MOVW AX, _2+16(FP)
+ RET
+
+// func Y__builtin_bswap32(t *TLS, x uint32) (_2 uint32)
+TEXT ·Y__builtin_bswap32(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL x+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__builtin_bswap32(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__builtin_bswap64(t *TLS, x uint64) (_2 uint64)
+TEXT ·Y__builtin_bswap64(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_bswap64(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, _2+16(FP)
+ RET
+
+// func Y__builtin_bzero(t *TLS, s uintptr, n Tsize_t)
+TEXT ·Y__builtin_bzero(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ n+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__builtin_bzero(SB)
+ RET
+
+// func Y__builtin_clz(t *TLS, n uint32) (_2 int32)
+TEXT ·Y__builtin_clz(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL n+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__builtin_clz(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__builtin_clzl(t *TLS, n ulong) (_2 int32)
+TEXT ·Y__builtin_clzl(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ n+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_clzl(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__builtin_clzll(t *TLS, n uint64) (_2 int32)
+TEXT ·Y__builtin_clzll(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ n+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_clzll(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__builtin_copysign(t *TLS, x, y float64) (_2 float64)
+TEXT ·Y__builtin_copysign(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ y+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__builtin_copysign(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, _2+24(FP)
+ RET
+
+// func Y__builtin_copysignf(t *TLS, x, y float32) (_2 float32)
+TEXT ·Y__builtin_copysignf(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL x+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVL y+12(FP), AX
+ MOVL AX, 12(SP)
+ CALL ·X__builtin_copysignf(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__builtin_copysignl(t *TLS, x, y float64) (_2 float64)
+TEXT ·Y__builtin_copysignl(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ y+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__builtin_copysignl(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, _2+24(FP)
+ RET
+
+// func Y__builtin_ctz(t *TLS, n uint32) (_2 int32)
+TEXT ·Y__builtin_ctz(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL n+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__builtin_ctz(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__builtin_ctzl(tls *TLS, x ulong) (_2 int32)
+TEXT ·Y__builtin_ctzl(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_ctzl(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__builtin_exit(t *TLS, status int32)
+TEXT ·Y__builtin_exit(SB),$16-12
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL status+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__builtin_exit(SB)
+ RET
+
+// func Y__builtin_expect(t *TLS, exp, c long) (_2 long)
+TEXT ·Y__builtin_expect(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ exp+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ c+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__builtin_expect(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, _2+24(FP)
+ RET
+
+// func Y__builtin_fabs(t *TLS, x float64) (_2 float64)
+TEXT ·Y__builtin_fabs(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_fabs(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, _2+16(FP)
+ RET
+
+// func Y__builtin_fabsf(t *TLS, x float32) (_2 float32)
+TEXT ·Y__builtin_fabsf(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL x+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__builtin_fabsf(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__builtin_fabsl(t *TLS, x float64) (_2 float64)
+TEXT ·Y__builtin_fabsl(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_fabsl(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, _2+16(FP)
+ RET
+
+// func Y__builtin_ffs(tls *TLS, i int32) (r int32)
+TEXT ·Y__builtin_ffs(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL i+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__builtin_ffs(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__builtin_fma(tls *TLS, x, y, z float64) (r float64)
+TEXT ·Y__builtin_fma(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ y+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ z+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__builtin_fma(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__builtin_fmax(tls *TLS, x float64, y float64) (r float64)
+TEXT ·Y__builtin_fmax(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ y+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__builtin_fmax(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__builtin_fmin(tls *TLS, x float64, y float64) (r float64)
+TEXT ·Y__builtin_fmin(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ y+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__builtin_fmin(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__builtin_free(t *TLS, ptr uintptr)
+TEXT ·Y__builtin_free(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_free(SB)
+ RET
+
+// func Y__builtin_getentropy(t *TLS, buf uintptr, n Tsize_t) (_3 int32)
+TEXT ·Y__builtin_getentropy(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ buf+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ n+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__builtin_getentropy(SB)
+ MOVL 24(SP), AX
+ MOVL AX, _3+24(FP)
+ RET
+
+// func Y__builtin_huge_val(t *TLS) (_1 float64)
+TEXT ·Y__builtin_huge_val(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__builtin_huge_val(SB)
+ MOVQ 8(SP), AX
+ MOVQ AX, _1+8(FP)
+ RET
+
+// func Y__builtin_huge_valf(t *TLS) (_1 float32)
+TEXT ·Y__builtin_huge_valf(SB),$16-12
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__builtin_huge_valf(SB)
+ MOVL 8(SP), AX
+ MOVL AX, _1+8(FP)
+ RET
+
+// func Y__builtin_hypot(tls *TLS, x float64, y float64) (r float64)
+TEXT ·Y__builtin_hypot(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ y+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__builtin_hypot(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__builtin_inf(t *TLS) (_1 float64)
+TEXT ·Y__builtin_inf(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__builtin_inf(SB)
+ MOVQ 8(SP), AX
+ MOVQ AX, _1+8(FP)
+ RET
+
+// func Y__builtin_inff(tls *TLS) (_1 float32)
+TEXT ·Y__builtin_inff(SB),$16-12
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__builtin_inff(SB)
+ MOVL 8(SP), AX
+ MOVL AX, _1+8(FP)
+ RET
+
+// func Y__builtin_infl(t *TLS) (_1 float64)
+TEXT ·Y__builtin_infl(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__builtin_infl(SB)
+ MOVQ 8(SP), AX
+ MOVQ AX, _1+8(FP)
+ RET
+
+// func Y__builtin_isblank(tls *TLS, c int32) (r int32)
+TEXT ·Y__builtin_isblank(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__builtin_isblank(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__builtin_isnan(t *TLS, x float64) (_2 int32)
+TEXT ·Y__builtin_isnan(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_isnan(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__builtin_isnanf(t *TLS, x float32) (_2 int32)
+TEXT ·Y__builtin_isnanf(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL x+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__builtin_isnanf(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__builtin_isnanl(t *TLS, x float64) (_2 int32)
+TEXT ·Y__builtin_isnanl(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_isnanl(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__builtin_isprint(tls *TLS, c int32) (r int32)
+TEXT ·Y__builtin_isprint(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__builtin_isprint(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__builtin_isunordered(t *TLS, a, b float64) (_2 int32)
+TEXT ·Y__builtin_isunordered(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ a+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ b+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__builtin_isunordered(SB)
+ MOVL 24(SP), AX
+ MOVL AX, _2+24(FP)
+ RET
+
+// func Y__builtin_llabs(tls *TLS, a int64) (_2 int64)
+TEXT ·Y__builtin_llabs(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ a+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_llabs(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, _2+16(FP)
+ RET
+
+// func Y__builtin_log2(t *TLS, x float64) (_2 float64)
+TEXT ·Y__builtin_log2(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_log2(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, _2+16(FP)
+ RET
+
+// func Y__builtin_lrint(tls *TLS, x float64) (r long)
+TEXT ·Y__builtin_lrint(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_lrint(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
+ RET
+
+// func Y__builtin_lrintf(tls *TLS, x float32) (r long)
+TEXT ·Y__builtin_lrintf(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL x+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__builtin_lrintf(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
+ RET
+
+// func Y__builtin_lround(tls *TLS, x float64) (r long)
+TEXT ·Y__builtin_lround(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_lround(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
+ RET
+
+// func Y__builtin_malloc(t *TLS, size Tsize_t) (_2 uintptr)
+TEXT ·Y__builtin_malloc(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ size+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_malloc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, _2+16(FP)
+ RET
+
+// func Y__builtin_memcmp(t *TLS, s1, s2 uintptr, n Tsize_t) (_3 int32)
+TEXT ·Y__builtin_memcmp(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ s2+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ n+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__builtin_memcmp(SB)
+ MOVL 32(SP), AX
+ MOVL AX, _3+32(FP)
+ RET
+
+// func Y__builtin_memcpy(t *TLS, dest, src uintptr, n Tsize_t) (r uintptr)
+TEXT ·Y__builtin_memcpy(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ dest+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ src+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ n+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__builtin_memcpy(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__builtin_memset(t *TLS, s uintptr, c int32, n Tsize_t) (_4 uintptr)
+TEXT ·Y__builtin_memset(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL c+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVQ n+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__builtin_memset(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, _4+32(FP)
+ RET
+
+// func Y__builtin_mmap(t *TLS, addr uintptr, length Tsize_t, prot, flags, fd int32, offset Toff_t) (_5 uintptr)
+TEXT ·Y__builtin_mmap(SB),$56-56
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ addr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ length+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL prot+24(FP), AX
+ MOVL AX, 24(SP)
+ MOVL flags+28(FP), AX
+ MOVL AX, 28(SP)
+ MOVL fd+32(FP), AX
+ MOVL AX, 32(SP)
+ MOVQ offset+40(FP), AX
+ MOVQ AX, 40(SP)
+ CALL ·X__builtin_mmap(SB)
+ MOVQ 48(SP), AX
+ MOVQ AX, _5+48(FP)
+ RET
+
+// func Y__builtin_mul_overflowInt64(t *TLS, a, b int64, res uintptr) (_3 int32)
+TEXT ·Y__builtin_mul_overflowInt64(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ a+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ b+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ res+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__builtin_mul_overflowInt64(SB)
+ MOVL 32(SP), AX
+ MOVL AX, _3+32(FP)
+ RET
+
+// func Y__builtin_mul_overflowUint128(t *TLS, a, b Uint128, res uintptr) (_3 int32)
+TEXT ·Y__builtin_mul_overflowUint128(SB),$56-52
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ a_Lo+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ a_Hi+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ b_Lo+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ b_Hi+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVQ res+40(FP), AX
+ MOVQ AX, 40(SP)
+ CALL ·X__builtin_mul_overflowUint128(SB)
+ MOVL 48(SP), AX
+ MOVL AX, _3+48(FP)
+ RET
+
+// func Y__builtin_mul_overflowUint64(t *TLS, a, b uint64, res uintptr) (_3 int32)
+TEXT ·Y__builtin_mul_overflowUint64(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ a+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ b+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ res+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__builtin_mul_overflowUint64(SB)
+ MOVL 32(SP), AX
+ MOVL AX, _3+32(FP)
+ RET
+
+// func Y__builtin_nan(t *TLS, s uintptr) (_2 float64)
+TEXT ·Y__builtin_nan(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_nan(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, _2+16(FP)
+ RET
+
+// func Y__builtin_nanf(tls *TLS, s uintptr) (_2 float32)
+TEXT ·Y__builtin_nanf(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_nanf(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__builtin_nanl(t *TLS, s uintptr) (_2 float64)
+TEXT ·Y__builtin_nanl(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_nanl(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, _2+16(FP)
+ RET
+
+// func Y__builtin_object_size(t *TLS, p uintptr, typ int32) (_3 Tsize_t)
+TEXT ·Y__builtin_object_size(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ p+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL typ+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X__builtin_object_size(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, _3+24(FP)
+ RET
+
+// func Y__builtin_popcount(t *TLS, x uint32) (_2 int32)
+TEXT ·Y__builtin_popcount(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL x+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__builtin_popcount(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__builtin_popcountl(t *TLS, x ulong) (_2 int32)
+TEXT ·Y__builtin_popcountl(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_popcountl(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__builtin_prefetch(t *TLS, addr, args uintptr)
+TEXT ·Y__builtin_prefetch(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ addr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ args+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__builtin_prefetch(SB)
+ RET
+
+// func Y__builtin_printf(tls *TLS, fmt uintptr, va uintptr) (r int32)
+TEXT ·Y__builtin_printf(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ fmt+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ va+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__builtin_printf(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__builtin_rintf(tls *TLS, x float32) (r float32)
+TEXT ·Y__builtin_rintf(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL x+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__builtin_rintf(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__builtin_round(tls *TLS, x float64) (r float64)
+TEXT ·Y__builtin_round(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_round(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
+ RET
+
+// func Y__builtin_roundf(tls *TLS, x float32) (r float32)
+TEXT ·Y__builtin_roundf(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL x+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__builtin_roundf(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__builtin_snprintf(t *TLS, str uintptr, size Tsize_t, format, args uintptr) (_4 int32)
+TEXT ·Y__builtin_snprintf(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ str+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ size+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ format+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ args+32(FP), AX
+ MOVQ AX, 32(SP)
+ CALL ·X__builtin_snprintf(SB)
+ MOVL 40(SP), AX
+ MOVL AX, _4+40(FP)
+ RET
+
+// func Y__builtin_sprintf(t *TLS, str, format, args uintptr) (r int32)
+TEXT ·Y__builtin_sprintf(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ str+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ format+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ args+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__builtin_sprintf(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__builtin_strchr(t *TLS, s uintptr, c int32) (_3 uintptr)
+TEXT ·Y__builtin_strchr(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL c+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X__builtin_strchr(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, _3+24(FP)
+ RET
+
+// func Y__builtin_strcmp(t *TLS, s1, s2 uintptr) (_2 int32)
+TEXT ·Y__builtin_strcmp(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ s2+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__builtin_strcmp(SB)
+ MOVL 24(SP), AX
+ MOVL AX, _2+24(FP)
+ RET
+
+// func Y__builtin_strcpy(t *TLS, dest, src uintptr) (_2 uintptr)
+TEXT ·Y__builtin_strcpy(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ dest+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ src+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__builtin_strcpy(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, _2+24(FP)
+ RET
+
+// func Y__builtin_strlen(t *TLS, s uintptr) (_2 Tsize_t)
+TEXT ·Y__builtin_strlen(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_strlen(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, _2+16(FP)
+ RET
+
+// func Y__builtin_sub_overflowInt64(t *TLS, a, b int64, res uintptr) (_3 int32)
+TEXT ·Y__builtin_sub_overflowInt64(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ a+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ b+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ res+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__builtin_sub_overflowInt64(SB)
+ MOVL 32(SP), AX
+ MOVL AX, _3+32(FP)
+ RET
+
+// func Y__builtin_trap(t *TLS)
+TEXT ·Y__builtin_trap(SB),$8-8
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__builtin_trap(SB)
+ RET
+
+// func Y__builtin_trunc(tls *TLS, x float64) (r float64)
+TEXT ·Y__builtin_trunc(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__builtin_trunc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
+ RET
+
+// func Y__builtin_unreachable(t *TLS)
+TEXT ·Y__builtin_unreachable(SB),$8-8
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__builtin_unreachable(SB)
+ RET
+
+// func Y__builtin_vsnprintf(t *TLS, str uintptr, size Tsize_t, format, va uintptr) (_4 int32)
+TEXT ·Y__builtin_vsnprintf(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ str+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ size+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ format+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ va+32(FP), AX
+ MOVQ AX, 32(SP)
+ CALL ·X__builtin_vsnprintf(SB)
+ MOVL 40(SP), AX
+ MOVL AX, _4+40(FP)
+ RET
+
+// func Y__c11_atomic_compare_exchange_strongInt16(t *TLS, ptr, expected uintptr, desired int16, success, failure int32) (_4 int32)
+TEXT ·Y__c11_atomic_compare_exchange_strongInt16(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ expected+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVW desired+24(FP), AX
+ MOVW AX, 24(SP)
+ MOVL success+28(FP), AX
+ MOVL AX, 28(SP)
+ MOVL failure+32(FP), AX
+ MOVL AX, 32(SP)
+ CALL ·X__c11_atomic_compare_exchange_strongInt16(SB)
+ MOVL 40(SP), AX
+ MOVL AX, _4+40(FP)
+ RET
+
+// func Y__c11_atomic_compare_exchange_strongInt32(t *TLS, ptr, expected uintptr, desired, success, failure int32) (_3 int32)
+TEXT ·Y__c11_atomic_compare_exchange_strongInt32(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ expected+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL desired+24(FP), AX
+ MOVL AX, 24(SP)
+ MOVL success+28(FP), AX
+ MOVL AX, 28(SP)
+ MOVL failure+32(FP), AX
+ MOVL AX, 32(SP)
+ CALL ·X__c11_atomic_compare_exchange_strongInt32(SB)
+ MOVL 40(SP), AX
+ MOVL AX, _3+40(FP)
+ RET
+
+// func Y__c11_atomic_compare_exchange_strongInt64(t *TLS, ptr, expected uintptr, desired int64, success, failure int32) (_4 int32)
+TEXT ·Y__c11_atomic_compare_exchange_strongInt64(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ expected+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ desired+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL success+32(FP), AX
+ MOVL AX, 32(SP)
+ MOVL failure+36(FP), AX
+ MOVL AX, 36(SP)
+ CALL ·X__c11_atomic_compare_exchange_strongInt64(SB)
+ MOVL 40(SP), AX
+ MOVL AX, _4+40(FP)
+ RET
+
+// func Y__c11_atomic_compare_exchange_strongInt8(t *TLS, ptr, expected uintptr, desired int8, success, failure int32) (_4 int32)
+TEXT ·Y__c11_atomic_compare_exchange_strongInt8(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ expected+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVB desired+24(FP), AX
+ MOVB AX, 24(SP)
+ MOVL success+28(FP), AX
+ MOVL AX, 28(SP)
+ MOVL failure+32(FP), AX
+ MOVL AX, 32(SP)
+ CALL ·X__c11_atomic_compare_exchange_strongInt8(SB)
+ MOVL 40(SP), AX
+ MOVL AX, _4+40(FP)
+ RET
+
+// func Y__c11_atomic_compare_exchange_strongUint16(t *TLS, ptr, expected uintptr, desired uint16, success, failure int32) (_4 int32)
+TEXT ·Y__c11_atomic_compare_exchange_strongUint16(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ expected+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVW desired+24(FP), AX
+ MOVW AX, 24(SP)
+ MOVL success+28(FP), AX
+ MOVL AX, 28(SP)
+ MOVL failure+32(FP), AX
+ MOVL AX, 32(SP)
+ CALL ·X__c11_atomic_compare_exchange_strongUint16(SB)
+ MOVL 40(SP), AX
+ MOVL AX, _4+40(FP)
+ RET
+
+// func Y__c11_atomic_compare_exchange_strongUint32(t *TLS, ptr, expected uintptr, desired uint32, success, failure int32) (_4 int32)
+TEXT ·Y__c11_atomic_compare_exchange_strongUint32(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ expected+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL desired+24(FP), AX
+ MOVL AX, 24(SP)
+ MOVL success+28(FP), AX
+ MOVL AX, 28(SP)
+ MOVL failure+32(FP), AX
+ MOVL AX, 32(SP)
+ CALL ·X__c11_atomic_compare_exchange_strongUint32(SB)
+ MOVL 40(SP), AX
+ MOVL AX, _4+40(FP)
+ RET
+
+// func Y__c11_atomic_compare_exchange_strongUint64(t *TLS, ptr, expected uintptr, desired uint64, success, failure int32) (_4 int32)
+TEXT ·Y__c11_atomic_compare_exchange_strongUint64(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ expected+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ desired+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL success+32(FP), AX
+ MOVL AX, 32(SP)
+ MOVL failure+36(FP), AX
+ MOVL AX, 36(SP)
+ CALL ·X__c11_atomic_compare_exchange_strongUint64(SB)
+ MOVL 40(SP), AX
+ MOVL AX, _4+40(FP)
+ RET
+
+// func Y__c11_atomic_compare_exchange_strongUint8(t *TLS, ptr, expected uintptr, desired uint8, success, failure int32) (_4 int32)
+TEXT ·Y__c11_atomic_compare_exchange_strongUint8(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ expected+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVB desired+24(FP), AX
+ MOVB AX, 24(SP)
+ MOVL success+28(FP), AX
+ MOVL AX, 28(SP)
+ MOVL failure+32(FP), AX
+ MOVL AX, 32(SP)
+ CALL ·X__c11_atomic_compare_exchange_strongUint8(SB)
+ MOVL 40(SP), AX
+ MOVL AX, _4+40(FP)
+ RET
+
+// func Y__c11_atomic_exchangeInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+TEXT ·Y__c11_atomic_exchangeInt16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_exchangeInt16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_exchangeInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+TEXT ·Y__c11_atomic_exchangeInt32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_exchangeInt32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_exchangeInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+TEXT ·Y__c11_atomic_exchangeInt64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__c11_atomic_exchangeInt64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__c11_atomic_exchangeInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+TEXT ·Y__c11_atomic_exchangeInt8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_exchangeInt8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_exchangeUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+TEXT ·Y__c11_atomic_exchangeUint16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_exchangeUint16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_exchangeUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+TEXT ·Y__c11_atomic_exchangeUint32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_exchangeUint32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_exchangeUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+TEXT ·Y__c11_atomic_exchangeUint64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__c11_atomic_exchangeUint64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__c11_atomic_exchangeUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+TEXT ·Y__c11_atomic_exchangeUint8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_exchangeUint8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_addInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+TEXT ·Y__c11_atomic_fetch_addInt16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_addInt16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_addInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+TEXT ·Y__c11_atomic_fetch_addInt32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_addInt32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_addInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+TEXT ·Y__c11_atomic_fetch_addInt64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__c11_atomic_fetch_addInt64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__c11_atomic_fetch_addInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+TEXT ·Y__c11_atomic_fetch_addInt8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_addInt8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_addUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+TEXT ·Y__c11_atomic_fetch_addUint16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_addUint16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_addUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+TEXT ·Y__c11_atomic_fetch_addUint32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_addUint32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_addUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+TEXT ·Y__c11_atomic_fetch_addUint64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__c11_atomic_fetch_addUint64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__c11_atomic_fetch_addUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+TEXT ·Y__c11_atomic_fetch_addUint8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_addUint8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_andInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+TEXT ·Y__c11_atomic_fetch_andInt16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_andInt16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_andInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+TEXT ·Y__c11_atomic_fetch_andInt32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_andInt32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_andInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+TEXT ·Y__c11_atomic_fetch_andInt64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__c11_atomic_fetch_andInt64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__c11_atomic_fetch_andInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+TEXT ·Y__c11_atomic_fetch_andInt8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_andInt8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_andUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+TEXT ·Y__c11_atomic_fetch_andUint16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_andUint16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_andUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+TEXT ·Y__c11_atomic_fetch_andUint32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_andUint32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_andUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+TEXT ·Y__c11_atomic_fetch_andUint64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__c11_atomic_fetch_andUint64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__c11_atomic_fetch_andUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+TEXT ·Y__c11_atomic_fetch_andUint8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_andUint8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_orInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+TEXT ·Y__c11_atomic_fetch_orInt16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_orInt16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_orInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+TEXT ·Y__c11_atomic_fetch_orInt32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_orInt32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_orInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+TEXT ·Y__c11_atomic_fetch_orInt64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__c11_atomic_fetch_orInt64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__c11_atomic_fetch_orInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+TEXT ·Y__c11_atomic_fetch_orInt8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_orInt8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_orUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+TEXT ·Y__c11_atomic_fetch_orUint16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_orUint16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_orUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+TEXT ·Y__c11_atomic_fetch_orUint32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_orUint32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_orUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+TEXT ·Y__c11_atomic_fetch_orUint64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__c11_atomic_fetch_orUint64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__c11_atomic_fetch_orUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+TEXT ·Y__c11_atomic_fetch_orUint8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_orUint8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_subInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+TEXT ·Y__c11_atomic_fetch_subInt16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_subInt16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_subInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+TEXT ·Y__c11_atomic_fetch_subInt32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_subInt32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_subInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+TEXT ·Y__c11_atomic_fetch_subInt64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__c11_atomic_fetch_subInt64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__c11_atomic_fetch_subInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+TEXT ·Y__c11_atomic_fetch_subInt8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_subInt8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_subUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+TEXT ·Y__c11_atomic_fetch_subUint16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_subUint16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_subUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+TEXT ·Y__c11_atomic_fetch_subUint32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_subUint32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_subUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+TEXT ·Y__c11_atomic_fetch_subUint64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__c11_atomic_fetch_subUint64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__c11_atomic_fetch_subUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+TEXT ·Y__c11_atomic_fetch_subUint8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_subUint8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_xorInt16(t *TLS, ptr uintptr, val int16, _ int32) (r int16)
+TEXT ·Y__c11_atomic_fetch_xorInt16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_xorInt16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_xorInt32(t *TLS, ptr uintptr, val int32, _ int32) (r int32)
+TEXT ·Y__c11_atomic_fetch_xorInt32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_xorInt32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_xorInt64(t *TLS, ptr uintptr, val int64, _ int32) (r int64)
+TEXT ·Y__c11_atomic_fetch_xorInt64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__c11_atomic_fetch_xorInt64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__c11_atomic_fetch_xorInt8(t *TLS, ptr uintptr, val int8, _ int32) (r int8)
+TEXT ·Y__c11_atomic_fetch_xorInt8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_xorInt8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_xorUint16(t *TLS, ptr uintptr, val uint16, _ int32) (r uint16)
+TEXT ·Y__c11_atomic_fetch_xorUint16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_xorUint16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_xorUint32(t *TLS, ptr uintptr, val uint32, _ int32) (r uint32)
+TEXT ·Y__c11_atomic_fetch_xorUint32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_xorUint32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_fetch_xorUint64(t *TLS, ptr uintptr, val uint64, _ int32) (r uint64)
+TEXT ·Y__c11_atomic_fetch_xorUint64(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__c11_atomic_fetch_xorUint64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__c11_atomic_fetch_xorUint8(t *TLS, ptr uintptr, val uint8, _ int32) (r uint8)
+TEXT ·Y__c11_atomic_fetch_xorUint8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL _+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_fetch_xorUint8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_loadInt16(t *TLS, ptr uintptr, memorder int32) (r int16)
+TEXT ·Y__c11_atomic_loadInt16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL memorder+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X__c11_atomic_loadInt16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_loadInt32(t *TLS, ptr uintptr, memorder int32) (r int32)
+TEXT ·Y__c11_atomic_loadInt32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL memorder+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X__c11_atomic_loadInt32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_loadInt64(t *TLS, ptr uintptr, memorder int32) (r int64)
+TEXT ·Y__c11_atomic_loadInt64(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL memorder+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X__c11_atomic_loadInt64(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_loadInt8(t *TLS, ptr uintptr, memorder int32) (r int8)
+TEXT ·Y__c11_atomic_loadInt8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL memorder+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X__c11_atomic_loadInt8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_loadUint16(t *TLS, ptr uintptr, memorder int32) (r uint16)
+TEXT ·Y__c11_atomic_loadUint16(SB),$32-26
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL memorder+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X__c11_atomic_loadUint16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_loadUint32(t *TLS, ptr uintptr, memorder int32) (r uint32)
+TEXT ·Y__c11_atomic_loadUint32(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL memorder+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X__c11_atomic_loadUint32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_loadUint64(t *TLS, ptr uintptr, memorder int32) (r uint64)
+TEXT ·Y__c11_atomic_loadUint64(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL memorder+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X__c11_atomic_loadUint64(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_loadUint8(t *TLS, ptr uintptr, memorder int32) (r uint8)
+TEXT ·Y__c11_atomic_loadUint8(SB),$32-25
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL memorder+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X__c11_atomic_loadUint8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
+ RET
+
+// func Y__c11_atomic_storeInt16(t *TLS, ptr uintptr, val int16, memorder int32)
+TEXT ·Y__c11_atomic_storeInt16(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL memorder+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_storeInt16(SB)
+ RET
+
+// func Y__c11_atomic_storeInt32(t *TLS, ptr uintptr, val int32, memorder int32)
+TEXT ·Y__c11_atomic_storeInt32(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL memorder+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_storeInt32(SB)
+ RET
+
+// func Y__c11_atomic_storeInt64(t *TLS, ptr uintptr, val int64, memorder int32)
+TEXT ·Y__c11_atomic_storeInt64(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL memorder+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__c11_atomic_storeInt64(SB)
+ RET
+
+// func Y__c11_atomic_storeInt8(t *TLS, ptr uintptr, val int8, memorder int32)
+TEXT ·Y__c11_atomic_storeInt8(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL memorder+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_storeInt8(SB)
+ RET
+
+// func Y__c11_atomic_storeUint16(t *TLS, ptr uintptr, val uint16, memorder int32)
+TEXT ·Y__c11_atomic_storeUint16(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW val+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVL memorder+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_storeUint16(SB)
+ RET
+
+// func Y__c11_atomic_storeUint32(t *TLS, ptr uintptr, val uint32, memorder int32)
+TEXT ·Y__c11_atomic_storeUint32(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL memorder+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_storeUint32(SB)
+ RET
+
+// func Y__c11_atomic_storeUint64(t *TLS, ptr uintptr, val uint64, memorder int32)
+TEXT ·Y__c11_atomic_storeUint64(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL memorder+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__c11_atomic_storeUint64(SB)
+ RET
+
+// func Y__c11_atomic_storeUint8(t *TLS, ptr uintptr, val uint8, memorder int32)
+TEXT ·Y__c11_atomic_storeUint8(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVB val+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVL memorder+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__c11_atomic_storeUint8(SB)
+ RET
+
+// func Y__ccgo_dmesg(t *TLS, fmt uintptr, va uintptr)
+TEXT ·Y__ccgo_dmesg(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ fmt+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ va+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__ccgo_dmesg(SB)
+ RET
+
+// func Y__ccgo_getMutexType(tls *TLS, m uintptr) (_2 int32)
+TEXT ·Y__ccgo_getMutexType(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ m+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__ccgo_getMutexType(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__ccgo_in6addr_anyp(t *TLS) (_1 uintptr)
+TEXT ·Y__ccgo_in6addr_anyp(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__ccgo_in6addr_anyp(SB)
+ MOVQ 8(SP), AX
+ MOVQ AX, _1+8(FP)
+ RET
+
+// func Y__ccgo_pthreadAttrGetDetachState(tls *TLS, a uintptr) (_2 int32)
+TEXT ·Y__ccgo_pthreadAttrGetDetachState(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ a+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__ccgo_pthreadAttrGetDetachState(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__ccgo_pthreadMutexattrGettype(tls *TLS, a uintptr) (_2 int32)
+TEXT ·Y__ccgo_pthreadMutexattrGettype(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ a+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__ccgo_pthreadMutexattrGettype(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__ccgo_sqlite3_log(t *TLS, iErrCode int32, zFormat uintptr, args uintptr)
+TEXT ·Y__ccgo_sqlite3_log(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL iErrCode+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ zFormat+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ args+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__ccgo_sqlite3_log(SB)
+ RET
+
+// func Y__clock_gettime(tls *TLS, clk Tclockid_t, ts uintptr) (r1 int32)
+TEXT ·Y__clock_gettime(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL clk+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ ts+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__clock_gettime(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r1+24(FP)
+ RET
+
+// func Y__clock_nanosleep(tls *TLS, clk Tclockid_t, flags int32, req uintptr, rem uintptr) (r int32)
+TEXT ·Y__clock_nanosleep(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL clk+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVL flags+12(FP), AX
+ MOVL AX, 12(SP)
+ MOVQ req+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ rem+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__clock_nanosleep(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__cmsg_nxthdr(t *TLS, msgh, cmsg uintptr) (_2 uintptr)
+TEXT ·Y__cmsg_nxthdr(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ msgh+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ cmsg+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__cmsg_nxthdr(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, _2+24(FP)
+ RET
+
+// func Y__convert_scm_timestamps(tls *TLS, msg uintptr, csize Tsocklen_t)
+TEXT ·Y__convert_scm_timestamps(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ msg+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL csize+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X__convert_scm_timestamps(SB)
+ RET
+
+// func Y__cos(tls *TLS, x float64, y float64) (r1 float64)
+TEXT ·Y__cos(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ y+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__cos(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r1+24(FP)
+ RET
+
+// func Y__cosdf(tls *TLS, x float64) (r1 float32)
+TEXT ·Y__cosdf(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__cosdf(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r1+16(FP)
+ RET
+
+// func Y__crypt_blowfish(tls *TLS, key uintptr, setting uintptr, output uintptr) (r uintptr)
+TEXT ·Y__crypt_blowfish(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ key+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ setting+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ output+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__crypt_blowfish(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__crypt_des(tls *TLS, key uintptr, setting uintptr, output uintptr) (r uintptr)
+TEXT ·Y__crypt_des(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ key+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ setting+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ output+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__crypt_des(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__crypt_md5(tls *TLS, key uintptr, setting uintptr, output uintptr) (r uintptr)
+TEXT ·Y__crypt_md5(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ key+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ setting+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ output+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__crypt_md5(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__crypt_r(tls *TLS, key uintptr, salt uintptr, data uintptr) (r uintptr)
+TEXT ·Y__crypt_r(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ key+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ salt+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ data+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__crypt_r(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__crypt_sha256(tls *TLS, key uintptr, setting uintptr, output uintptr) (r uintptr)
+TEXT ·Y__crypt_sha256(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ key+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ setting+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ output+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__crypt_sha256(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__crypt_sha512(tls *TLS, key uintptr, setting uintptr, output uintptr) (r uintptr)
+TEXT ·Y__crypt_sha512(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ key+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ setting+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ output+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__crypt_sha512(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__ctype_b_loc(tls *TLS) (r uintptr)
+TEXT ·Y__ctype_b_loc(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__ctype_b_loc(SB)
+ MOVQ 8(SP), AX
+ MOVQ AX, r+8(FP)
+ RET
+
+// func Y__ctype_get_mb_cur_max(tls *TLS) (r Tsize_t)
+TEXT ·Y__ctype_get_mb_cur_max(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__ctype_get_mb_cur_max(SB)
+ MOVQ 8(SP), AX
+ MOVQ AX, r+8(FP)
+ RET
+
+// func Y__ctype_tolower_loc(tls *TLS) (r uintptr)
+TEXT ·Y__ctype_tolower_loc(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__ctype_tolower_loc(SB)
+ MOVQ 8(SP), AX
+ MOVQ AX, r+8(FP)
+ RET
+
+// func Y__ctype_toupper_loc(tls *TLS) (r uintptr)
+TEXT ·Y__ctype_toupper_loc(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__ctype_toupper_loc(SB)
+ MOVQ 8(SP), AX
+ MOVQ AX, r+8(FP)
+ RET
+
+// func Y__des_setkey(tls *TLS, key uintptr, ekey uintptr)
+TEXT ·Y__des_setkey(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ key+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ ekey+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__des_setkey(SB)
+ RET
+
+// func Y__dn_expand(tls *TLS, base uintptr, end uintptr, src uintptr, dest uintptr, space int32) (r int32)
+TEXT ·Y__dn_expand(SB),$56-52
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ base+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ end+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ src+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ dest+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVL space+40(FP), AX
+ MOVL AX, 40(SP)
+ CALL ·X__dn_expand(SB)
+ MOVL 48(SP), AX
+ MOVL AX, r+48(FP)
+ RET
+
+// func Y__dns_parse(tls *TLS, r uintptr, rlen int32, __ccgo_fp_callback uintptr, ctx uintptr) (r1 int32)
+TEXT ·Y__dns_parse(SB),$56-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX // alloc all ABI trampolines
+ MOVQ AX, 0(SP)
+ MOVQ $16, 8(SP) // 16*(number of func ptrs in signature)
+ CALL modernc·org∕libc·TLSAlloc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, -8(BP) // Trampolines[0]
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ -8(BP), AX
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp_callback+24(FP), AX // ABI0 code ptr
+ MOVQ AX, 16(SP)
+ CALL ·__ccgo_abiInternal___dns_parse_2(SB) // Create the closure for calling __ccgo_fp_callback
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ r+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL rlen+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVQ -8(BP), AX // Trampolines[0]
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 24(SP)
+ MOVQ ctx+32(FP), AX
+ MOVQ AX, 32(SP)
+ CALL ·X__dns_parse(SB)
+ MOVL 40(SP), AX
+ MOVL AX, r1+40(FP)
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ $0, 8(SP)
+ CALL modernc·org∕libc·TLSFree(SB)
+ RET
+
+TEXT ·__ccgo_abi0___dns_parse_2(SB),$72-68
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ _0+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ _1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL _2+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVQ _3+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL _4+32(FP), AX
+ MOVL AX, 32(SP)
+ MOVQ _5+40(FP), AX
+ MOVQ AX, 40(SP)
+ MOVL _6+48(FP), AX
+ MOVL AX, 48(SP)
+ MOVQ __ccgo_fp+56(FP), AX
+ CALL *AX // Call the ABI0 code ptr
+ MOVL 56(SP), AX
+ MOVL AX, _7+64(FP)
+ RET
+
+// func Y__do_des(tls *TLS, l_in Tuint32_t, r_in Tuint32_t, l_out uintptr, r_out uintptr, count Tuint32_t, saltbits Tuint32_t, ekey uintptr)
+TEXT ·Y__do_des(SB),$48-48
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL l_in+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVL r_in+12(FP), AX
+ MOVL AX, 12(SP)
+ MOVQ l_out+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ r_out+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL count+32(FP), AX
+ MOVL AX, 32(SP)
+ MOVL saltbits+36(FP), AX
+ MOVL AX, 36(SP)
+ MOVQ ekey+40(FP), AX
+ MOVQ AX, 40(SP)
+ CALL ·X__do_des(SB)
+ RET
+
+// func Y__do_orphaned_stdio_locks(tls *TLS)
+TEXT ·Y__do_orphaned_stdio_locks(SB),$8-8
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__do_orphaned_stdio_locks(SB)
+ RET
+
+// func Y__dup3(tls *TLS, old int32, new1 int32, flags int32) (r1 int32)
+TEXT ·Y__dup3(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL old+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVL new1+12(FP), AX
+ MOVL AX, 12(SP)
+ MOVL flags+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X__dup3(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r1+24(FP)
+ RET
+
+// func Y__duplocale(tls *TLS, old Tlocale_t) (r Tlocale_t)
+TEXT ·Y__duplocale(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ old+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__duplocale(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
+ RET
+
+// func Y__env_rm_add(tls *TLS, old uintptr, new1 uintptr)
+TEXT ·Y__env_rm_add(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ old+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ new1+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__env_rm_add(SB)
+ RET
+
+// func Y__errno_location(tls *TLS) (r uintptr)
+TEXT ·Y__errno_location(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__errno_location(SB)
+ MOVQ 8(SP), AX
+ MOVQ AX, r+8(FP)
+ RET
+
+// func Y__execvpe(tls *TLS, file uintptr, argv uintptr, envp uintptr) (r int32)
+TEXT ·Y__execvpe(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ file+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ argv+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ envp+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__execvpe(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__expo2(tls *TLS, x float64, sign float64) (r float64)
+TEXT ·Y__expo2(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ sign+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__expo2(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__expo2f(tls *TLS, x float32, sign float32) (r float32)
+TEXT ·Y__expo2f(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL x+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVL sign+12(FP), AX
+ MOVL AX, 12(SP)
+ CALL ·X__expo2f(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__fbufsize(tls *TLS, f uintptr) (r Tsize_t)
+TEXT ·Y__fbufsize(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__fbufsize(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
+ RET
+
+// func Y__fclose_ca(tls *TLS, f uintptr) (r int32)
+TEXT ·Y__fclose_ca(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__fclose_ca(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__fdopen(tls *TLS, fd int32, mode uintptr) (r uintptr)
+TEXT ·Y__fdopen(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL fd+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ mode+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__fdopen(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__fesetround(tls *TLS, r int32) (r1 int32)
+TEXT ·Y__fesetround(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL r+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__fesetround(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r1+16(FP)
+ RET
+
+// func Y__fgetwc_unlocked(tls *TLS, f uintptr) (r Twint_t)
+TEXT ·Y__fgetwc_unlocked(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__fgetwc_unlocked(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__flbf(tls *TLS, f uintptr) (r int32)
+TEXT ·Y__flbf(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__flbf(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__floatscan(tls *TLS, f uintptr, prec int32, pok int32) (r float64)
+TEXT ·Y__floatscan(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL prec+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL pok+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__floatscan(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__fmodeflags(tls *TLS, mode uintptr) (r int32)
+TEXT ·Y__fmodeflags(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ mode+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__fmodeflags(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__fopen_rb_ca(tls *TLS, filename uintptr, f uintptr, buf uintptr, len1 Tsize_t) (r uintptr)
+TEXT ·Y__fopen_rb_ca(SB),$48-48
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ filename+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ f+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ buf+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ len1+32(FP), AX
+ MOVQ AX, 32(SP)
+ CALL ·X__fopen_rb_ca(SB)
+ MOVQ 40(SP), AX
+ MOVQ AX, r+40(FP)
+ RET
+
+// func Y__fpclassify(tls *TLS, x float64) (r int32)
+TEXT ·Y__fpclassify(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__fpclassify(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__fpclassifyf(tls *TLS, x float32) (r int32)
+TEXT ·Y__fpclassifyf(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL x+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__fpclassifyf(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__fpclassifyl(tls *TLS, x float64) (r int32)
+TEXT ·Y__fpclassifyl(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__fpclassifyl(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__fpending(tls *TLS, f uintptr) (r Tsize_t)
+TEXT ·Y__fpending(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__fpending(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
+ RET
+
+// func Y__fpurge(tls *TLS, f uintptr) (r int32)
+TEXT ·Y__fpurge(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__fpurge(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__fputwc_unlocked(tls *TLS, c Twchar_t, f uintptr) (r Twint_t)
+TEXT ·Y__fputwc_unlocked(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ f+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__fputwc_unlocked(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__freadable(tls *TLS, f uintptr) (r int32)
+TEXT ·Y__freadable(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__freadable(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__freadahead(tls *TLS, f uintptr) (r Tsize_t)
+TEXT ·Y__freadahead(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__freadahead(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
+ RET
+
+// func Y__freading(tls *TLS, f uintptr) (r int32)
+TEXT ·Y__freading(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__freading(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__freadptr(tls *TLS, f uintptr, sizep uintptr) (r uintptr)
+TEXT ·Y__freadptr(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ sizep+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__freadptr(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__freadptrinc(tls *TLS, f uintptr, inc Tsize_t)
+TEXT ·Y__freadptrinc(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ inc+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__freadptrinc(SB)
+ RET
+
+// func Y__freelocale(tls *TLS, l Tlocale_t)
+TEXT ·Y__freelocale(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ l+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__freelocale(SB)
+ RET
+
+// func Y__fseeko(tls *TLS, f uintptr, off Toff_t, whence int32) (r int32)
+TEXT ·Y__fseeko(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ off+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL whence+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__fseeko(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__fseeko_unlocked(tls *TLS, f uintptr, off Toff_t, whence int32) (r int32)
+TEXT ·Y__fseeko_unlocked(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ off+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL whence+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__fseeko_unlocked(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__fseterr(tls *TLS, f uintptr)
+TEXT ·Y__fseterr(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__fseterr(SB)
+ RET
+
+// func Y__fsetlocking(tls *TLS, f uintptr, type1 int32) (r int32)
+TEXT ·Y__fsetlocking(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL type1+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X__fsetlocking(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__fstat(tls *TLS, fd int32, st uintptr) (r int32)
+TEXT ·Y__fstat(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL fd+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ st+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__fstat(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__fstatat(tls *TLS, fd int32, path uintptr, st uintptr, flag int32) (r int32)
+TEXT ·Y__fstatat(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL fd+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ path+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ st+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL flag+32(FP), AX
+ MOVL AX, 32(SP)
+ CALL ·X__fstatat(SB)
+ MOVL 40(SP), AX
+ MOVL AX, r+40(FP)
+ RET
+
+// func Y__ftello(tls *TLS, f uintptr) (r Toff_t)
+TEXT ·Y__ftello(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__ftello(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
+ RET
+
+// func Y__ftello_unlocked(tls *TLS, f uintptr) (r Toff_t)
+TEXT ·Y__ftello_unlocked(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__ftello_unlocked(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
+ RET
+
+// func Y__funcs_on_quick_exit(tls *TLS)
+TEXT ·Y__funcs_on_quick_exit(SB),$8-8
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__funcs_on_quick_exit(SB)
+ RET
+
+// func Y__futimesat(tls *TLS, dirfd int32, pathname uintptr, times uintptr) (r int32)
+TEXT ·Y__futimesat(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL dirfd+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ pathname+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ times+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__futimesat(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__fwritable(tls *TLS, f uintptr) (r int32)
+TEXT ·Y__fwritable(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__fwritable(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__fwritex(tls *TLS, s uintptr, l Tsize_t, f uintptr) (r Tsize_t)
+TEXT ·Y__fwritex(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ f+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__fwritex(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__fwriting(tls *TLS, f uintptr) (r int32)
+TEXT ·Y__fwriting(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__fwriting(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__fxstat(tls *TLS, ver int32, fd int32, buf uintptr) (r int32)
+TEXT ·Y__fxstat(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL ver+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVL fd+12(FP), AX
+ MOVL AX, 12(SP)
+ MOVQ buf+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__fxstat(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__fxstatat(tls *TLS, ver int32, fd int32, path uintptr, buf uintptr, flag int32) (r int32)
+TEXT ·Y__fxstatat(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL ver+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVL fd+12(FP), AX
+ MOVL AX, 12(SP)
+ MOVQ path+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ buf+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL flag+32(FP), AX
+ MOVL AX, 32(SP)
+ CALL ·X__fxstatat(SB)
+ MOVL 40(SP), AX
+ MOVL AX, r+40(FP)
+ RET
+
+// func Y__get_handler_set(tls *TLS, set uintptr)
+TEXT ·Y__get_handler_set(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ set+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__get_handler_set(SB)
+ RET
+
+// func Y__get_locale(tls *TLS, cat int32, val uintptr) (r uintptr)
+TEXT ·Y__get_locale(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL cat+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ val+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__get_locale(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__get_resolv_conf(tls *TLS, conf uintptr, search uintptr, search_sz Tsize_t) (r int32)
+TEXT ·Y__get_resolv_conf(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ conf+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ search+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ search_sz+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__get_resolv_conf(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__getauxval(tls *TLS, item uint64) (r uint64)
+TEXT ·Y__getauxval(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ item+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__getauxval(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
+ RET
+
+// func Y__getdelim(tls *TLS, s uintptr, n uintptr, delim int32, f uintptr) (r Tssize_t)
+TEXT ·Y__getdelim(SB),$48-48
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ n+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL delim+24(FP), AX
+ MOVL AX, 24(SP)
+ MOVQ f+32(FP), AX
+ MOVQ AX, 32(SP)
+ CALL ·X__getdelim(SB)
+ MOVQ 40(SP), AX
+ MOVQ AX, r+40(FP)
+ RET
+
+// func Y__getgr_a(tls *TLS, name uintptr, gid Tgid_t, gr uintptr, buf uintptr, size uintptr, mem uintptr, nmem uintptr, res uintptr) (r int32)
+TEXT ·Y__getgr_a(SB),$80-76
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ name+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL gid+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVQ gr+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ buf+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVQ size+40(FP), AX
+ MOVQ AX, 40(SP)
+ MOVQ mem+48(FP), AX
+ MOVQ AX, 48(SP)
+ MOVQ nmem+56(FP), AX
+ MOVQ AX, 56(SP)
+ MOVQ res+64(FP), AX
+ MOVQ AX, 64(SP)
+ CALL ·X__getgr_a(SB)
+ MOVL 72(SP), AX
+ MOVL AX, r+72(FP)
+ RET
+
+// func Y__getgrent_a(tls *TLS, f uintptr, gr uintptr, line uintptr, size uintptr, mem uintptr, nmem uintptr, res uintptr) (r int32)
+TEXT ·Y__getgrent_a(SB),$72-68
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ gr+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ line+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ size+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVQ mem+40(FP), AX
+ MOVQ AX, 40(SP)
+ MOVQ nmem+48(FP), AX
+ MOVQ AX, 48(SP)
+ MOVQ res+56(FP), AX
+ MOVQ AX, 56(SP)
+ CALL ·X__getgrent_a(SB)
+ MOVL 64(SP), AX
+ MOVL AX, r+64(FP)
+ RET
+
+// func Y__getopt_msg(tls *TLS, a uintptr, b uintptr, c uintptr, l Tsize_t)
+TEXT ·Y__getopt_msg(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ a+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ b+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ c+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ l+32(FP), AX
+ MOVQ AX, 32(SP)
+ CALL ·X__getopt_msg(SB)
+ RET
+
+// func Y__getpw_a(tls *TLS, name uintptr, uid Tuid_t, pw uintptr, buf uintptr, size uintptr, res uintptr) (r int32)
+TEXT ·Y__getpw_a(SB),$64-60
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ name+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL uid+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVQ pw+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ buf+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVQ size+40(FP), AX
+ MOVQ AX, 40(SP)
+ MOVQ res+48(FP), AX
+ MOVQ AX, 48(SP)
+ CALL ·X__getpw_a(SB)
+ MOVL 56(SP), AX
+ MOVL AX, r+56(FP)
+ RET
+
+// func Y__getpwent_a(tls *TLS, f uintptr, pw uintptr, line uintptr, size uintptr, res uintptr) (r int32)
+TEXT ·Y__getpwent_a(SB),$56-52
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ pw+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ line+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ size+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVQ res+40(FP), AX
+ MOVQ AX, 40(SP)
+ CALL ·X__getpwent_a(SB)
+ MOVL 48(SP), AX
+ MOVL AX, r+48(FP)
+ RET
+
+// func Y__gettextdomain(tls *TLS) (r uintptr)
+TEXT ·Y__gettextdomain(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__gettextdomain(SB)
+ MOVQ 8(SP), AX
+ MOVQ AX, r+8(FP)
+ RET
+
+// func Y__gmtime_r(tls *TLS, t uintptr, tm uintptr) (r uintptr)
+TEXT ·Y__gmtime_r(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ t+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ tm+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__gmtime_r(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__h_errno_location(tls *TLS) (r uintptr)
+TEXT ·Y__h_errno_location(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__h_errno_location(SB)
+ MOVQ 8(SP), AX
+ MOVQ AX, r+8(FP)
+ RET
+
+// func Y__inet_aton(tls *TLS, s0 uintptr, dest uintptr) (r int32)
+TEXT ·Y__inet_aton(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s0+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ dest+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__inet_aton(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__init_ssp(tls *TLS, entropy uintptr)
+TEXT ·Y__init_ssp(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ entropy+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__init_ssp(SB)
+ RET
+
+// func Y__intscan(tls *TLS, f uintptr, base uint32, pok int32, lim uint64) (r uint64)
+TEXT ·Y__intscan(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL base+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL pok+20(FP), AX
+ MOVL AX, 20(SP)
+ MOVQ lim+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__intscan(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__isalnum_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+TEXT ·Y__isalnum_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__isalnum_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__isalpha_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+TEXT ·Y__isalpha_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__isalpha_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__isblank_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+TEXT ·Y__isblank_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__isblank_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__iscntrl_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+TEXT ·Y__iscntrl_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__iscntrl_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__isdigit_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+TEXT ·Y__isdigit_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__isdigit_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__isfinite(tls *TLS, d float64) (_2 int32)
+TEXT ·Y__isfinite(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ d+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__isfinite(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__isfinitef(tls *TLS, f float32) (_2 int32)
+TEXT ·Y__isfinitef(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL f+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__isfinitef(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__isfinitel(tls *TLS, d float64) (_2 int32)
+TEXT ·Y__isfinitel(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ d+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__isfinitel(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__isgraph_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+TEXT ·Y__isgraph_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__isgraph_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__islower_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+TEXT ·Y__islower_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__islower_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__isnan(t *TLS, x float64) (_2 int32)
+TEXT ·Y__isnan(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__isnan(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__isnanf(t *TLS, arg float32) (_2 int32)
+TEXT ·Y__isnanf(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL arg+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__isnanf(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__isnanl(t *TLS, arg float64) (_2 int32)
+TEXT ·Y__isnanl(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ t+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ arg+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__isnanl(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__isoc99_fscanf(tls *TLS, f uintptr, fmt uintptr, va uintptr) (r int32)
+TEXT ·Y__isoc99_fscanf(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ fmt+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ va+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__isoc99_fscanf(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__isoc99_fwscanf(tls *TLS, f uintptr, fmt uintptr, va uintptr) (r int32)
+TEXT ·Y__isoc99_fwscanf(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ fmt+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ va+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__isoc99_fwscanf(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__isoc99_scanf(tls *TLS, fmt uintptr, va uintptr) (r int32)
+TEXT ·Y__isoc99_scanf(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ fmt+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ va+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__isoc99_scanf(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__isoc99_sscanf(tls *TLS, s uintptr, fmt uintptr, va uintptr) (r int32)
+TEXT ·Y__isoc99_sscanf(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ fmt+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ va+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__isoc99_sscanf(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__isoc99_swscanf(tls *TLS, s uintptr, fmt uintptr, va uintptr) (r int32)
+TEXT ·Y__isoc99_swscanf(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ fmt+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ va+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__isoc99_swscanf(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__isoc99_vfscanf(tls *TLS, f uintptr, fmt uintptr, ap Tva_list) (r int32)
+TEXT ·Y__isoc99_vfscanf(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ fmt+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ ap+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__isoc99_vfscanf(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__isoc99_vfwscanf(tls *TLS, f uintptr, fmt uintptr, ap Tva_list) (r int32)
+TEXT ·Y__isoc99_vfwscanf(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ fmt+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ ap+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__isoc99_vfwscanf(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__isoc99_vscanf(tls *TLS, fmt uintptr, ap Tva_list) (r int32)
+TEXT ·Y__isoc99_vscanf(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ fmt+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ ap+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__isoc99_vscanf(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__isoc99_vsscanf(tls *TLS, s uintptr, fmt uintptr, ap Tva_list) (r int32)
+TEXT ·Y__isoc99_vsscanf(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ fmt+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ ap+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__isoc99_vsscanf(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__isoc99_vswscanf(tls *TLS, s uintptr, fmt uintptr, ap Tva_list) (r int32)
+TEXT ·Y__isoc99_vswscanf(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ fmt+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ ap+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__isoc99_vswscanf(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__isoc99_vwscanf(tls *TLS, fmt uintptr, ap Tva_list) (r int32)
+TEXT ·Y__isoc99_vwscanf(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ fmt+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ ap+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__isoc99_vwscanf(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__isoc99_wscanf(tls *TLS, fmt uintptr, va uintptr) (r int32)
+TEXT ·Y__isoc99_wscanf(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ fmt+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ va+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__isoc99_wscanf(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__isprint_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+TEXT ·Y__isprint_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__isprint_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__ispunct_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+TEXT ·Y__ispunct_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__ispunct_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__isspace_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+TEXT ·Y__isspace_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__isspace_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__isupper_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+TEXT ·Y__isupper_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__isupper_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__iswalnum_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+TEXT ·Y__iswalnum_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__iswalnum_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__iswalpha_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+TEXT ·Y__iswalpha_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__iswalpha_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__iswblank_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+TEXT ·Y__iswblank_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__iswblank_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__iswcntrl_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+TEXT ·Y__iswcntrl_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__iswcntrl_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__iswctype_l(tls *TLS, c Twint_t, t Twctype_t, l Tlocale_t) (r int32)
+TEXT ·Y__iswctype_l(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ t+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ l+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__iswctype_l(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__iswdigit_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+TEXT ·Y__iswdigit_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__iswdigit_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__iswgraph_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+TEXT ·Y__iswgraph_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__iswgraph_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__iswlower_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+TEXT ·Y__iswlower_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__iswlower_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__iswprint_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+TEXT ·Y__iswprint_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__iswprint_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__iswpunct_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+TEXT ·Y__iswpunct_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__iswpunct_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__iswspace_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+TEXT ·Y__iswspace_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__iswspace_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__iswupper_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+TEXT ·Y__iswupper_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__iswupper_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__iswxdigit_l(tls *TLS, c Twint_t, l Tlocale_t) (r int32)
+TEXT ·Y__iswxdigit_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__iswxdigit_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__isxdigit_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+TEXT ·Y__isxdigit_l(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__isxdigit_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__lctrans(tls *TLS, msg uintptr, lm uintptr) (r uintptr)
+TEXT ·Y__lctrans(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ msg+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ lm+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__lctrans(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__lctrans_cur(tls *TLS, msg uintptr) (r uintptr)
+TEXT ·Y__lctrans_cur(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ msg+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__lctrans_cur(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
+ RET
+
+// func Y__lctrans_impl(tls *TLS, msg uintptr, lm uintptr) (r uintptr)
+TEXT ·Y__lctrans_impl(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ msg+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ lm+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__lctrans_impl(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__ldexp_cexp(tls *TLS, z complex128, expt int32) (r complex128)
+TEXT ·Y__ldexp_cexp(SB),$48-48
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ z_real+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ z_imag+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL expt+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__ldexp_cexp(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r_real+32(FP)
+ MOVQ 40(SP), AX
+ MOVQ AX, r_imag+40(FP)
+ RET
+
+// func Y__ldexp_cexpf(tls *TLS, z complex64, expt int32) (r complex64)
+TEXT ·Y__ldexp_cexpf(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL z_real+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVL z_imag+12(FP), AX
+ MOVL AX, 12(SP)
+ MOVL expt+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X__ldexp_cexpf(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r_real+24(FP)
+ MOVL 28(SP), AX
+ MOVL AX, r_imag+28(FP)
+ RET
+
+// func Y__lgamma_r(tls *TLS, x float64, signgamp uintptr) (r1 float64)
+TEXT ·Y__lgamma_r(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ signgamp+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__lgamma_r(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r1+24(FP)
+ RET
+
+// func Y__lgammaf_r(tls *TLS, x float32, signgamp uintptr) (r1 float32)
+TEXT ·Y__lgammaf_r(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL x+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ signgamp+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__lgammaf_r(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r1+24(FP)
+ RET
+
+// func Y__lgammal_r(tls *TLS, x float64, sg uintptr) (r float64)
+TEXT ·Y__lgammal_r(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ sg+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__lgammal_r(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__libc_current_sigrtmax(tls *TLS) (r int32)
+TEXT ·Y__libc_current_sigrtmax(SB),$16-12
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__libc_current_sigrtmax(SB)
+ MOVL 8(SP), AX
+ MOVL AX, r+8(FP)
+ RET
+
+// func Y__libc_current_sigrtmin(tls *TLS) (r int32)
+TEXT ·Y__libc_current_sigrtmin(SB),$16-12
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__libc_current_sigrtmin(SB)
+ MOVL 8(SP), AX
+ MOVL AX, r+8(FP)
+ RET
+
+// func Y__libc_sigaction(tls *TLS, sig int32, sa uintptr, old uintptr) (r1 int32)
+TEXT ·Y__libc_sigaction(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL sig+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ sa+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ old+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__libc_sigaction(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r1+32(FP)
+ RET
+
+// func Y__loc_is_allocated(tls *TLS, loc Tlocale_t) (r int32)
+TEXT ·Y__loc_is_allocated(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ loc+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__loc_is_allocated(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__localtime_r(tls *TLS, t uintptr, tm uintptr) (r uintptr)
+TEXT ·Y__localtime_r(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ t+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ tm+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__localtime_r(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__lockfile(tls *TLS, file uintptr) (_2 int32)
+TEXT ·Y__lockfile(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ file+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__lockfile(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
+ RET
+
+// func Y__lookup_ipliteral(tls *TLS, buf uintptr, name uintptr, family int32) (r int32)
+TEXT ·Y__lookup_ipliteral(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ buf+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ name+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL family+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__lookup_ipliteral(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__lookup_name(tls *TLS, buf uintptr, canon uintptr, name uintptr, family int32, flags int32) (r int32)
+TEXT ·Y__lookup_name(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ buf+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ canon+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ name+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL family+32(FP), AX
+ MOVL AX, 32(SP)
+ MOVL flags+36(FP), AX
+ MOVL AX, 36(SP)
+ CALL ·X__lookup_name(SB)
+ MOVL 40(SP), AX
+ MOVL AX, r+40(FP)
+ RET
+
+// func Y__lookup_serv(tls *TLS, buf uintptr, name uintptr, proto int32, socktype int32, flags int32) (r int32)
+TEXT ·Y__lookup_serv(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ buf+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ name+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL proto+24(FP), AX
+ MOVL AX, 24(SP)
+ MOVL socktype+28(FP), AX
+ MOVL AX, 28(SP)
+ MOVL flags+32(FP), AX
+ MOVL AX, 32(SP)
+ CALL ·X__lookup_serv(SB)
+ MOVL 40(SP), AX
+ MOVL AX, r+40(FP)
+ RET
+
+// func Y__lseek(tls *TLS, fd int32, offset Toff_t, whence int32) (r Toff_t)
+TEXT ·Y__lseek(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL fd+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ offset+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL whence+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__lseek(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__lsysinfo(tls *TLS, info uintptr) (r int32)
+TEXT ·Y__lsysinfo(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ info+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__lsysinfo(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__lxstat(tls *TLS, ver int32, path uintptr, buf uintptr) (r int32)
+TEXT ·Y__lxstat(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL ver+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ path+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ buf+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__lxstat(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__madvise(tls *TLS, addr uintptr, len1 Tsize_t, advice int32) (r int32)
+TEXT ·Y__madvise(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ addr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ len1+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL advice+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__madvise(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__map_file(tls *TLS, pathname uintptr, size uintptr) (r uintptr)
+TEXT ·Y__map_file(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ pathname+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ size+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__map_file(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__math_divzero(tls *TLS, sign Tuint32_t) (r float64)
+TEXT ·Y__math_divzero(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL sign+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__math_divzero(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
+ RET
+
+// func Y__math_divzerof(tls *TLS, sign Tuint32_t) (r float32)
+TEXT ·Y__math_divzerof(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL sign+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__math_divzerof(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__math_invalid(tls *TLS, x float64) (r float64)
+TEXT ·Y__math_invalid(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__math_invalid(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
+ RET
+
+// func Y__math_invalidf(tls *TLS, x float32) (r float32)
+TEXT ·Y__math_invalidf(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL x+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__math_invalidf(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__math_oflow(tls *TLS, sign Tuint32_t) (r float64)
+TEXT ·Y__math_oflow(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL sign+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__math_oflow(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
+ RET
+
+// func Y__math_oflowf(tls *TLS, sign Tuint32_t) (r float32)
+TEXT ·Y__math_oflowf(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL sign+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__math_oflowf(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__math_uflow(tls *TLS, sign Tuint32_t) (r float64)
+TEXT ·Y__math_uflow(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL sign+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__math_uflow(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
+ RET
+
+// func Y__math_uflowf(tls *TLS, sign Tuint32_t) (r float32)
+TEXT ·Y__math_uflowf(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL sign+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__math_uflowf(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__math_xflow(tls *TLS, sign Tuint32_t, y2 float64) (r float64)
+TEXT ·Y__math_xflow(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL sign+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ y2+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__math_xflow(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__math_xflowf(tls *TLS, sign Tuint32_t, y2 float32) (r float32)
+TEXT ·Y__math_xflowf(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL sign+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVL y2+12(FP), AX
+ MOVL AX, 12(SP)
+ CALL ·X__math_xflowf(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__memrchr(tls *TLS, m uintptr, c int32, n Tsize_t) (r uintptr)
+TEXT ·Y__memrchr(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ m+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL c+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVQ n+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__memrchr(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__mkostemps(tls *TLS, template uintptr, len1 int32, flags int32) (r int32)
+TEXT ·Y__mkostemps(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ template+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL len1+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL flags+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__mkostemps(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__mmap(tls *TLS, start uintptr, len1 Tsize_t, prot int32, flags int32, fd int32, off Toff_t) (r uintptr)
+TEXT ·Y__mmap(SB),$56-56
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ start+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ len1+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL prot+24(FP), AX
+ MOVL AX, 24(SP)
+ MOVL flags+28(FP), AX
+ MOVL AX, 28(SP)
+ MOVL fd+32(FP), AX
+ MOVL AX, 32(SP)
+ MOVQ off+40(FP), AX
+ MOVQ AX, 40(SP)
+ CALL ·X__mmap(SB)
+ MOVQ 48(SP), AX
+ MOVQ AX, r+48(FP)
+ RET
+
+// func Y__mo_lookup(tls *TLS, p uintptr, size Tsize_t, s uintptr) (r uintptr)
+TEXT ·Y__mo_lookup(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ p+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ size+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ s+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__mo_lookup(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__month_to_secs(tls *TLS, month int32, is_leap int32) (r int32)
+TEXT ·Y__month_to_secs(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL month+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVL is_leap+12(FP), AX
+ MOVL AX, 12(SP)
+ CALL ·X__month_to_secs(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__mprotect(tls *TLS, addr uintptr, len1 Tsize_t, prot int32) (r int32)
+TEXT ·Y__mprotect(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ addr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ len1+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL prot+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__mprotect(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__mremap(tls *TLS, old_addr uintptr, old_len Tsize_t, new_len Tsize_t, flags int32, va uintptr) (r uintptr)
+TEXT ·Y__mremap(SB),$56-56
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ old_addr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ old_len+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ new_len+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL flags+32(FP), AX
+ MOVL AX, 32(SP)
+ MOVQ va+40(FP), AX
+ MOVQ AX, 40(SP)
+ CALL ·X__mremap(SB)
+ MOVQ 48(SP), AX
+ MOVQ AX, r+48(FP)
+ RET
+
+// func Y__munmap(tls *TLS, start uintptr, len1 Tsize_t) (r int32)
+TEXT ·Y__munmap(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ start+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ len1+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__munmap(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__newlocale(tls *TLS, mask int32, name uintptr, loc Tlocale_t) (r Tlocale_t)
+TEXT ·Y__newlocale(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL mask+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ name+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ loc+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__newlocale(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__nl_langinfo(tls *TLS, item Tnl_item) (r uintptr)
+TEXT ·Y__nl_langinfo(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL item+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__nl_langinfo(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
+ RET
+
+// func Y__nl_langinfo_l(tls *TLS, item Tnl_item, loc Tlocale_t) (r uintptr)
+TEXT ·Y__nl_langinfo_l(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL item+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ loc+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__nl_langinfo_l(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__nscd_query(tls *TLS, req Tint32_t, key uintptr, buf uintptr, len1 Tsize_t, swap uintptr) (r uintptr)
+TEXT ·Y__nscd_query(SB),$56-56
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL req+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ key+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ buf+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ len1+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVQ swap+40(FP), AX
+ MOVQ AX, 40(SP)
+ CALL ·X__nscd_query(SB)
+ MOVQ 48(SP), AX
+ MOVQ AX, r+48(FP)
+ RET
+
+// func Y__ofl_add(tls *TLS, f uintptr) (r uintptr)
+TEXT ·Y__ofl_add(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__ofl_add(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
+ RET
+
+// func Y__ofl_lock(tls *TLS) (r uintptr)
+TEXT ·Y__ofl_lock(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__ofl_lock(SB)
+ MOVQ 8(SP), AX
+ MOVQ AX, r+8(FP)
+ RET
+
+// func Y__ofl_unlock(tls *TLS)
+TEXT ·Y__ofl_unlock(SB),$8-8
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__ofl_unlock(SB)
+ RET
+
+// func Y__overflow(tls *TLS, f uintptr, _c int32) (r int32)
+TEXT ·Y__overflow(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL _c+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X__overflow(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__pleval(tls *TLS, s uintptr, n uint64) (r uint64)
+TEXT ·Y__pleval(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ n+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__pleval(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__posix_getopt(tls *TLS, argc int32, argv uintptr, optstring uintptr) (r int32)
+TEXT ·Y__posix_getopt(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL argc+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ argv+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ optstring+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__posix_getopt(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__procfdname(tls *TLS, buf uintptr, fd uint32)
+TEXT ·Y__procfdname(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ buf+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL fd+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X__procfdname(SB)
+ RET
+
+// func Y__ptsname_r(tls *TLS, fd int32, buf uintptr, len1 Tsize_t) (r int32)
+TEXT ·Y__ptsname_r(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL fd+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ buf+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ len1+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__ptsname_r(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
+ RET
+
+// func Y__putenv(tls *TLS, s uintptr, l Tsize_t, r uintptr) (r1 int32)
+TEXT ·Y__putenv(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ r+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__putenv(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r1+32(FP)
+ RET
+
+// func Y__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr)
+TEXT ·Y__qsort_r(SB),$56-48
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX // alloc all ABI trampolines
+ MOVQ AX, 0(SP)
+ MOVQ $16, 8(SP) // 16*(number of func ptrs in signature)
+ CALL modernc·org∕libc·TLSAlloc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, -8(BP) // Trampolines[0]
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ -8(BP), AX
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp_cmp+32(FP), AX // ABI0 code ptr
+ MOVQ AX, 16(SP)
+ CALL ·__ccgo_abiInternal___qsort_r_3(SB) // Create the closure for calling __ccgo_fp_cmp
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ base+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ nel+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ width+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ -8(BP), AX // Trampolines[0]
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 32(SP)
+ MOVQ arg+40(FP), AX
+ MOVQ AX, 40(SP)
+ CALL ·X__qsort_r(SB)
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ $0, 8(SP)
+ CALL modernc·org∕libc·TLSFree(SB)
+ RET
+
+TEXT ·__ccgo_abi0___qsort_r_3(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ _0+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ _1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ _2+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ _3+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ __ccgo_fp+32(FP), AX
+ CALL *AX // Call the ABI0 code ptr
+ MOVL 32(SP), AX
+ MOVL AX, _4+40(FP)
+ RET
+
+// func Y__rand48_step(tls *TLS, xi uintptr, lc uintptr) (r Tuint64_t)
+TEXT ·Y__rand48_step(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ xi+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ lc+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__rand48_step(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__register_locked_file(tls *TLS, f uintptr, self Tpthread_t)
+TEXT ·Y__register_locked_file(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ self+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__register_locked_file(SB)
+ RET
+
+// func Y__rem_pio2(tls *TLS, x float64, y uintptr) (r1 int32)
+TEXT ·Y__rem_pio2(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ y+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__rem_pio2(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r1+24(FP)
+ RET
+
+// func Y__rem_pio2_large(tls *TLS, x uintptr, y uintptr, e0 int32, nx int32, prec int32) (r int32)
+TEXT ·Y__rem_pio2_large(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ y+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL e0+24(FP), AX
+ MOVL AX, 24(SP)
+ MOVL nx+28(FP), AX
+ MOVL AX, 28(SP)
+ MOVL prec+32(FP), AX
+ MOVL AX, 32(SP)
+ CALL ·X__rem_pio2_large(SB)
+ MOVL 40(SP), AX
+ MOVL AX, r+40(FP)
+ RET
+
+// func Y__rem_pio2f(tls *TLS, x float32, y uintptr) (r int32)
+TEXT ·Y__rem_pio2f(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL x+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ y+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__rem_pio2f(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__res_mkquery(tls *TLS, op int32, dname uintptr, class int32, type1 int32, data uintptr, datalen int32, newrr uintptr, buf uintptr, buflen int32) (r int32)
+TEXT ·Y__res_mkquery(SB),$80-76
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL op+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ dname+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL class+24(FP), AX
+ MOVL AX, 24(SP)
+ MOVL type1+28(FP), AX
+ MOVL AX, 28(SP)
+ MOVQ data+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVL datalen+40(FP), AX
+ MOVL AX, 40(SP)
+ MOVQ newrr+48(FP), AX
+ MOVQ AX, 48(SP)
+ MOVQ buf+56(FP), AX
+ MOVQ AX, 56(SP)
+ MOVL buflen+64(FP), AX
+ MOVL AX, 64(SP)
+ CALL ·X__res_mkquery(SB)
+ MOVL 72(SP), AX
+ MOVL AX, r+72(FP)
+ RET
+
+// func Y__res_msend(tls *TLS, nqueries int32, queries uintptr, qlens uintptr, answers uintptr, alens uintptr, asize int32) (r int32)
+TEXT ·Y__res_msend(SB),$64-60
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL nqueries+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ queries+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ qlens+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ answers+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVQ alens+40(FP), AX
+ MOVQ AX, 40(SP)
+ MOVL asize+48(FP), AX
+ MOVL AX, 48(SP)
+ CALL ·X__res_msend(SB)
+ MOVL 56(SP), AX
+ MOVL AX, r+56(FP)
+ RET
+
+// func Y__res_msend_rc(tls *TLS, nqueries int32, queries uintptr, qlens uintptr, answers uintptr, alens uintptr, asize int32, conf uintptr) (r1 int32)
+TEXT ·Y__res_msend_rc(SB),$72-68
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL nqueries+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ queries+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ qlens+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ answers+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVQ alens+40(FP), AX
+ MOVQ AX, 40(SP)
+ MOVL asize+48(FP), AX
+ MOVL AX, 48(SP)
+ MOVQ conf+56(FP), AX
+ MOVQ AX, 56(SP)
+ CALL ·X__res_msend_rc(SB)
+ MOVL 64(SP), AX
+ MOVL AX, r1+64(FP)
+ RET
+
+// func Y__res_send(tls *TLS, _msg uintptr, _msglen int32, _answer uintptr, _anslen int32) (r1 int32)
+TEXT ·Y__res_send(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ _msg+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL _msglen+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVQ _answer+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVL _anslen+32(FP), AX
+ MOVL AX, 32(SP)
+ CALL ·X__res_send(SB)
+ MOVL 40(SP), AX
+ MOVL AX, r1+40(FP)
+ RET
+
+// func Y__res_state(tls *TLS) (r uintptr)
+TEXT ·Y__res_state(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__res_state(SB)
+ MOVQ 8(SP), AX
+ MOVQ AX, r+8(FP)
+ RET
+
+// func Y__reset_tls(tls *TLS)
+TEXT ·Y__reset_tls(SB),$8-8
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__reset_tls(SB)
+ RET
+
+// func Y__restore(tls *TLS)
+TEXT ·Y__restore(SB),$8-8
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__restore(SB)
+ RET
+
+// func Y__restore_rt(tls *TLS)
+TEXT ·Y__restore_rt(SB),$8-8
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__restore_rt(SB)
+ RET
+
+// func Y__restore_sigs(tls *TLS, set uintptr)
+TEXT ·Y__restore_sigs(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ set+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__restore_sigs(SB)
+ RET
+
+// func Y__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, __ccgo_fp_cb uintptr, ctx uintptr) (r1 int32)
+TEXT ·Y__rtnetlink_enumerate(SB),$48-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX // alloc all ABI trampolines
+ MOVQ AX, 0(SP)
+ MOVQ $16, 8(SP) // 16*(number of func ptrs in signature)
+ CALL modernc·org∕libc·TLSAlloc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, -8(BP) // Trampolines[0]
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ -8(BP), AX
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp_cb+16(FP), AX // ABI0 code ptr
+ MOVQ AX, 16(SP)
+ CALL ·__ccgo_abiInternal___rtnetlink_enumerate_2(SB) // Create the closure for calling __ccgo_fp_cb
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL link_af+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVL addr_af+12(FP), AX
+ MOVL AX, 12(SP)
+ MOVQ -8(BP), AX // Trampolines[0]
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 24(SP)
+ MOVQ ctx+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__rtnetlink_enumerate(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r1+32(FP)
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ $0, 8(SP)
+ CALL modernc·org∕libc·TLSFree(SB)
+ RET
+
+TEXT ·__ccgo_abi0___rtnetlink_enumerate_2(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ _0+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ _1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ _2+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ __ccgo_fp+24(FP), AX
+ CALL *AX // Call the ABI0 code ptr
+ MOVL 24(SP), AX
+ MOVL AX, _3+32(FP)
+ RET
+
+// func Y__secs_to_tm(tls *TLS, t int64, tm uintptr) (r int32)
+TEXT ·Y__secs_to_tm(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ t+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ tm+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__secs_to_tm(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__secs_to_zone(tls *TLS, t int64, local int32, isdst uintptr, offset uintptr, oppoff uintptr, zonename uintptr)
+TEXT ·Y__secs_to_zone(SB),$56-56
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ t+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL local+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVQ isdst+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ offset+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVQ oppoff+40(FP), AX
+ MOVQ AX, 40(SP)
+ MOVQ zonename+48(FP), AX
+ MOVQ AX, 48(SP)
+ CALL ·X__secs_to_zone(SB)
+ RET
+
+// func Y__setxid(tls *TLS, nr int32, id int32, eid int32, sid int32) (r int32)
+TEXT ·Y__setxid(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL nr+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVL id+12(FP), AX
+ MOVL AX, 12(SP)
+ MOVL eid+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL sid+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__setxid(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__shgetc(tls *TLS, f uintptr) (r int32)
+TEXT ·Y__shgetc(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__shgetc(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__shlim(tls *TLS, f uintptr, lim Toff_t)
+TEXT ·Y__shlim(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ lim+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__shlim(SB)
+ RET
+
+// func Y__shm_mapname(tls *TLS, name uintptr, buf uintptr) (r uintptr)
+TEXT ·Y__shm_mapname(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ name+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ buf+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__shm_mapname(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__sigaction(tls *TLS, sig int32, sa uintptr, old uintptr) (r1 int32)
+TEXT ·Y__sigaction(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL sig+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ sa+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ old+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__sigaction(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r1+32(FP)
+ RET
+
+// func Y__signbit(tls *TLS, x float64) (r int32)
+TEXT ·Y__signbit(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__signbit(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__signbitf(tls *TLS, x float32) (r int32)
+TEXT ·Y__signbitf(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL x+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X__signbitf(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__signbitl(tls *TLS, x float64) (r int32)
+TEXT ·Y__signbitl(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__signbitl(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__sigsetjmp_tail(tls *TLS, jb uintptr, ret int32) (r int32)
+TEXT ·Y__sigsetjmp_tail(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ jb+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL ret+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X__sigsetjmp_tail(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
+ RET
+
+// func Y__sin(tls *TLS, x float64, y float64, iy int32) (r1 float64)
+TEXT ·Y__sin(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ y+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL iy+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__sin(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r1+32(FP)
RET
-// func Y__builtin_bswap32(t *TLS, x uint32) uint32
-TEXT ·Y__builtin_bswap32(SB),$24-20
+// func Y__sindf(tls *TLS, x float64) (r1 float32)
+TEXT ·Y__sindf(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVL x+8(FP), AX
- MOVL AX, 8(SP)
- CALL ·X__builtin_bswap32(SB)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__sindf(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r1+16(FP)
+ RET
+
+// func Y__stack_chk_fail(tls *TLS)
+TEXT ·Y__stack_chk_fail(SB),$8-8
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__stack_chk_fail(SB)
+ RET
+
+// func Y__stack_chk_fail_local(tls *TLS)
+TEXT ·Y__stack_chk_fail_local(SB),$8-8
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__stack_chk_fail_local(SB)
+ RET
+
+// func Y__stdio_close(tls *TLS, f uintptr) (r int32)
+TEXT ·Y__stdio_close(SB),$24-20
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__stdio_close(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__stdio_exit(tls *TLS)
+TEXT ·Y__stdio_exit(SB),$8-8
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__stdio_exit(SB)
+ RET
+
+// func Y__stdio_exit_needed(tls *TLS)
+TEXT ·Y__stdio_exit_needed(SB),$8-8
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·X__stdio_exit_needed(SB)
+ RET
+
+// func Y__stdio_read(tls *TLS, f uintptr, buf uintptr, len1 Tsize_t) (r Tsize_t)
+TEXT ·Y__stdio_read(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ buf+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ len1+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__stdio_read(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__stdio_seek(tls *TLS, f uintptr, off Toff_t, whence int32) (r Toff_t)
+TEXT ·Y__stdio_seek(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ off+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL whence+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__stdio_seek(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__stdio_write(tls *TLS, f uintptr, buf uintptr, len1 Tsize_t) (r Tsize_t)
+TEXT ·Y__stdio_write(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ buf+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ len1+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__stdio_write(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__stdout_write(tls *TLS, f uintptr, buf uintptr, len1 Tsize_t) (r Tsize_t)
+TEXT ·Y__stdout_write(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ buf+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ len1+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__stdout_write(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__stpcpy(tls *TLS, d uintptr, s uintptr) (r uintptr)
+TEXT ·Y__stpcpy(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ d+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ s+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__stpcpy(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__stpncpy(tls *TLS, d uintptr, s uintptr, n Tsize_t) (r uintptr)
+TEXT ·Y__stpncpy(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ d+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ s+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ n+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__stpncpy(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__strcasecmp_l(tls *TLS, l uintptr, r uintptr, loc Tlocale_t) (r1 int32)
+TEXT ·Y__strcasecmp_l(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ l+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ r+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ loc+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__strcasecmp_l(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r1+32(FP)
+ RET
+
+// func Y__strchrnul(tls *TLS, s uintptr, c int32) (r uintptr)
+TEXT ·Y__strchrnul(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL c+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X__strchrnul(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__strcoll_l(tls *TLS, l uintptr, r uintptr, loc Tlocale_t) (r1 int32)
+TEXT ·Y__strcoll_l(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ l+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ r+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ loc+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__strcoll_l(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r1+32(FP)
+ RET
+
+// func Y__strerror_l(tls *TLS, e int32, loc Tlocale_t) (r uintptr)
+TEXT ·Y__strerror_l(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVL e+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ loc+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__strerror_l(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
+ RET
+
+// func Y__strftime_fmt_1(tls *TLS, s uintptr, l uintptr, f int32, tm uintptr, loc Tlocale_t, pad int32) (r uintptr)
+TEXT ·Y__strftime_fmt_1(SB),$64-64
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL f+24(FP), AX
+ MOVL AX, 24(SP)
+ MOVQ tm+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVQ loc+40(FP), AX
+ MOVQ AX, 40(SP)
+ MOVL pad+48(FP), AX
+ MOVL AX, 48(SP)
+ CALL ·X__strftime_fmt_1(SB)
+ MOVQ 56(SP), AX
+ MOVQ AX, r+56(FP)
+ RET
+
+// func Y__strftime_l(tls *TLS, s uintptr, n Tsize_t, f uintptr, tm uintptr, loc Tlocale_t) (r Tsize_t)
+TEXT ·Y__strftime_l(SB),$56-56
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ n+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ f+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ tm+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVQ loc+40(FP), AX
+ MOVQ AX, 40(SP)
+ CALL ·X__strftime_l(SB)
+ MOVQ 48(SP), AX
+ MOVQ AX, r+48(FP)
+ RET
+
+// func Y__strncasecmp_l(tls *TLS, l uintptr, r uintptr, n Tsize_t, loc Tlocale_t) (r1 int32)
+TEXT ·Y__strncasecmp_l(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ l+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ r+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ n+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ loc+32(FP), AX
+ MOVQ AX, 32(SP)
+ CALL ·X__strncasecmp_l(SB)
+ MOVL 40(SP), AX
+ MOVL AX, r1+40(FP)
+ RET
+
+// func Y__strtod_l(tls *TLS, s uintptr, p uintptr, l Tlocale_t) (r float64)
+TEXT ·Y__strtod_l(SB),$40-40
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ p+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ l+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__strtod_l(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
+ RET
+
+// func Y__strtof_l(tls *TLS, s uintptr, p uintptr, l Tlocale_t) (r float32)
+TEXT ·Y__strtof_l(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ p+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ l+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__strtof_l(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
RET
-// func Y__builtin_bswap64(t *TLS, x uint64) uint64
-TEXT ·Y__builtin_bswap64(SB),$24-24
+// func Y__strtoimax_internal(tls *TLS, s uintptr, p uintptr, base int32) (r Tintmax_t)
+TEXT ·Y__strtoimax_internal(SB),$40-40
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ x+8(FP), AX
+ MOVQ s+8(FP), AX
MOVQ AX, 8(SP)
- CALL ·X__builtin_bswap64(SB)
- MOVQ 16(SP), AX
- MOVQ AX, ret+16(FP)
+ MOVQ p+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL base+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__strtoimax_internal(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
RET
-// func Y__builtin_bzero(t *TLS, s uintptr, n Tsize_t)
-TEXT ·Y__builtin_bzero(SB),$24-24
+// func Y__strtol_internal(tls *TLS, s uintptr, p uintptr, base int32) (r int64)
+TEXT ·Y__strtol_internal(SB),$40-40
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
MOVQ s+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ n+16(FP), AX
+ MOVQ p+16(FP), AX
MOVQ AX, 16(SP)
- CALL ·X__builtin_bzero(SB)
+ MOVL base+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__strtol_internal(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
RET
-// func Y__builtin_clz(t *TLS, n uint32) int32
-TEXT ·Y__builtin_clz(SB),$24-20
+// func Y__strtold_l(tls *TLS, s uintptr, p uintptr, l Tlocale_t) (r float64)
+TEXT ·Y__strtold_l(SB),$40-40
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVL n+8(FP), AX
- MOVL AX, 8(SP)
- CALL ·X__builtin_clz(SB)
- MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ p+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ l+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__strtold_l(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
RET
-// func Y__builtin_clzl(t *TLS, n ulong) int32
-TEXT ·Y__builtin_clzl(SB),$24-20
+// func Y__strtoll_internal(tls *TLS, s uintptr, p uintptr, base int32) (r int64)
+TEXT ·Y__strtoll_internal(SB),$40-40
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ n+8(FP), AX
+ MOVQ s+8(FP), AX
MOVQ AX, 8(SP)
- CALL ·X__builtin_clzl(SB)
- MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVQ p+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL base+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__strtoll_internal(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
RET
-// func Y__builtin_clzll(t *TLS, n uint64) int32
-TEXT ·Y__builtin_clzll(SB),$24-20
+// func Y__strtoul_internal(tls *TLS, s uintptr, p uintptr, base int32) (r uint64)
+TEXT ·Y__strtoul_internal(SB),$40-40
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ n+8(FP), AX
+ MOVQ s+8(FP), AX
MOVQ AX, 8(SP)
- CALL ·X__builtin_clzll(SB)
- MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVQ p+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL base+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__strtoul_internal(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
RET
-// func Y__builtin_copysign(t *TLS, x, y float64) float64
-TEXT ·Y__builtin_copysign(SB),$32-32
+// func Y__strtoull_internal(tls *TLS, s uintptr, p uintptr, base int32) (r uint64)
+TEXT ·Y__strtoull_internal(SB),$40-40
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ x+8(FP), AX
+ MOVQ s+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ y+16(FP), AX
+ MOVQ p+16(FP), AX
MOVQ AX, 16(SP)
- CALL ·X__builtin_copysign(SB)
- MOVQ 24(SP), AX
- MOVQ AX, ret+24(FP)
+ MOVL base+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__strtoull_internal(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
RET
-// func Y__builtin_copysignf(t *TLS, x, y float32) float32
-TEXT ·Y__builtin_copysignf(SB),$24-20
+// func Y__strtoumax_internal(tls *TLS, s uintptr, p uintptr, base int32) (r Tuintmax_t)
+TEXT ·Y__strtoumax_internal(SB),$40-40
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVL x+8(FP), AX
- MOVL AX, 8(SP)
- MOVL y+12(FP), AX
- MOVL AX, 12(SP)
- CALL ·X__builtin_copysignf(SB)
- MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVQ s+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ p+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL base+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__strtoumax_internal(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
RET
-// func Y__builtin_copysignl(t *TLS, x, y float64) float64
-TEXT ·Y__builtin_copysignl(SB),$32-32
+// func Y__strxfrm_l(tls *TLS, dest uintptr, src uintptr, n Tsize_t, loc Tlocale_t) (r Tsize_t)
+TEXT ·Y__strxfrm_l(SB),$48-48
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ x+8(FP), AX
+ MOVQ dest+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ y+16(FP), AX
+ MOVQ src+16(FP), AX
MOVQ AX, 16(SP)
- CALL ·X__builtin_copysignl(SB)
- MOVQ 24(SP), AX
- MOVQ AX, ret+24(FP)
+ MOVQ n+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ loc+32(FP), AX
+ MOVQ AX, 32(SP)
+ CALL ·X__strxfrm_l(SB)
+ MOVQ 40(SP), AX
+ MOVQ AX, r+40(FP)
RET
-// func Y__builtin_ctz(t *TLS, n uint32) int32
-TEXT ·Y__builtin_ctz(SB),$24-20
+// func Y__sync_synchronize(t *TLS)
+TEXT ·Y__sync_synchronize(SB),$8-8
GO_ARGS
NO_LOCAL_POINTERS
MOVQ t+0(FP), AX
MOVQ AX, 0(SP)
- MOVL n+8(FP), AX
- MOVL AX, 8(SP)
- CALL ·X__builtin_ctz(SB)
- MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ CALL ·X__sync_synchronize(SB)
RET
-// func Y__builtin_ctzl(tls *TLS, x ulong) int32
-TEXT ·Y__builtin_ctzl(SB),$24-20
+// func Y__sync_val_compare_and_swapInt16(t *TLS, ptr uintptr, oldval, newval int16) (r int16)
+TEXT ·Y__sync_val_compare_and_swapInt16(SB),$32-26
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ tls+0(FP), AX
+ MOVQ t+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ x+8(FP), AX
+ MOVQ ptr+8(FP), AX
MOVQ AX, 8(SP)
- CALL ·X__builtin_ctzl(SB)
- MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVW oldval+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVW newval+18(FP), AX
+ MOVW AX, 18(SP)
+ CALL ·X__sync_val_compare_and_swapInt16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
RET
-// func Y__builtin_exit(t *TLS, status int32)
-TEXT ·Y__builtin_exit(SB),$16-12
+// func Y__sync_val_compare_and_swapInt32(t *TLS, ptr uintptr, oldval, newval int32) (r int32)
+TEXT ·Y__sync_val_compare_and_swapInt32(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
MOVQ t+0(FP), AX
MOVQ AX, 0(SP)
- MOVL status+8(FP), AX
- MOVL AX, 8(SP)
- CALL ·X__builtin_exit(SB)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL oldval+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL newval+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__sync_val_compare_and_swapInt32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
RET
-// func Y__builtin_expect(t *TLS, exp, c long) long
-TEXT ·Y__builtin_expect(SB),$32-32
+// func Y__sync_val_compare_and_swapInt64(t *TLS, ptr uintptr, oldval, newval int64) (r int64)
+TEXT ·Y__sync_val_compare_and_swapInt64(SB),$40-40
GO_ARGS
NO_LOCAL_POINTERS
MOVQ t+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ exp+8(FP), AX
+ MOVQ ptr+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ c+16(FP), AX
+ MOVQ oldval+16(FP), AX
MOVQ AX, 16(SP)
- CALL ·X__builtin_expect(SB)
- MOVQ 24(SP), AX
- MOVQ AX, ret+24(FP)
+ MOVQ newval+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__sync_val_compare_and_swapInt64(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r+32(FP)
RET
-// func Y__builtin_fabs(t *TLS, x float64) float64
-TEXT ·Y__builtin_fabs(SB),$24-24
+// func Y__sync_val_compare_and_swapInt8(t *TLS, ptr uintptr, oldval, newval int8) (r int8)
+TEXT ·Y__sync_val_compare_and_swapInt8(SB),$32-25
GO_ARGS
NO_LOCAL_POINTERS
MOVQ t+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ x+8(FP), AX
+ MOVQ ptr+8(FP), AX
MOVQ AX, 8(SP)
- CALL ·X__builtin_fabs(SB)
- MOVQ 16(SP), AX
- MOVQ AX, ret+16(FP)
+ MOVB oldval+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVB newval+17(FP), AX
+ MOVB AX, 17(SP)
+ CALL ·X__sync_val_compare_and_swapInt8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
RET
-// func Y__builtin_fabsf(t *TLS, x float32) float32
-TEXT ·Y__builtin_fabsf(SB),$24-20
+// func Y__sync_val_compare_and_swapUint16(t *TLS, ptr uintptr, oldval, newval uint16) (r uint16)
+TEXT ·Y__sync_val_compare_and_swapUint16(SB),$32-26
GO_ARGS
NO_LOCAL_POINTERS
MOVQ t+0(FP), AX
MOVQ AX, 0(SP)
- MOVL x+8(FP), AX
- MOVL AX, 8(SP)
- CALL ·X__builtin_fabsf(SB)
- MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVQ ptr+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVW oldval+16(FP), AX
+ MOVW AX, 16(SP)
+ MOVW newval+18(FP), AX
+ MOVW AX, 18(SP)
+ CALL ·X__sync_val_compare_and_swapUint16(SB)
+ MOVW 24(SP), AX
+ MOVW AX, r+24(FP)
RET
-// func Y__builtin_fabsl(t *TLS, x float64) float64
-TEXT ·Y__builtin_fabsl(SB),$24-24
+// func Y__sync_val_compare_and_swapUint32(t *TLS, ptr uintptr, oldval, newval uint32) (r uint32)
+TEXT ·Y__sync_val_compare_and_swapUint32(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
MOVQ t+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ x+8(FP), AX
+ MOVQ ptr+8(FP), AX
MOVQ AX, 8(SP)
- CALL ·X__builtin_fabsl(SB)
- MOVQ 16(SP), AX
- MOVQ AX, ret+16(FP)
- RET
-
-// func Y__builtin_ffs(tls *TLS, i int32) (r int32)
-TEXT ·Y__builtin_ffs(SB),$24-20
- GO_ARGS
- NO_LOCAL_POINTERS
- MOVQ tls+0(FP), AX
- MOVQ AX, 0(SP)
- MOVL i+8(FP), AX
- MOVL AX, 8(SP)
- CALL ·X__builtin_ffs(SB)
- MOVL 16(SP), AX
- MOVL AX, r+16(FP)
+ MOVL oldval+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL newval+20(FP), AX
+ MOVL AX, 20(SP)
+ CALL ·X__sync_val_compare_and_swapUint32(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
RET
-// func Y__builtin_fma(tls *TLS, x, y, z float64) (r float64)
-TEXT ·Y__builtin_fma(SB),$40-40
+// func Y__sync_val_compare_and_swapUint64(t *TLS, ptr uintptr, oldval, newval uint64) (r uint64)
+TEXT ·Y__sync_val_compare_and_swapUint64(SB),$40-40
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ tls+0(FP), AX
+ MOVQ t+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ x+8(FP), AX
+ MOVQ ptr+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ y+16(FP), AX
+ MOVQ oldval+16(FP), AX
MOVQ AX, 16(SP)
- MOVQ z+24(FP), AX
+ MOVQ newval+24(FP), AX
MOVQ AX, 24(SP)
- CALL ·X__builtin_fma(SB)
+ CALL ·X__sync_val_compare_and_swapUint64(SB)
MOVQ 32(SP), AX
MOVQ AX, r+32(FP)
RET
-// func Y__builtin_fmax(tls *TLS, x float64, y float64) (r float64)
-TEXT ·Y__builtin_fmax(SB),$32-32
+// func Y__sync_val_compare_and_swapUint8(t *TLS, ptr uintptr, oldval, newval uint8) (r uint8)
+TEXT ·Y__sync_val_compare_and_swapUint8(SB),$32-25
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ tls+0(FP), AX
+ MOVQ t+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ x+8(FP), AX
+ MOVQ ptr+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ y+16(FP), AX
- MOVQ AX, 16(SP)
- CALL ·X__builtin_fmax(SB)
- MOVQ 24(SP), AX
- MOVQ AX, r+24(FP)
+ MOVB oldval+16(FP), AX
+ MOVB AX, 16(SP)
+ MOVB newval+17(FP), AX
+ MOVB AX, 17(SP)
+ CALL ·X__sync_val_compare_and_swapUint8(SB)
+ MOVB 24(SP), AX
+ MOVB AX, r+24(FP)
RET
-// func Y__builtin_fmin(tls *TLS, x float64, y float64) (r float64)
-TEXT ·Y__builtin_fmin(SB),$32-32
+// func Y__syscall0(tls *TLS, n long) (_2 long)
+TEXT ·Y__syscall0(SB),$24-24
GO_ARGS
NO_LOCAL_POINTERS
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ x+8(FP), AX
+ MOVQ n+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ y+16(FP), AX
- MOVQ AX, 16(SP)
- CALL ·X__builtin_fmin(SB)
- MOVQ 24(SP), AX
- MOVQ AX, r+24(FP)
+ CALL ·X__syscall0(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, _2+16(FP)
RET
-// func Y__builtin_free(t *TLS, ptr uintptr)
-TEXT ·Y__builtin_free(SB),$16-16
+// func Y__syscall1(tls *TLS, n, a1 long) (_2 long)
+TEXT ·Y__syscall1(SB),$32-32
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ ptr+8(FP), AX
+ MOVQ n+8(FP), AX
MOVQ AX, 8(SP)
- CALL ·X__builtin_free(SB)
+ MOVQ a1+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__syscall1(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, _2+24(FP)
RET
-// func Y__builtin_getentropy(t *TLS, buf uintptr, n Tsize_t) int32
-TEXT ·Y__builtin_getentropy(SB),$32-28
+// func Y__syscall2(tls *TLS, n, a1, a2 long) (_2 long)
+TEXT ·Y__syscall2(SB),$40-40
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ buf+8(FP), AX
+ MOVQ n+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ n+16(FP), AX
+ MOVQ a1+16(FP), AX
MOVQ AX, 16(SP)
- CALL ·X__builtin_getentropy(SB)
- MOVL 24(SP), AX
- MOVL AX, ret+24(FP)
- RET
-
-// func Y__builtin_huge_val(t *TLS) float64
-TEXT ·Y__builtin_huge_val(SB),$16-16
- GO_ARGS
- NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
- MOVQ AX, 0(SP)
- CALL ·X__builtin_huge_val(SB)
- MOVQ 8(SP), AX
- MOVQ AX, ret+8(FP)
+ MOVQ a2+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__syscall2(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, _2+32(FP)
RET
-// func Y__builtin_huge_valf(t *TLS) float32
-TEXT ·Y__builtin_huge_valf(SB),$16-12
+// func Y__syscall3(tls *TLS, n, a1, a2, a3 long) (_2 long)
+TEXT ·Y__syscall3(SB),$48-48
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- CALL ·X__builtin_huge_valf(SB)
- MOVL 8(SP), AX
- MOVL AX, ret+8(FP)
+ MOVQ n+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ a1+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ a2+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ a3+32(FP), AX
+ MOVQ AX, 32(SP)
+ CALL ·X__syscall3(SB)
+ MOVQ 40(SP), AX
+ MOVQ AX, _2+40(FP)
RET
-// func Y__builtin_hypot(tls *TLS, x float64, y float64) (r float64)
-TEXT ·Y__builtin_hypot(SB),$32-32
+// func Y__syscall4(tls *TLS, n, a1, a2, a3, a4 long) (_2 long)
+TEXT ·Y__syscall4(SB),$56-56
GO_ARGS
NO_LOCAL_POINTERS
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ x+8(FP), AX
+ MOVQ n+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ y+16(FP), AX
+ MOVQ a1+16(FP), AX
MOVQ AX, 16(SP)
- CALL ·X__builtin_hypot(SB)
- MOVQ 24(SP), AX
- MOVQ AX, r+24(FP)
+ MOVQ a2+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ a3+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVQ a4+40(FP), AX
+ MOVQ AX, 40(SP)
+ CALL ·X__syscall4(SB)
+ MOVQ 48(SP), AX
+ MOVQ AX, _2+48(FP)
RET
-// func Y__builtin_inf(t *TLS) float64
-TEXT ·Y__builtin_inf(SB),$16-16
+// func Y__syscall5(tls *TLS, n, a1, a2, a3, a4, a5 long) (_2 long)
+TEXT ·Y__syscall5(SB),$64-64
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- CALL ·X__builtin_inf(SB)
- MOVQ 8(SP), AX
- MOVQ AX, ret+8(FP)
+ MOVQ n+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ a1+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ a2+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ a3+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVQ a4+40(FP), AX
+ MOVQ AX, 40(SP)
+ MOVQ a5+48(FP), AX
+ MOVQ AX, 48(SP)
+ CALL ·X__syscall5(SB)
+ MOVQ 56(SP), AX
+ MOVQ AX, _2+56(FP)
RET
-// func Y__builtin_inff(tls *TLS) float32
-TEXT ·Y__builtin_inff(SB),$16-12
+// func Y__syscall6(tls *TLS, n, a1, a2, a3, a4, a5, a6 long) (_2 long)
+TEXT ·Y__syscall6(SB),$72-72
GO_ARGS
NO_LOCAL_POINTERS
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- CALL ·X__builtin_inff(SB)
- MOVL 8(SP), AX
- MOVL AX, ret+8(FP)
+ MOVQ n+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ a1+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ a2+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ a3+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVQ a4+40(FP), AX
+ MOVQ AX, 40(SP)
+ MOVQ a5+48(FP), AX
+ MOVQ AX, 48(SP)
+ MOVQ a6+56(FP), AX
+ MOVQ AX, 56(SP)
+ CALL ·X__syscall6(SB)
+ MOVQ 64(SP), AX
+ MOVQ AX, _2+64(FP)
RET
-// func Y__builtin_infl(t *TLS) float64
-TEXT ·Y__builtin_infl(SB),$16-16
+// func Y__syscall_ret(tls *TLS, r uint64) (r1 int64)
+TEXT ·Y__syscall_ret(SB),$24-24
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- CALL ·X__builtin_infl(SB)
- MOVQ 8(SP), AX
- MOVQ AX, ret+8(FP)
+ MOVQ r+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__syscall_ret(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r1+16(FP)
RET
-// func Y__builtin_isblank(tls *TLS, c int32) (r int32)
-TEXT ·Y__builtin_isblank(SB),$24-20
+// func Y__tan(tls *TLS, x float64, y float64, odd int32) (r1 float64)
+TEXT ·Y__tan(SB),$40-40
GO_ARGS
NO_LOCAL_POINTERS
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVL c+8(FP), AX
- MOVL AX, 8(SP)
- CALL ·X__builtin_isblank(SB)
- MOVL 16(SP), AX
- MOVL AX, r+16(FP)
+ MOVQ x+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ y+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL odd+24(FP), AX
+ MOVL AX, 24(SP)
+ CALL ·X__tan(SB)
+ MOVQ 32(SP), AX
+ MOVQ AX, r1+32(FP)
RET
-// func Y__builtin_isnan(t *TLS, x float64) int32
-TEXT ·Y__builtin_isnan(SB),$24-20
+// func Y__tandf(tls *TLS, x float64, odd int32) (r1 float32)
+TEXT ·Y__tandf(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
MOVQ x+8(FP), AX
MOVQ AX, 8(SP)
- CALL ·X__builtin_isnan(SB)
- MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL odd+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X__tandf(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r1+24(FP)
RET
-// func Y__builtin_isnanf(t *TLS, x float32) int32
-TEXT ·Y__builtin_isnanf(SB),$24-20
+// func Y__tm_to_secs(tls *TLS, tm uintptr) (r int64)
+TEXT ·Y__tm_to_secs(SB),$24-24
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVL x+8(FP), AX
- MOVL AX, 8(SP)
- CALL ·X__builtin_isnanf(SB)
- MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVQ tm+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__tm_to_secs(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
RET
-// func Y__builtin_isnanl(t *TLS, x float64) int32
-TEXT ·Y__builtin_isnanl(SB),$24-20
+// func Y__tm_to_tzname(tls *TLS, tm uintptr) (r uintptr)
+TEXT ·Y__tm_to_tzname(SB),$24-24
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ x+8(FP), AX
+ MOVQ tm+8(FP), AX
MOVQ AX, 8(SP)
- CALL ·X__builtin_isnanl(SB)
- MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ CALL ·X__tm_to_tzname(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, r+16(FP)
RET
-// func Y__builtin_isprint(tls *TLS, c int32) (r int32)
-TEXT ·Y__builtin_isprint(SB),$24-20
+// func Y__tolower_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+TEXT ·Y__tolower_l(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
MOVL c+8(FP), AX
MOVL AX, 8(SP)
- CALL ·X__builtin_isprint(SB)
- MOVL 16(SP), AX
- MOVL AX, r+16(FP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__tolower_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
RET
-// func Y__builtin_isunordered(t *TLS, a, b float64) int32
-TEXT ·Y__builtin_isunordered(SB),$32-28
+// func Y__toread(tls *TLS, f uintptr) (r int32)
+TEXT ·Y__toread(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ a+8(FP), AX
+ MOVQ f+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ b+16(FP), AX
- MOVQ AX, 16(SP)
- CALL ·X__builtin_isunordered(SB)
- MOVL 24(SP), AX
- MOVL AX, ret+24(FP)
+ CALL ·X__toread(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
RET
-// func Y__builtin_llabs(tls *TLS, a int64) int64
-TEXT ·Y__builtin_llabs(SB),$24-24
+// func Y__toread_needs_stdio_exit(tls *TLS)
+TEXT ·Y__toread_needs_stdio_exit(SB),$8-8
GO_ARGS
NO_LOCAL_POINTERS
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ a+8(FP), AX
- MOVQ AX, 8(SP)
- CALL ·X__builtin_llabs(SB)
- MOVQ 16(SP), AX
- MOVQ AX, ret+16(FP)
+ CALL ·X__toread_needs_stdio_exit(SB)
RET
-// func Y__builtin_log2(t *TLS, x float64) float64
-TEXT ·Y__builtin_log2(SB),$24-24
+// func Y__toupper_l(tls *TLS, c int32, l Tlocale_t) (r int32)
+TEXT ·Y__toupper_l(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ x+8(FP), AX
- MOVQ AX, 8(SP)
- CALL ·X__builtin_log2(SB)
- MOVQ 16(SP), AX
- MOVQ AX, ret+16(FP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__toupper_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
RET
-// func Y__builtin_lrint(tls *TLS, x float64) (r long)
-TEXT ·Y__builtin_lrint(SB),$24-24
+// func Y__towctrans_l(tls *TLS, c Twint_t, t Twctrans_t, l Tlocale_t) (r Twint_t)
+TEXT ·Y__towctrans_l(SB),$40-36
GO_ARGS
NO_LOCAL_POINTERS
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ x+8(FP), AX
- MOVQ AX, 8(SP)
- CALL ·X__builtin_lrint(SB)
- MOVQ 16(SP), AX
- MOVQ AX, r+16(FP)
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ t+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ l+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__towctrans_l(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
RET
-// func Y__builtin_lrintf(tls *TLS, x float32) (r long)
-TEXT ·Y__builtin_lrintf(SB),$24-24
+// func Y__towlower_l(tls *TLS, c Twint_t, l Tlocale_t) (r Twint_t)
+TEXT ·Y__towlower_l(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVL x+8(FP), AX
+ MOVL c+8(FP), AX
MOVL AX, 8(SP)
- CALL ·X__builtin_lrintf(SB)
- MOVQ 16(SP), AX
- MOVQ AX, r+16(FP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__towlower_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
RET
-// func Y__builtin_lround(tls *TLS, x float64) (r long)
-TEXT ·Y__builtin_lround(SB),$24-24
+// func Y__towrite(tls *TLS, f uintptr) (r int32)
+TEXT ·Y__towrite(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ x+8(FP), AX
+ MOVQ f+8(FP), AX
MOVQ AX, 8(SP)
- CALL ·X__builtin_lround(SB)
- MOVQ 16(SP), AX
- MOVQ AX, r+16(FP)
+ CALL ·X__towrite(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
RET
-// func Y__builtin_malloc(t *TLS, size Tsize_t) uintptr
-TEXT ·Y__builtin_malloc(SB),$24-24
+// func Y__towrite_needs_stdio_exit(tls *TLS)
+TEXT ·Y__towrite_needs_stdio_exit(SB),$8-8
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ size+8(FP), AX
- MOVQ AX, 8(SP)
- CALL ·X__builtin_malloc(SB)
- MOVQ 16(SP), AX
- MOVQ AX, ret+16(FP)
+ CALL ·X__towrite_needs_stdio_exit(SB)
RET
-// func Y__builtin_memcmp(t *TLS, s1, s2 uintptr, n Tsize_t) int32
-TEXT ·Y__builtin_memcmp(SB),$40-36
+// func Y__towupper_l(tls *TLS, c Twint_t, l Tlocale_t) (r Twint_t)
+TEXT ·Y__towupper_l(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ s1+8(FP), AX
- MOVQ AX, 8(SP)
- MOVQ s2+16(FP), AX
+ MOVL c+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ l+16(FP), AX
MOVQ AX, 16(SP)
- MOVQ n+24(FP), AX
- MOVQ AX, 24(SP)
- CALL ·X__builtin_memcmp(SB)
- MOVL 32(SP), AX
- MOVL AX, ret+32(FP)
+ CALL ·X__towupper_l(SB)
+ MOVL 24(SP), AX
+ MOVL AX, r+24(FP)
RET
-// func Y__builtin_memcpy(t *TLS, dest, src uintptr, n Tsize_t) (r uintptr)
-TEXT ·Y__builtin_memcpy(SB),$40-40
+// func Y__tre_mem_alloc_impl(tls *TLS, mem Ttre_mem_t, provided int32, provided_block uintptr, zero int32, size Tsize_t) (r uintptr)
+TEXT ·Y__tre_mem_alloc_impl(SB),$56-56
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ dest+8(FP), AX
+ MOVQ mem+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ src+16(FP), AX
- MOVQ AX, 16(SP)
- MOVQ n+24(FP), AX
+ MOVL provided+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVQ provided_block+24(FP), AX
MOVQ AX, 24(SP)
- CALL ·X__builtin_memcpy(SB)
- MOVQ 32(SP), AX
- MOVQ AX, r+32(FP)
+ MOVL zero+32(FP), AX
+ MOVL AX, 32(SP)
+ MOVQ size+40(FP), AX
+ MOVQ AX, 40(SP)
+ CALL ·X__tre_mem_alloc_impl(SB)
+ MOVQ 48(SP), AX
+ MOVQ AX, r+48(FP)
RET
-// func Y__builtin_memset(t *TLS, s uintptr, c int32, n Tsize_t) uintptr
-TEXT ·Y__builtin_memset(SB),$40-40
+// func Y__tre_mem_destroy(tls *TLS, mem Ttre_mem_t)
+TEXT ·Y__tre_mem_destroy(SB),$16-16
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ s+8(FP), AX
+ MOVQ mem+8(FP), AX
MOVQ AX, 8(SP)
- MOVL c+16(FP), AX
- MOVL AX, 16(SP)
- MOVQ n+24(FP), AX
- MOVQ AX, 24(SP)
- CALL ·X__builtin_memset(SB)
- MOVQ 32(SP), AX
- MOVQ AX, ret+32(FP)
+ CALL ·X__tre_mem_destroy(SB)
RET
-// func Y__builtin_mmap(t *TLS, addr uintptr, length Tsize_t, prot, flags, fd int32, offset Toff_t) uintptr
-TEXT ·Y__builtin_mmap(SB),$56-56
+// func Y__tre_mem_new_impl(tls *TLS, provided int32, provided_block uintptr) (r Ttre_mem_t)
+TEXT ·Y__tre_mem_new_impl(SB),$32-32
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ addr+8(FP), AX
- MOVQ AX, 8(SP)
- MOVQ length+16(FP), AX
+ MOVL provided+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ provided_block+16(FP), AX
MOVQ AX, 16(SP)
- MOVL prot+24(FP), AX
- MOVL AX, 24(SP)
- MOVL flags+28(FP), AX
- MOVL AX, 28(SP)
- MOVL fd+32(FP), AX
- MOVL AX, 32(SP)
- MOVQ offset+40(FP), AX
- MOVQ AX, 40(SP)
- CALL ·X__builtin_mmap(SB)
- MOVQ 48(SP), AX
- MOVQ AX, ret+48(FP)
+ CALL ·X__tre_mem_new_impl(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
RET
-// func Y__builtin_mul_overflowInt64(t *TLS, a, b int64, res uintptr) int32
-TEXT ·Y__builtin_mul_overflowInt64(SB),$40-36
+// func Y__tsearch_balance(tls *TLS, p uintptr) (r int32)
+TEXT ·Y__tsearch_balance(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ a+8(FP), AX
+ MOVQ p+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ b+16(FP), AX
- MOVQ AX, 16(SP)
- MOVQ res+24(FP), AX
- MOVQ AX, 24(SP)
- CALL ·X__builtin_mul_overflowInt64(SB)
- MOVL 32(SP), AX
- MOVL AX, ret+32(FP)
+ CALL ·X__tsearch_balance(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
RET
-// func Y__builtin_mul_overflowUint128(t *TLS, a, b Uint128, res uintptr) int32
-TEXT ·Y__builtin_mul_overflowUint128(SB),$56-52
+// func Y__uflow(tls *TLS, f uintptr) (r int32)
+TEXT ·Y__uflow(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ a_Lo+8(FP), AX
+ MOVQ f+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ a_Hi+16(FP), AX
- MOVQ AX, 16(SP)
- MOVQ b_Lo+24(FP), AX
- MOVQ AX, 24(SP)
- MOVQ b_Hi+32(FP), AX
- MOVQ AX, 32(SP)
- MOVQ res+40(FP), AX
- MOVQ AX, 40(SP)
- CALL ·X__builtin_mul_overflowUint128(SB)
- MOVL 48(SP), AX
- MOVL AX, ret+48(FP)
+ CALL ·X__uflow(SB)
+ MOVL 16(SP), AX
+ MOVL AX, r+16(FP)
+ RET
+
+// func Y__unlist_locked_file(tls *TLS, f uintptr)
+TEXT ·Y__unlist_locked_file(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ f+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X__unlist_locked_file(SB)
RET
-// func Y__builtin_mul_overflowUint64(t *TLS, a, b uint64, res uintptr) int32
-TEXT ·Y__builtin_mul_overflowUint64(SB),$40-36
+// func Y__unlockfile(tls *TLS, file uintptr)
+TEXT ·Y__unlockfile(SB),$16-16
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ a+8(FP), AX
+ MOVQ file+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ b+16(FP), AX
- MOVQ AX, 16(SP)
- MOVQ res+24(FP), AX
- MOVQ AX, 24(SP)
- CALL ·X__builtin_mul_overflowUint64(SB)
- MOVL 32(SP), AX
- MOVL AX, ret+32(FP)
+ CALL ·X__unlockfile(SB)
RET
-// func Y__builtin_nan(t *TLS, s uintptr) float64
-TEXT ·Y__builtin_nan(SB),$24-24
+// func Y__uselocale(tls *TLS, new1 Tlocale_t) (r Tlocale_t)
+TEXT ·Y__uselocale(SB),$24-24
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ s+8(FP), AX
+ MOVQ new1+8(FP), AX
MOVQ AX, 8(SP)
- CALL ·X__builtin_nan(SB)
+ CALL ·X__uselocale(SB)
MOVQ 16(SP), AX
- MOVQ AX, ret+16(FP)
+ MOVQ AX, r+16(FP)
RET
-// func Y__builtin_nanf(tls *TLS, s uintptr) float32
-TEXT ·Y__builtin_nanf(SB),$24-20
+// func Y__vm_wait(tls *TLS)
+TEXT ·Y__vm_wait(SB),$8-8
GO_ARGS
NO_LOCAL_POINTERS
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ s+8(FP), AX
- MOVQ AX, 8(SP)
- CALL ·X__builtin_nanf(SB)
- MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ CALL ·X__vm_wait(SB)
RET
-// func Y__builtin_nanl(t *TLS, s uintptr) float64
-TEXT ·Y__builtin_nanl(SB),$24-24
+// func Y__wcscoll_l(tls *TLS, l uintptr, r uintptr, locale Tlocale_t) (r1 int32)
+TEXT ·Y__wcscoll_l(SB),$40-36
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ s+8(FP), AX
+ MOVQ l+8(FP), AX
MOVQ AX, 8(SP)
- CALL ·X__builtin_nanl(SB)
- MOVQ 16(SP), AX
- MOVQ AX, ret+16(FP)
+ MOVQ r+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ locale+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X__wcscoll_l(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r1+32(FP)
RET
-// func Y__builtin_object_size(t *TLS, p uintptr, typ int32) Tsize_t
-TEXT ·Y__builtin_object_size(SB),$32-32
+// func Y__wcsftime_l(tls *TLS, s uintptr, n Tsize_t, f uintptr, tm uintptr, loc Tlocale_t) (r Tsize_t)
+TEXT ·Y__wcsftime_l(SB),$56-56
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ p+8(FP), AX
+ MOVQ s+8(FP), AX
MOVQ AX, 8(SP)
- MOVL typ+16(FP), AX
- MOVL AX, 16(SP)
- CALL ·X__builtin_object_size(SB)
- MOVQ 24(SP), AX
- MOVQ AX, ret+24(FP)
+ MOVQ n+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ f+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ tm+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVQ loc+40(FP), AX
+ MOVQ AX, 40(SP)
+ CALL ·X__wcsftime_l(SB)
+ MOVQ 48(SP), AX
+ MOVQ AX, r+48(FP)
RET
-// func Y__builtin_popcount(t *TLS, x uint32) int32
-TEXT ·Y__builtin_popcount(SB),$24-20
+// func Y__wcsxfrm_l(tls *TLS, dest uintptr, src uintptr, n Tsize_t, loc Tlocale_t) (r Tsize_t)
+TEXT ·Y__wcsxfrm_l(SB),$48-48
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVL x+8(FP), AX
- MOVL AX, 8(SP)
- CALL ·X__builtin_popcount(SB)
- MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVQ dest+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ src+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ n+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ loc+32(FP), AX
+ MOVQ AX, 32(SP)
+ CALL ·X__wcsxfrm_l(SB)
+ MOVQ 40(SP), AX
+ MOVQ AX, r+40(FP)
RET
-// func Y__builtin_popcountl(t *TLS, x ulong) int32
-TEXT ·Y__builtin_popcountl(SB),$24-20
+// func Y__wctrans_l(tls *TLS, s uintptr, l Tlocale_t) (r Twctrans_t)
+TEXT ·Y__wctrans_l(SB),$32-32
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ x+8(FP), AX
+ MOVQ s+8(FP), AX
MOVQ AX, 8(SP)
- CALL ·X__builtin_popcountl(SB)
- MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVQ l+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__wctrans_l(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
RET
-// func Y__builtin_prefetch(t *TLS, addr, args uintptr)
-TEXT ·Y__builtin_prefetch(SB),$24-24
+// func Y__wctype_l(tls *TLS, s uintptr, l Tlocale_t) (r Twctype_t)
+TEXT ·Y__wctype_l(SB),$32-32
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ addr+8(FP), AX
+ MOVQ s+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ args+16(FP), AX
+ MOVQ l+16(FP), AX
MOVQ AX, 16(SP)
- CALL ·X__builtin_prefetch(SB)
+ CALL ·X__wctype_l(SB)
+ MOVQ 24(SP), AX
+ MOVQ AX, r+24(FP)
RET
-// func Y__builtin_printf(tls *TLS, fmt uintptr, va uintptr) (r int32)
-TEXT ·Y__builtin_printf(SB),$32-28
+// func Y__xmknod(tls *TLS, ver int32, path uintptr, mode Tmode_t, dev uintptr) (r int32)
+TEXT ·Y__xmknod(SB),$48-44
GO_ARGS
NO_LOCAL_POINTERS
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ fmt+8(FP), AX
- MOVQ AX, 8(SP)
- MOVQ va+16(FP), AX
+ MOVL ver+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ path+16(FP), AX
MOVQ AX, 16(SP)
- CALL ·X__builtin_printf(SB)
- MOVL 24(SP), AX
- MOVL AX, r+24(FP)
+ MOVL mode+24(FP), AX
+ MOVL AX, 24(SP)
+ MOVQ dev+32(FP), AX
+ MOVQ AX, 32(SP)
+ CALL ·X__xmknod(SB)
+ MOVL 40(SP), AX
+ MOVL AX, r+40(FP)
RET
-// func Y__builtin_rintf(tls *TLS, x float32) (r float32)
-TEXT ·Y__builtin_rintf(SB),$24-20
+// func Y__xmknodat(tls *TLS, ver int32, fd int32, path uintptr, mode Tmode_t, dev uintptr) (r int32)
+TEXT ·Y__xmknodat(SB),$48-44
GO_ARGS
NO_LOCAL_POINTERS
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVL x+8(FP), AX
+ MOVL ver+8(FP), AX
MOVL AX, 8(SP)
- CALL ·X__builtin_rintf(SB)
- MOVL 16(SP), AX
- MOVL AX, r+16(FP)
+ MOVL fd+12(FP), AX
+ MOVL AX, 12(SP)
+ MOVQ path+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL mode+24(FP), AX
+ MOVL AX, 24(SP)
+ MOVQ dev+32(FP), AX
+ MOVQ AX, 32(SP)
+ CALL ·X__xmknodat(SB)
+ MOVL 40(SP), AX
+ MOVL AX, r+40(FP)
RET
-// func Y__builtin_round(tls *TLS, x float64) (r float64)
-TEXT ·Y__builtin_round(SB),$24-24
+// func Y__xpg_basename(tls *TLS, s uintptr) (r uintptr)
+TEXT ·Y__xpg_basename(SB),$24-24
GO_ARGS
NO_LOCAL_POINTERS
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ x+8(FP), AX
+ MOVQ s+8(FP), AX
MOVQ AX, 8(SP)
- CALL ·X__builtin_round(SB)
+ CALL ·X__xpg_basename(SB)
MOVQ 16(SP), AX
MOVQ AX, r+16(FP)
RET
-// func Y__builtin_roundf(tls *TLS, x float32) (r float32)
-TEXT ·Y__builtin_roundf(SB),$24-20
+// func Y__xpg_strerror_r(tls *TLS, err int32, buf uintptr, buflen Tsize_t) (r int32)
+TEXT ·Y__xpg_strerror_r(SB),$40-36
GO_ARGS
NO_LOCAL_POINTERS
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVL x+8(FP), AX
+ MOVL err+8(FP), AX
MOVL AX, 8(SP)
- CALL ·X__builtin_roundf(SB)
- MOVL 16(SP), AX
- MOVL AX, r+16(FP)
- RET
-
-// func Y__builtin_snprintf(t *TLS, str uintptr, size Tsize_t, format, args uintptr) int32
-TEXT ·Y__builtin_snprintf(SB),$48-44
- GO_ARGS
- NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
- MOVQ AX, 0(SP)
- MOVQ str+8(FP), AX
- MOVQ AX, 8(SP)
- MOVQ size+16(FP), AX
+ MOVQ buf+16(FP), AX
MOVQ AX, 16(SP)
- MOVQ format+24(FP), AX
+ MOVQ buflen+24(FP), AX
MOVQ AX, 24(SP)
- MOVQ args+32(FP), AX
- MOVQ AX, 32(SP)
- CALL ·X__builtin_snprintf(SB)
- MOVL 40(SP), AX
- MOVL AX, ret+40(FP)
+ CALL ·X__xpg_strerror_r(SB)
+ MOVL 32(SP), AX
+ MOVL AX, r+32(FP)
RET
-// func Y__builtin_sprintf(t *TLS, str, format, args uintptr) (r int32)
-TEXT ·Y__builtin_sprintf(SB),$40-36
+// func Y__xstat(tls *TLS, ver int32, path uintptr, buf uintptr) (r int32)
+TEXT ·Y__xstat(SB),$40-36
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ str+8(FP), AX
- MOVQ AX, 8(SP)
- MOVQ format+16(FP), AX
+ MOVL ver+8(FP), AX
+ MOVL AX, 8(SP)
+ MOVQ path+16(FP), AX
MOVQ AX, 16(SP)
- MOVQ args+24(FP), AX
+ MOVQ buf+24(FP), AX
MOVQ AX, 24(SP)
- CALL ·X__builtin_sprintf(SB)
+ CALL ·X__xstat(SB)
MOVL 32(SP), AX
MOVL AX, r+32(FP)
RET
-// func Y__builtin_strchr(t *TLS, s uintptr, c int32) uintptr
-TEXT ·Y__builtin_strchr(SB),$32-32
+// func Y__year_to_secs(tls *TLS, year int64, is_leap uintptr) (r int64)
+TEXT ·Y__year_to_secs(SB),$32-32
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ s+8(FP), AX
+ MOVQ year+8(FP), AX
MOVQ AX, 8(SP)
- MOVL c+16(FP), AX
- MOVL AX, 16(SP)
- CALL ·X__builtin_strchr(SB)
+ MOVQ is_leap+16(FP), AX
+ MOVQ AX, 16(SP)
+ CALL ·X__year_to_secs(SB)
MOVQ 24(SP), AX
- MOVQ AX, ret+24(FP)
+ MOVQ AX, r+24(FP)
RET
-// func Y__builtin_strcmp(t *TLS, s1, s2 uintptr) int32
-TEXT ·Y__builtin_strcmp(SB),$32-28
+// func Y_exit(tls *TLS, status int32)
+TEXT ·Y_exit(SB),$16-12
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ s1+8(FP), AX
- MOVQ AX, 8(SP)
- MOVQ s2+16(FP), AX
- MOVQ AX, 16(SP)
- CALL ·X__builtin_strcmp(SB)
- MOVL 24(SP), AX
- MOVL AX, ret+24(FP)
+ MOVL status+8(FP), AX
+ MOVL AX, 8(SP)
+ CALL ·X_exit(SB)
RET
-// func Y__builtin_strcpy(t *TLS, dest, src uintptr) uintptr
-TEXT ·Y__builtin_strcpy(SB),$32-32
+// func Y_flushlbf(tls *TLS)
+TEXT ·Y_flushlbf(SB),$8-8
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ dest+8(FP), AX
- MOVQ AX, 8(SP)
- MOVQ src+16(FP), AX
- MOVQ AX, 16(SP)
- CALL ·X__builtin_strcpy(SB)
- MOVQ 24(SP), AX
- MOVQ AX, ret+24(FP)
+ CALL ·X_flushlbf(SB)
RET
-// func Y__builtin_strlen(t *TLS, s uintptr) Tsize_t
-TEXT ·Y__builtin_strlen(SB),$24-24
+// func Y_longjmp(t *TLS, env uintptr, val int32)
+TEXT ·Y_longjmp(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
MOVQ t+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ s+8(FP), AX
+ MOVQ env+8(FP), AX
MOVQ AX, 8(SP)
- CALL ·X__builtin_strlen(SB)
- MOVQ 16(SP), AX
- MOVQ AX, ret+16(FP)
+ MOVL val+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X_longjmp(SB)
RET
-// func Y__builtin_sub_overflowInt64(t *TLS, a, b int64, res uintptr) int32
-TEXT ·Y__builtin_sub_overflowInt64(SB),$40-36
+// func Y_obstack_begin(t *TLS, obstack uintptr, size, alignment int32, chunkfun, freefun uintptr) (_4 int32)
+TEXT ·Y_obstack_begin(SB),$48-44
GO_ARGS
NO_LOCAL_POINTERS
MOVQ t+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ a+8(FP), AX
+ MOVQ obstack+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ b+16(FP), AX
- MOVQ AX, 16(SP)
- MOVQ res+24(FP), AX
+ MOVL size+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL alignment+20(FP), AX
+ MOVL AX, 20(SP)
+ MOVQ chunkfun+24(FP), AX
MOVQ AX, 24(SP)
- CALL ·X__builtin_sub_overflowInt64(SB)
- MOVL 32(SP), AX
- MOVL AX, ret+32(FP)
+ MOVQ freefun+32(FP), AX
+ MOVQ AX, 32(SP)
+ CALL ·X_obstack_begin(SB)
+ MOVL 40(SP), AX
+ MOVL AX, _4+40(FP)
RET
-// func Y__builtin_trap(t *TLS)
-TEXT ·Y__builtin_trap(SB),$8-8
+// func Y_obstack_newchunk(t *TLS, obstack uintptr, length int32) (_3 int32)
+TEXT ·Y_obstack_newchunk(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
MOVQ t+0(FP), AX
MOVQ AX, 0(SP)
- CALL ·X__builtin_trap(SB)
+ MOVQ obstack+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL length+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X_obstack_newchunk(SB)
+ MOVL 24(SP), AX
+ MOVL AX, _3+24(FP)
RET
-// func Y__builtin_trunc(tls *TLS, x float64) (r float64)
-TEXT ·Y__builtin_trunc(SB),$24-24
+// func Y_pthread_cleanup_pop(tls *TLS, _ uintptr, run int32)
+TEXT ·Y_pthread_cleanup_pop(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ x+8(FP), AX
+ MOVQ _+8(FP), AX
MOVQ AX, 8(SP)
- CALL ·X__builtin_trunc(SB)
- MOVQ 16(SP), AX
- MOVQ AX, r+16(FP)
+ MOVL run+16(FP), AX
+ MOVL AX, 16(SP)
+ CALL ·X_pthread_cleanup_pop(SB)
RET
-// func Y__builtin_unreachable(t *TLS)
-TEXT ·Y__builtin_unreachable(SB),$8-8
+// func Y_pthread_cleanup_push(tls *TLS, _, f, x uintptr)
+TEXT ·Y_pthread_cleanup_push(SB),$32-32
GO_ARGS
NO_LOCAL_POINTERS
- MOVQ t+0(FP), AX
+ MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- CALL ·X__builtin_unreachable(SB)
+ MOVQ _+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ f+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ x+24(FP), AX
+ MOVQ AX, 24(SP)
+ CALL ·X_pthread_cleanup_push(SB)
RET
-// func Y__builtin_vsnprintf(t *TLS, str uintptr, size Tsize_t, format, va uintptr) int32
-TEXT ·Y__builtin_vsnprintf(SB),$48-44
+// func Y_setjmp(t *TLS, env uintptr) (_2 int32)
+TEXT ·Y_setjmp(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
MOVQ t+0(FP), AX
- MOVQ AX, 0(SP)
- MOVQ str+8(FP), AX
- MOVQ AX, 8(SP)
- MOVQ size+16(FP), AX
- MOVQ AX, 16(SP)
- MOVQ format+24(FP), AX
- MOVQ AX, 24(SP)
- MOVQ va+32(FP), AX
- MOVQ AX, 32(SP)
- CALL ·X__builtin_vsnprintf(SB)
- MOVL 40(SP), AX
- MOVL AX, ret+40(FP)
+ MOVQ AX, 0(SP)
+ MOVQ env+8(FP), AX
+ MOVQ AX, 8(SP)
+ CALL ·X_setjmp(SB)
+ MOVL 16(SP), AX
+ MOVL AX, _2+16(FP)
RET
// func Ya64l(tls *TLS, s uintptr) (r int64)
@@ -1494,7 +8765,7 @@ TEXT ·Yalarm(SB),$24-20
MOVL AX, r+16(FP)
RET
-// func Yalloca(tls *TLS, size Tsize_t) uintptr
+// func Yalloca(tls *TLS, size Tsize_t) (_2 uintptr)
TEXT ·Yalloca(SB),$24-24
GO_ARGS
NO_LOCAL_POINTERS
@@ -1504,7 +8775,7 @@ TEXT ·Yalloca(SB),$24-24
MOVQ AX, 8(SP)
CALL ·Xalloca(SB)
MOVQ 16(SP), AX
- MOVQ AX, ret+16(FP)
+ MOVQ AX, _2+16(FP)
RET
// func Yalphasort(tls *TLS, a uintptr, b uintptr) (r int32)
@@ -1660,17 +8931,45 @@ TEXT ·Yasprintf(SB),$40-36
MOVL AX, r+32(FP)
RET
-// func Yat_quick_exit(tls *TLS, func1 uintptr) (r1 int32)
-TEXT ·Yat_quick_exit(SB),$24-20
+// func Yat_quick_exit(tls *TLS, __ccgo_fp_func uintptr) (r1 int32)
+TEXT ·Yat_quick_exit(SB),$32-20
GO_ARGS
NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX // alloc all ABI trampolines
+ MOVQ AX, 0(SP)
+ MOVQ $16, 8(SP) // 16*(number of func ptrs in signature)
+ CALL modernc·org∕libc·TLSAlloc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, -8(BP) // Trampolines[0]
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ -8(BP), AX
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp_func+8(FP), AX // ABI0 code ptr
+ MOVQ AX, 16(SP)
+ CALL ·__ccgo_abiInternal_at_quick_exit_0(SB) // Create the closure for calling __ccgo_fp_func
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
- MOVQ func1+8(FP), AX
+ MOVQ -8(BP), AX // Trampolines[0]
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
MOVQ AX, 8(SP)
CALL ·Xat_quick_exit(SB)
MOVL 16(SP), AX
MOVL AX, r1+16(FP)
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ $0, 8(SP)
+ CALL modernc·org∕libc·TLSFree(SB)
+ RET
+
+TEXT ·__ccgo_abi0_at_quick_exit_0(SB),$16-16
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ _0+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ __ccgo_fp+8(FP), AX
+ CALL *AX // Call the ABI0 code ptr
RET
// func Yatan(tls *TLS, x3 float64) (r float64)
@@ -1861,7 +9160,7 @@ TEXT ·Yatoll(SB),$24-24
MOVQ AX, r+16(FP)
RET
-// func Ybacktrace(t *TLS, buf uintptr, size int32) int32
+// func Ybacktrace(t *TLS, buf uintptr, size int32) (_3 int32)
TEXT ·Ybacktrace(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
@@ -1873,7 +9172,7 @@ TEXT ·Ybacktrace(SB),$32-28
MOVL AX, 16(SP)
CALL ·Xbacktrace(SB)
MOVL 24(SP), AX
- MOVL AX, ret+24(FP)
+ MOVL AX, _3+24(FP)
RET
// func Ybacktrace_symbols_fd(t *TLS, buffer uintptr, size, fd int32)
@@ -1996,10 +9295,24 @@ TEXT ·Ybrk(SB),$24-20
MOVL AX, r+16(FP)
RET
-// func Ybsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, cmp uintptr) (r uintptr)
-TEXT ·Ybsearch(SB),$56-56
+// func Ybsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp uintptr) (r uintptr)
+TEXT ·Ybsearch(SB),$64-56
GO_ARGS
NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX // alloc all ABI trampolines
+ MOVQ AX, 0(SP)
+ MOVQ $16, 8(SP) // 16*(number of func ptrs in signature)
+ CALL modernc·org∕libc·TLSAlloc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, -8(BP) // Trampolines[0]
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ -8(BP), AX
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp_cmp+40(FP), AX // ABI0 code ptr
+ MOVQ AX, 16(SP)
+ CALL ·__ccgo_abiInternal_bsearch_4(SB) // Create the closure for calling __ccgo_fp_cmp
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
MOVQ key+8(FP), AX
@@ -2010,11 +9323,31 @@ TEXT ·Ybsearch(SB),$56-56
MOVQ AX, 24(SP)
MOVQ width+32(FP), AX
MOVQ AX, 32(SP)
- MOVQ cmp+40(FP), AX
+ MOVQ -8(BP), AX // Trampolines[0]
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
MOVQ AX, 40(SP)
CALL ·Xbsearch(SB)
MOVQ 48(SP), AX
MOVQ AX, r+48(FP)
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ $0, 8(SP)
+ CALL modernc·org∕libc·TLSFree(SB)
+ RET
+
+TEXT ·__ccgo_abi0_bsearch_4(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ _0+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ _1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ _2+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ __ccgo_fp+24(FP), AX
+ CALL *AX // Call the ABI0 code ptr
+ MOVL 24(SP), AX
+ MOVL AX, _3+32(FP)
RET
// func Ybtowc(tls *TLS, c int32) (r Twint_t)
@@ -4077,7 +11410,7 @@ TEXT ·Ydiv(SB),$24-24
MOVL AX, r_Frem+20(FP)
RET
-// func Ydlclose(t *TLS, handle uintptr) int32
+// func Ydlclose(t *TLS, handle uintptr) (_2 int32)
TEXT ·Ydlclose(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -4087,10 +11420,10 @@ TEXT ·Ydlclose(SB),$24-20
MOVQ AX, 8(SP)
CALL ·Xdlclose(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
-// func Ydlerror(t *TLS) uintptr
+// func Ydlerror(t *TLS) (_1 uintptr)
TEXT ·Ydlerror(SB),$16-16
GO_ARGS
NO_LOCAL_POINTERS
@@ -4098,10 +11431,10 @@ TEXT ·Ydlerror(SB),$16-16
MOVQ AX, 0(SP)
CALL ·Xdlerror(SB)
MOVQ 8(SP), AX
- MOVQ AX, ret+8(FP)
+ MOVQ AX, _1+8(FP)
RET
-// func Ydlopen(t *TLS, filename uintptr, flags int32) uintptr
+// func Ydlopen(t *TLS, filename uintptr, flags int32) (_3 uintptr)
TEXT ·Ydlopen(SB),$32-32
GO_ARGS
NO_LOCAL_POINTERS
@@ -4113,10 +11446,10 @@ TEXT ·Ydlopen(SB),$32-32
MOVL AX, 16(SP)
CALL ·Xdlopen(SB)
MOVQ 24(SP), AX
- MOVQ AX, ret+24(FP)
+ MOVQ AX, _3+24(FP)
RET
-// func Ydlsym(t *TLS, handle, symbol uintptr) uintptr
+// func Ydlsym(t *TLS, handle, symbol uintptr) (_2 uintptr)
TEXT ·Ydlsym(SB),$32-32
GO_ARGS
NO_LOCAL_POINTERS
@@ -4128,7 +11461,7 @@ TEXT ·Ydlsym(SB),$32-32
MOVQ AX, 16(SP)
CALL ·Xdlsym(SB)
MOVQ 24(SP), AX
- MOVQ AX, ret+24(FP)
+ MOVQ AX, _2+24(FP)
RET
// func Ydn_comp(tls *TLS, src uintptr, dst uintptr, space int32, dnptrs uintptr, lastdnptr uintptr) (r int32)
@@ -6305,7 +13638,7 @@ TEXT ·Yfopencookie(SB),$64-64
MOVQ AX, r+56(FP)
RET
-// func Yfork(t *TLS) int32
+// func Yfork(t *TLS) (_1 int32)
TEXT ·Yfork(SB),$16-12
GO_ARGS
NO_LOCAL_POINTERS
@@ -6313,7 +13646,7 @@ TEXT ·Yfork(SB),$16-12
MOVQ AX, 0(SP)
CALL ·Xfork(SB)
MOVL 8(SP), AX
- MOVL AX, ret+8(FP)
+ MOVL AX, _1+8(FP)
RET
// func Yfpathconf(tls *TLS, fd int32, name int32) (r int64)
@@ -6916,7 +14249,7 @@ TEXT ·Yftrylockfile(SB),$24-20
MOVL AX, r+16(FP)
RET
-// func Yfts64_close(t *TLS, ftsp uintptr) int32
+// func Yfts64_close(t *TLS, ftsp uintptr) (_2 int32)
TEXT ·Yfts64_close(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -6926,10 +14259,10 @@ TEXT ·Yfts64_close(SB),$24-20
MOVQ AX, 8(SP)
CALL ·Xfts64_close(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
-// func Yfts64_open(t *TLS, path_argv uintptr, options int32, compar uintptr) uintptr
+// func Yfts64_open(t *TLS, path_argv uintptr, options int32, compar uintptr) (_4 uintptr)
TEXT ·Yfts64_open(SB),$40-40
GO_ARGS
NO_LOCAL_POINTERS
@@ -6943,10 +14276,10 @@ TEXT ·Yfts64_open(SB),$40-40
MOVQ AX, 24(SP)
CALL ·Xfts64_open(SB)
MOVQ 32(SP), AX
- MOVQ AX, ret+32(FP)
+ MOVQ AX, _4+32(FP)
RET
-// func Yfts64_read(t *TLS, ftsp uintptr) uintptr
+// func Yfts64_read(t *TLS, ftsp uintptr) (_2 uintptr)
TEXT ·Yfts64_read(SB),$24-24
GO_ARGS
NO_LOCAL_POINTERS
@@ -6956,10 +14289,10 @@ TEXT ·Yfts64_read(SB),$24-24
MOVQ AX, 8(SP)
CALL ·Xfts64_read(SB)
MOVQ 16(SP), AX
- MOVQ AX, ret+16(FP)
+ MOVQ AX, _2+16(FP)
RET
-// func Yfts_close(t *TLS, ftsp uintptr) int32
+// func Yfts_close(t *TLS, ftsp uintptr) (_2 int32)
TEXT ·Yfts_close(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -6969,10 +14302,10 @@ TEXT ·Yfts_close(SB),$24-20
MOVQ AX, 8(SP)
CALL ·Xfts_close(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
-// func Yfts_open(t *TLS, path_argv uintptr, options int32, compar uintptr) uintptr
+// func Yfts_open(t *TLS, path_argv uintptr, options int32, compar uintptr) (_4 uintptr)
TEXT ·Yfts_open(SB),$40-40
GO_ARGS
NO_LOCAL_POINTERS
@@ -6986,10 +14319,10 @@ TEXT ·Yfts_open(SB),$40-40
MOVQ AX, 24(SP)
CALL ·Xfts_open(SB)
MOVQ 32(SP), AX
- MOVQ AX, ret+32(FP)
+ MOVQ AX, _4+32(FP)
RET
-// func Yfts_read(t *TLS, ftsp uintptr) uintptr
+// func Yfts_read(t *TLS, ftsp uintptr) (_2 uintptr)
TEXT ·Yfts_read(SB),$24-24
GO_ARGS
NO_LOCAL_POINTERS
@@ -6999,24 +14332,60 @@ TEXT ·Yfts_read(SB),$24-24
MOVQ AX, 8(SP)
CALL ·Xfts_read(SB)
MOVQ 16(SP), AX
- MOVQ AX, ret+16(FP)
+ MOVQ AX, _2+16(FP)
RET
-// func Yftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32) (r int32)
-TEXT ·Yftw(SB),$40-36
+// func Yftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32) (r int32)
+TEXT ·Yftw(SB),$48-36
GO_ARGS
NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX // alloc all ABI trampolines
+ MOVQ AX, 0(SP)
+ MOVQ $16, 8(SP) // 16*(number of func ptrs in signature)
+ CALL modernc·org∕libc·TLSAlloc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, -8(BP) // Trampolines[0]
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ -8(BP), AX
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp_fn+16(FP), AX // ABI0 code ptr
+ MOVQ AX, 16(SP)
+ CALL ·__ccgo_abiInternal_ftw_1(SB) // Create the closure for calling __ccgo_fp_fn
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
MOVQ path+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ fn+16(FP), AX
+ MOVQ -8(BP), AX // Trampolines[0]
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
MOVQ AX, 16(SP)
MOVL fd_limit+24(FP), AX
MOVL AX, 24(SP)
CALL ·Xftw(SB)
MOVL 32(SP), AX
MOVL AX, r+32(FP)
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ $0, 8(SP)
+ CALL modernc·org∕libc·TLSFree(SB)
+ RET
+
+TEXT ·__ccgo_abi0_ftw_1(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ _0+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ _1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ _2+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _3+24(FP), AX
+ MOVL AX, 24(SP)
+ MOVQ __ccgo_fp+32(FP), AX
+ CALL *AX // Call the ABI0 code ptr
+ MOVL 32(SP), AX
+ MOVL AX, _4+40(FP)
RET
// func Yfunlockfile(tls *TLS, f uintptr)
@@ -8650,23 +16019,57 @@ TEXT ·Ygetxattr(SB),$48-48
MOVQ AX, r+40(FP)
RET
-// func Yglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g_ uintptr) (r int32)
-TEXT ·Yglob(SB),$48-44
+// func Yglob(tls *TLS, pat uintptr, flags int32, __ccgo_fp_errfunc uintptr, g_ uintptr) (r int32)
+TEXT ·Yglob(SB),$56-44
GO_ARGS
NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX // alloc all ABI trampolines
+ MOVQ AX, 0(SP)
+ MOVQ $16, 8(SP) // 16*(number of func ptrs in signature)
+ CALL modernc·org∕libc·TLSAlloc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, -8(BP) // Trampolines[0]
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ -8(BP), AX
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp_errfunc+24(FP), AX // ABI0 code ptr
+ MOVQ AX, 16(SP)
+ CALL ·__ccgo_abiInternal_glob_2(SB) // Create the closure for calling __ccgo_fp_errfunc
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
MOVQ pat+8(FP), AX
MOVQ AX, 8(SP)
MOVL flags+16(FP), AX
MOVL AX, 16(SP)
- MOVQ errfunc+24(FP), AX
+ MOVQ -8(BP), AX // Trampolines[0]
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
MOVQ AX, 24(SP)
MOVQ g_+32(FP), AX
MOVQ AX, 32(SP)
CALL ·Xglob(SB)
MOVL 40(SP), AX
MOVL AX, r+40(FP)
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ $0, 8(SP)
+ CALL modernc·org∕libc·TLSFree(SB)
+ RET
+
+TEXT ·__ccgo_abi0_glob_2(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ _0+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ _1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL _2+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVQ __ccgo_fp+24(FP), AX
+ CALL *AX // Call the ABI0 code ptr
+ MOVL 24(SP), AX
+ MOVL AX, _3+32(FP)
RET
// func Yglobfree(tls *TLS, g_ uintptr)
@@ -9218,7 +16621,7 @@ TEXT ·Yinitstate(SB),$40-40
MOVQ AX, r+32(FP)
RET
-// func Yinitstate_r(t *TLS, seed uint32, statebuf uintptr, statelen Tsize_t, buf uintptr) int32
+// func Yinitstate_r(t *TLS, seed uint32, statebuf uintptr, statelen Tsize_t, buf uintptr) (_5 int32)
TEXT ·Yinitstate_r(SB),$48-44
GO_ARGS
NO_LOCAL_POINTERS
@@ -9234,7 +16637,7 @@ TEXT ·Yinitstate_r(SB),$48-44
MOVQ AX, 32(SP)
CALL ·Xinitstate_r(SB)
MOVL 40(SP), AX
- MOVL AX, ret+40(FP)
+ MOVL AX, _5+40(FP)
RET
// func Yinotify_add_watch(tls *TLS, fd int32, pathname uintptr, mask Tuint32_t) (r int32)
@@ -9588,7 +16991,7 @@ TEXT ·Yislower_l(SB),$32-28
MOVL AX, r+24(FP)
RET
-// func Yisnan(t *TLS, x float64) int32
+// func Yisnan(t *TLS, x float64) (_2 int32)
TEXT ·Yisnan(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -9598,10 +17001,10 @@ TEXT ·Yisnan(SB),$24-20
MOVQ AX, 8(SP)
CALL ·Xisnan(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
-// func Yisnanf(t *TLS, arg float32) int32
+// func Yisnanf(t *TLS, arg float32) (_2 int32)
TEXT ·Yisnanf(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -9611,10 +17014,10 @@ TEXT ·Yisnanf(SB),$24-20
MOVL AX, 8(SP)
CALL ·Xisnanf(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
-// func Yisnanl(t *TLS, arg float64) int32
+// func Yisnanl(t *TLS, arg float64) (_2 int32)
TEXT ·Yisnanl(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -9624,7 +17027,7 @@ TEXT ·Yisnanl(SB),$24-20
MOVQ AX, 8(SP)
CALL ·Xisnanl(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
// func Yisprint(tls *TLS, c int32) (r int32)
@@ -10430,10 +17833,24 @@ TEXT ·Yldiv(SB),$40-40
MOVQ AX, r_Frem+32(FP)
RET
-// func Ylfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr)
-TEXT ·Ylfind(SB),$56-56
+// func Ylfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr)
+TEXT ·Ylfind(SB),$64-56
GO_ARGS
NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX // alloc all ABI trampolines
+ MOVQ AX, 0(SP)
+ MOVQ $16, 8(SP) // 16*(number of func ptrs in signature)
+ CALL modernc·org∕libc·TLSAlloc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, -8(BP) // Trampolines[0]
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ -8(BP), AX
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp_compar+40(FP), AX // ABI0 code ptr
+ MOVQ AX, 16(SP)
+ CALL ·__ccgo_abiInternal_lfind_4(SB) // Create the closure for calling __ccgo_fp_compar
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
MOVQ key+8(FP), AX
@@ -10444,11 +17861,31 @@ TEXT ·Ylfind(SB),$56-56
MOVQ AX, 24(SP)
MOVQ width+32(FP), AX
MOVQ AX, 32(SP)
- MOVQ compar+40(FP), AX
+ MOVQ -8(BP), AX // Trampolines[0]
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
MOVQ AX, 40(SP)
CALL ·Xlfind(SB)
MOVQ 48(SP), AX
MOVQ AX, r+48(FP)
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ $0, 8(SP)
+ CALL modernc·org∕libc·TLSFree(SB)
+ RET
+
+TEXT ·__ccgo_abi0_lfind_4(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ _0+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ _1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ _2+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ __ccgo_fp+24(FP), AX
+ CALL *AX // Call the ABI0 code ptr
+ MOVL 24(SP), AX
+ MOVL AX, _3+32(FP)
RET
// func Ylgamma(tls *TLS, x float64) (r float64)
@@ -11128,10 +18565,24 @@ TEXT ·Ylroundl(SB),$24-24
MOVQ AX, r+16(FP)
RET
-// func Ylsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr)
-TEXT ·Ylsearch(SB),$56-56
+// func Ylsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr)
+TEXT ·Ylsearch(SB),$64-56
GO_ARGS
NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX // alloc all ABI trampolines
+ MOVQ AX, 0(SP)
+ MOVQ $16, 8(SP) // 16*(number of func ptrs in signature)
+ CALL modernc·org∕libc·TLSAlloc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, -8(BP) // Trampolines[0]
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ -8(BP), AX
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp_compar+40(FP), AX // ABI0 code ptr
+ MOVQ AX, 16(SP)
+ CALL ·__ccgo_abiInternal_lsearch_4(SB) // Create the closure for calling __ccgo_fp_compar
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
MOVQ key+8(FP), AX
@@ -11142,11 +18593,31 @@ TEXT ·Ylsearch(SB),$56-56
MOVQ AX, 24(SP)
MOVQ width+32(FP), AX
MOVQ AX, 32(SP)
- MOVQ compar+40(FP), AX
+ MOVQ -8(BP), AX // Trampolines[0]
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
MOVQ AX, 40(SP)
CALL ·Xlsearch(SB)
MOVQ 48(SP), AX
MOVQ AX, r+48(FP)
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ $0, 8(SP)
+ CALL modernc·org∕libc·TLSFree(SB)
+ RET
+
+TEXT ·__ccgo_abi0_lsearch_4(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ _0+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ _1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ _2+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ __ccgo_fp+24(FP), AX
+ CALL *AX // Call the ABI0 code ptr
+ MOVL 24(SP), AX
+ MOVL AX, _3+32(FP)
RET
// func Ylseek(tls *TLS, fd int32, offset Toff_t, whence int32) (r Toff_t)
@@ -12402,15 +19873,30 @@ TEXT ·Ynexttowardl(SB),$32-32
MOVQ AX, r+24(FP)
RET
-// func Ynftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32) (r1 int32)
-TEXT ·Ynftw(SB),$40-36
+// func Ynftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32, flags int32) (r1 int32)
+TEXT ·Ynftw(SB),$48-36
GO_ARGS
NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX // alloc all ABI trampolines
+ MOVQ AX, 0(SP)
+ MOVQ $16, 8(SP) // 16*(number of func ptrs in signature)
+ CALL modernc·org∕libc·TLSAlloc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, -8(BP) // Trampolines[0]
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ -8(BP), AX
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp_fn+16(FP), AX // ABI0 code ptr
+ MOVQ AX, 16(SP)
+ CALL ·__ccgo_abiInternal_nftw_1(SB) // Create the closure for calling __ccgo_fp_fn
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
MOVQ path+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ fn+16(FP), AX
+ MOVQ -8(BP), AX // Trampolines[0]
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
MOVQ AX, 16(SP)
MOVL fd_limit+24(FP), AX
MOVL AX, 24(SP)
@@ -12419,6 +19905,29 @@ TEXT ·Ynftw(SB),$40-36
CALL ·Xnftw(SB)
MOVL 32(SP), AX
MOVL AX, r1+32(FP)
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ $0, 8(SP)
+ CALL modernc·org∕libc·TLSFree(SB)
+ RET
+
+TEXT ·__ccgo_abi0_nftw_1(SB),$56-52
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ _0+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ _1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ _2+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVL _3+24(FP), AX
+ MOVL AX, 24(SP)
+ MOVQ _4+32(FP), AX
+ MOVQ AX, 32(SP)
+ MOVQ __ccgo_fp+40(FP), AX
+ CALL *AX // Call the ABI0 code ptr
+ MOVL 40(SP), AX
+ MOVL AX, _5+48(FP)
RET
// func Yngettext(tls *TLS, msgid1 uintptr, msgid2 uintptr, n uint64) (r uintptr)
@@ -12659,7 +20168,7 @@ TEXT ·Yobstack_free(SB),$24-24
CALL ·Xobstack_free(SB)
RET
-// func Yobstack_vprintf(t *TLS, obstack, template, va uintptr) int32
+// func Yobstack_vprintf(t *TLS, obstack, template, va uintptr) (_2 int32)
TEXT ·Yobstack_vprintf(SB),$40-36
GO_ARGS
NO_LOCAL_POINTERS
@@ -12673,7 +20182,7 @@ TEXT ·Yobstack_vprintf(SB),$40-36
MOVQ AX, 24(SP)
CALL ·Xobstack_vprintf(SB)
MOVL 32(SP), AX
- MOVL AX, ret+32(FP)
+ MOVL AX, _2+32(FP)
RET
// func Yopen(tls *TLS, filename uintptr, flags int32, va uintptr) (r int32)
@@ -12948,7 +20457,7 @@ TEXT ·Ypoll(SB),$40-36
MOVL AX, r+32(FP)
RET
-// func Ypopen(t *TLS, command, type1 uintptr) uintptr
+// func Ypopen(t *TLS, command, type1 uintptr) (_2 uintptr)
TEXT ·Ypopen(SB),$32-32
GO_ARGS
NO_LOCAL_POINTERS
@@ -12960,7 +20469,7 @@ TEXT ·Ypopen(SB),$32-32
MOVQ AX, 16(SP)
CALL ·Xpopen(SB)
MOVQ 24(SP), AX
- MOVQ AX, ret+24(FP)
+ MOVQ AX, _2+24(FP)
RET
// func Yposix_close(tls *TLS, fd int32, flags int32) (r int32)
@@ -13665,7 +21174,7 @@ TEXT ·Ypsignal(SB),$24-24
CALL ·Xpsignal(SB)
RET
-// func Ypthread_atfork(tls *TLS, prepare, parent, child uintptr) int32
+// func Ypthread_atfork(tls *TLS, prepare, parent, child uintptr) (_2 int32)
TEXT ·Ypthread_atfork(SB),$40-36
GO_ARGS
NO_LOCAL_POINTERS
@@ -13679,10 +21188,10 @@ TEXT ·Ypthread_atfork(SB),$40-36
MOVQ AX, 24(SP)
CALL ·Xpthread_atfork(SB)
MOVL 32(SP), AX
- MOVL AX, ret+32(FP)
+ MOVL AX, _2+32(FP)
RET
-// func Ypthread_attr_destroy(tls *TLS, a uintptr) int32
+// func Ypthread_attr_destroy(tls *TLS, a uintptr) (_2 int32)
TEXT ·Ypthread_attr_destroy(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -13692,10 +21201,10 @@ TEXT ·Ypthread_attr_destroy(SB),$24-20
MOVQ AX, 8(SP)
CALL ·Xpthread_attr_destroy(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
-// func Ypthread_attr_getdetachstate(tls *TLS, a uintptr, state uintptr) int32
+// func Ypthread_attr_getdetachstate(tls *TLS, a uintptr, state uintptr) (_3 int32)
TEXT ·Ypthread_attr_getdetachstate(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
@@ -13707,10 +21216,10 @@ TEXT ·Ypthread_attr_getdetachstate(SB),$32-28
MOVQ AX, 16(SP)
CALL ·Xpthread_attr_getdetachstate(SB)
MOVL 24(SP), AX
- MOVL AX, ret+24(FP)
+ MOVL AX, _3+24(FP)
RET
-// func Ypthread_attr_init(tls *TLS, a uintptr) int32
+// func Ypthread_attr_init(tls *TLS, a uintptr) (_2 int32)
TEXT ·Ypthread_attr_init(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -13720,7 +21229,7 @@ TEXT ·Ypthread_attr_init(SB),$24-20
MOVQ AX, 8(SP)
CALL ·Xpthread_attr_init(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
// func Ypthread_attr_setdetachstate(tls *TLS, a uintptr, state int32) (r int32)
@@ -13738,7 +21247,7 @@ TEXT ·Ypthread_attr_setdetachstate(SB),$32-28
MOVL AX, r+24(FP)
RET
-// func Ypthread_attr_setscope(tls *TLS, a uintptr, scope int32) int32
+// func Ypthread_attr_setscope(tls *TLS, a uintptr, scope int32) (_3 int32)
TEXT ·Ypthread_attr_setscope(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
@@ -13750,10 +21259,10 @@ TEXT ·Ypthread_attr_setscope(SB),$32-28
MOVL AX, 16(SP)
CALL ·Xpthread_attr_setscope(SB)
MOVL 24(SP), AX
- MOVL AX, ret+24(FP)
+ MOVL AX, _3+24(FP)
RET
-// func Ypthread_attr_setstacksize(tls *TLS, a uintptr, stacksite Tsize_t) int32
+// func Ypthread_attr_setstacksize(tls *TLS, a uintptr, stacksite Tsize_t) (_3 int32)
TEXT ·Ypthread_attr_setstacksize(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
@@ -13765,7 +21274,7 @@ TEXT ·Ypthread_attr_setstacksize(SB),$32-28
MOVQ AX, 16(SP)
CALL ·Xpthread_attr_setstacksize(SB)
MOVL 24(SP), AX
- MOVL AX, ret+24(FP)
+ MOVL AX, _3+24(FP)
RET
// func Ypthread_cleanup_pop(tls *TLS, run int32)
@@ -13792,7 +21301,7 @@ TEXT ·Ypthread_cleanup_push(SB),$24-24
CALL ·Xpthread_cleanup_push(SB)
RET
-// func Ypthread_cond_broadcast(tls *TLS, c uintptr) int32
+// func Ypthread_cond_broadcast(tls *TLS, c uintptr) (_2 int32)
TEXT ·Ypthread_cond_broadcast(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -13802,10 +21311,10 @@ TEXT ·Ypthread_cond_broadcast(SB),$24-20
MOVQ AX, 8(SP)
CALL ·Xpthread_cond_broadcast(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
-// func Ypthread_cond_destroy(tls *TLS, c uintptr) int32
+// func Ypthread_cond_destroy(tls *TLS, c uintptr) (_2 int32)
TEXT ·Ypthread_cond_destroy(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -13815,10 +21324,10 @@ TEXT ·Ypthread_cond_destroy(SB),$24-20
MOVQ AX, 8(SP)
CALL ·Xpthread_cond_destroy(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
-// func Ypthread_cond_init(tls *TLS, c, a uintptr) int32
+// func Ypthread_cond_init(tls *TLS, c, a uintptr) (_2 int32)
TEXT ·Ypthread_cond_init(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
@@ -13830,10 +21339,10 @@ TEXT ·Ypthread_cond_init(SB),$32-28
MOVQ AX, 16(SP)
CALL ·Xpthread_cond_init(SB)
MOVL 24(SP), AX
- MOVL AX, ret+24(FP)
+ MOVL AX, _2+24(FP)
RET
-// func Ypthread_cond_signal(tls *TLS, c uintptr) int32
+// func Ypthread_cond_signal(tls *TLS, c uintptr) (_2 int32)
TEXT ·Ypthread_cond_signal(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -13843,7 +21352,7 @@ TEXT ·Ypthread_cond_signal(SB),$24-20
MOVQ AX, 8(SP)
CALL ·Xpthread_cond_signal(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
// func Ypthread_cond_timedwait(tls *TLS, c, m, ts uintptr) (r int32)
@@ -13863,7 +21372,7 @@ TEXT ·Ypthread_cond_timedwait(SB),$40-36
MOVL AX, r+32(FP)
RET
-// func Ypthread_cond_wait(tls *TLS, c, m uintptr) int32
+// func Ypthread_cond_wait(tls *TLS, c, m uintptr) (_2 int32)
TEXT ·Ypthread_cond_wait(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
@@ -13875,10 +21384,10 @@ TEXT ·Ypthread_cond_wait(SB),$32-28
MOVQ AX, 16(SP)
CALL ·Xpthread_cond_wait(SB)
MOVL 24(SP), AX
- MOVL AX, ret+24(FP)
+ MOVL AX, _2+24(FP)
RET
-// func Ypthread_create(tls *TLS, res, attrp, entry, arg uintptr) int32
+// func Ypthread_create(tls *TLS, res, attrp, entry, arg uintptr) (_2 int32)
TEXT ·Ypthread_create(SB),$48-44
GO_ARGS
NO_LOCAL_POINTERS
@@ -13894,10 +21403,10 @@ TEXT ·Ypthread_create(SB),$48-44
MOVQ AX, 32(SP)
CALL ·Xpthread_create(SB)
MOVL 40(SP), AX
- MOVL AX, ret+40(FP)
+ MOVL AX, _2+40(FP)
RET
-// func Ypthread_detach(tls *TLS, t uintptr) int32
+// func Ypthread_detach(tls *TLS, t uintptr) (_2 int32)
TEXT ·Ypthread_detach(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -13907,10 +21416,10 @@ TEXT ·Ypthread_detach(SB),$24-20
MOVQ AX, 8(SP)
CALL ·Xpthread_detach(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
-// func Ypthread_equal(tls *TLS, t, u uintptr) int32
+// func Ypthread_equal(tls *TLS, t, u uintptr) (_2 int32)
TEXT ·Ypthread_equal(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
@@ -13922,7 +21431,7 @@ TEXT ·Ypthread_equal(SB),$32-28
MOVQ AX, 16(SP)
CALL ·Xpthread_equal(SB)
MOVL 24(SP), AX
- MOVL AX, ret+24(FP)
+ MOVL AX, _2+24(FP)
RET
// func Ypthread_exit(tls *TLS, result uintptr)
@@ -13936,7 +21445,7 @@ TEXT ·Ypthread_exit(SB),$16-16
CALL ·Xpthread_exit(SB)
RET
-// func Ypthread_getspecific(tls *TLS, k Tpthread_key_t) uintptr
+// func Ypthread_getspecific(tls *TLS, k Tpthread_key_t) (_2 uintptr)
TEXT ·Ypthread_getspecific(SB),$24-24
GO_ARGS
NO_LOCAL_POINTERS
@@ -13946,7 +21455,7 @@ TEXT ·Ypthread_getspecific(SB),$24-24
MOVL AX, 8(SP)
CALL ·Xpthread_getspecific(SB)
MOVQ 16(SP), AX
- MOVQ AX, ret+16(FP)
+ MOVQ AX, _2+16(FP)
RET
// func Ypthread_join(tls *TLS, t Tpthread_t, res uintptr) (r int32)
@@ -13964,7 +21473,7 @@ TEXT ·Ypthread_join(SB),$32-28
MOVL AX, r+24(FP)
RET
-// func Ypthread_key_create(tls *TLS, k uintptr, dtor uintptr) int32
+// func Ypthread_key_create(tls *TLS, k uintptr, dtor uintptr) (_3 int32)
TEXT ·Ypthread_key_create(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
@@ -13976,10 +21485,10 @@ TEXT ·Ypthread_key_create(SB),$32-28
MOVQ AX, 16(SP)
CALL ·Xpthread_key_create(SB)
MOVL 24(SP), AX
- MOVL AX, ret+24(FP)
+ MOVL AX, _3+24(FP)
RET
-// func Ypthread_key_delete(tls *TLS, k Tpthread_key_t) int32
+// func Ypthread_key_delete(tls *TLS, k Tpthread_key_t) (_2 int32)
TEXT ·Ypthread_key_delete(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -13989,10 +21498,10 @@ TEXT ·Ypthread_key_delete(SB),$24-20
MOVL AX, 8(SP)
CALL ·Xpthread_key_delete(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
-// func Ypthread_mutex_destroy(tls *TLS, m uintptr) int32
+// func Ypthread_mutex_destroy(tls *TLS, m uintptr) (_2 int32)
TEXT ·Ypthread_mutex_destroy(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -14002,10 +21511,10 @@ TEXT ·Ypthread_mutex_destroy(SB),$24-20
MOVQ AX, 8(SP)
CALL ·Xpthread_mutex_destroy(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
-// func Ypthread_mutex_init(tls *TLS, m, a uintptr) int32
+// func Ypthread_mutex_init(tls *TLS, m, a uintptr) (_2 int32)
TEXT ·Ypthread_mutex_init(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
@@ -14017,10 +21526,10 @@ TEXT ·Ypthread_mutex_init(SB),$32-28
MOVQ AX, 16(SP)
CALL ·Xpthread_mutex_init(SB)
MOVL 24(SP), AX
- MOVL AX, ret+24(FP)
+ MOVL AX, _2+24(FP)
RET
-// func Ypthread_mutex_lock(tls *TLS, m uintptr) int32
+// func Ypthread_mutex_lock(tls *TLS, m uintptr) (_2 int32)
TEXT ·Ypthread_mutex_lock(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -14030,10 +21539,10 @@ TEXT ·Ypthread_mutex_lock(SB),$24-20
MOVQ AX, 8(SP)
CALL ·Xpthread_mutex_lock(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
-// func Ypthread_mutex_trylock(tls *TLS, m uintptr) int32
+// func Ypthread_mutex_trylock(tls *TLS, m uintptr) (_2 int32)
TEXT ·Ypthread_mutex_trylock(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -14043,10 +21552,10 @@ TEXT ·Ypthread_mutex_trylock(SB),$24-20
MOVQ AX, 8(SP)
CALL ·Xpthread_mutex_trylock(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
-// func Ypthread_mutex_unlock(tls *TLS, m uintptr) int32
+// func Ypthread_mutex_unlock(tls *TLS, m uintptr) (_2 int32)
TEXT ·Ypthread_mutex_unlock(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -14056,10 +21565,10 @@ TEXT ·Ypthread_mutex_unlock(SB),$24-20
MOVQ AX, 8(SP)
CALL ·Xpthread_mutex_unlock(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
-// func Ypthread_mutexattr_destroy(tls *TLS, a uintptr) int32
+// func Ypthread_mutexattr_destroy(tls *TLS, a uintptr) (_2 int32)
TEXT ·Ypthread_mutexattr_destroy(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -14069,10 +21578,10 @@ TEXT ·Ypthread_mutexattr_destroy(SB),$24-20
MOVQ AX, 8(SP)
CALL ·Xpthread_mutexattr_destroy(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
-// func Ypthread_mutexattr_init(tls *TLS, a uintptr) int32
+// func Ypthread_mutexattr_init(tls *TLS, a uintptr) (_2 int32)
TEXT ·Ypthread_mutexattr_init(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -14082,10 +21591,10 @@ TEXT ·Ypthread_mutexattr_init(SB),$24-20
MOVQ AX, 8(SP)
CALL ·Xpthread_mutexattr_init(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
-// func Ypthread_mutexattr_settype(tls *TLS, a uintptr, typ int32) int32
+// func Ypthread_mutexattr_settype(tls *TLS, a uintptr, typ int32) (_3 int32)
TEXT ·Ypthread_mutexattr_settype(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
@@ -14097,10 +21606,10 @@ TEXT ·Ypthread_mutexattr_settype(SB),$32-28
MOVL AX, 16(SP)
CALL ·Xpthread_mutexattr_settype(SB)
MOVL 24(SP), AX
- MOVL AX, ret+24(FP)
+ MOVL AX, _3+24(FP)
RET
-// func Ypthread_self(tls *TLS) uintptr
+// func Ypthread_self(tls *TLS) (_1 uintptr)
TEXT ·Ypthread_self(SB),$16-16
GO_ARGS
NO_LOCAL_POINTERS
@@ -14108,10 +21617,10 @@ TEXT ·Ypthread_self(SB),$16-16
MOVQ AX, 0(SP)
CALL ·Xpthread_self(SB)
MOVQ 8(SP), AX
- MOVQ AX, ret+8(FP)
+ MOVQ AX, _1+8(FP)
RET
-// func Ypthread_setcancelstate(tls *TLS, new int32, old uintptr) int32
+// func Ypthread_setcancelstate(tls *TLS, new int32, old uintptr) (_3 int32)
TEXT ·Ypthread_setcancelstate(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
@@ -14123,10 +21632,10 @@ TEXT ·Ypthread_setcancelstate(SB),$32-28
MOVQ AX, 16(SP)
CALL ·Xpthread_setcancelstate(SB)
MOVL 24(SP), AX
- MOVL AX, ret+24(FP)
+ MOVL AX, _3+24(FP)
RET
-// func Ypthread_setspecific(tls *TLS, k Tpthread_key_t, x uintptr) int32
+// func Ypthread_setspecific(tls *TLS, k Tpthread_key_t, x uintptr) (_3 int32)
TEXT ·Ypthread_setspecific(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
@@ -14138,10 +21647,10 @@ TEXT ·Ypthread_setspecific(SB),$32-28
MOVQ AX, 16(SP)
CALL ·Xpthread_setspecific(SB)
MOVL 24(SP), AX
- MOVL AX, ret+24(FP)
+ MOVL AX, _3+24(FP)
RET
-// func Ypthread_sigmask(tls *TLS, now int32, set, old uintptr) int32
+// func Ypthread_sigmask(tls *TLS, now int32, set, old uintptr) (_3 int32)
TEXT ·Ypthread_sigmask(SB),$40-36
GO_ARGS
NO_LOCAL_POINTERS
@@ -14155,7 +21664,7 @@ TEXT ·Ypthread_sigmask(SB),$40-36
MOVQ AX, 24(SP)
CALL ·Xpthread_sigmask(SB)
MOVL 32(SP), AX
- MOVL AX, ret+32(FP)
+ MOVL AX, _3+32(FP)
RET
// func Yptrace(tls *TLS, req int32, va uintptr) (r int64)
@@ -14486,10 +21995,24 @@ TEXT ·Ypwritev2(SB),$56-56
MOVQ AX, r+48(FP)
RET
-// func Yqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun)
-TEXT ·Yqsort(SB),$40-40
+// func Yqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun)
+TEXT ·Yqsort(SB),$48-40
GO_ARGS
NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX // alloc all ABI trampolines
+ MOVQ AX, 0(SP)
+ MOVQ $16, 8(SP) // 16*(number of func ptrs in signature)
+ CALL modernc·org∕libc·TLSAlloc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, -8(BP) // Trampolines[0]
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ -8(BP), AX
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp_cmp+32(FP), AX // ABI0 code ptr
+ MOVQ AX, 16(SP)
+ CALL ·__ccgo_abiInternal_qsort_3(SB) // Create the closure for calling __ccgo_fp_cmp
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
MOVQ base+8(FP), AX
@@ -14498,15 +22021,49 @@ TEXT ·Yqsort(SB),$40-40
MOVQ AX, 16(SP)
MOVQ width+24(FP), AX
MOVQ AX, 24(SP)
- MOVQ cmp+32(FP), AX
+ MOVQ -8(BP), AX // Trampolines[0]
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
MOVQ AX, 32(SP)
CALL ·Xqsort(SB)
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ $0, 8(SP)
+ CALL modernc·org∕libc·TLSFree(SB)
+ RET
+
+TEXT ·__ccgo_abi0_qsort_3(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ _0+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ _1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ _2+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ __ccgo_fp+24(FP), AX
+ CALL *AX // Call the ABI0 code ptr
+ MOVL 24(SP), AX
+ MOVL AX, _3+32(FP)
RET
-// func Yqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun, arg uintptr)
-TEXT ·Yqsort_r(SB),$48-48
+// func Yqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr)
+TEXT ·Yqsort_r(SB),$56-48
GO_ARGS
NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX // alloc all ABI trampolines
+ MOVQ AX, 0(SP)
+ MOVQ $16, 8(SP) // 16*(number of func ptrs in signature)
+ CALL modernc·org∕libc·TLSAlloc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, -8(BP) // Trampolines[0]
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ -8(BP), AX
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp_cmp+32(FP), AX // ABI0 code ptr
+ MOVQ AX, 16(SP)
+ CALL ·__ccgo_abiInternal_qsort_r_3(SB) // Create the closure for calling __ccgo_fp_cmp
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
MOVQ base+8(FP), AX
@@ -14515,11 +22072,33 @@ TEXT ·Yqsort_r(SB),$48-48
MOVQ AX, 16(SP)
MOVQ width+24(FP), AX
MOVQ AX, 24(SP)
- MOVQ cmp+32(FP), AX
+ MOVQ -8(BP), AX // Trampolines[0]
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
MOVQ AX, 32(SP)
MOVQ arg+40(FP), AX
MOVQ AX, 40(SP)
CALL ·Xqsort_r(SB)
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ $0, 8(SP)
+ CALL modernc·org∕libc·TLSFree(SB)
+ RET
+
+TEXT ·__ccgo_abi0_qsort_r_3(SB),$48-44
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ _0+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ _1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ _2+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ _3+24(FP), AX
+ MOVQ AX, 24(SP)
+ MOVQ __ccgo_fp+32(FP), AX
+ CALL *AX // Call the ABI0 code ptr
+ MOVL 32(SP), AX
+ MOVL AX, _4+40(FP)
RET
// func Yquick_exit(tls *TLS, code int32)
@@ -14600,7 +22179,7 @@ TEXT ·Yrandom(SB),$16-16
MOVQ AX, r+8(FP)
RET
-// func Yrandom_r(t *TLS, buf, result uintptr) int32
+// func Yrandom_r(t *TLS, buf, result uintptr) (_2 int32)
TEXT ·Yrandom_r(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
@@ -14612,7 +22191,7 @@ TEXT ·Yrandom_r(SB),$32-28
MOVQ AX, 16(SP)
CALL ·Xrandom_r(SB)
MOVL 24(SP), AX
- MOVL AX, ret+24(FP)
+ MOVL AX, _2+24(FP)
RET
// func Yread(tls *TLS, fd int32, buf uintptr, count Tsize_t) (r Tssize_t)
@@ -15143,7 +22722,7 @@ TEXT ·Yrenameat(SB),$48-44
MOVL AX, r+40(FP)
RET
-// func Yrenameat2(t *TLS, olddirfd int32, oldpath uintptr, newdirfd int32, newpath uintptr, flags int32) int32
+// func Yrenameat2(t *TLS, olddirfd int32, oldpath uintptr, newdirfd int32, newpath uintptr, flags int32) (_6 int32)
TEXT ·Yrenameat2(SB),$56-52
GO_ARGS
NO_LOCAL_POINTERS
@@ -15161,7 +22740,7 @@ TEXT ·Yrenameat2(SB),$56-52
MOVL AX, 40(SP)
CALL ·Xrenameat2(SB)
MOVL 48(SP), AX
- MOVL AX, ret+48(FP)
+ MOVL AX, _6+48(FP)
RET
// func Yres_init(tls *TLS) (r int32)
@@ -15484,23 +23063,79 @@ TEXT ·Yscalbnl(SB),$32-32
MOVQ AX, r+24(FP)
RET
-// func Yscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r int32)
-TEXT ·Yscandir(SB),$48-44
+// func Yscandir(tls *TLS, path uintptr, res uintptr, __ccgo_fp_sel uintptr, __ccgo_fp_cmp uintptr) (r int32)
+TEXT ·Yscandir(SB),$56-44
GO_ARGS
NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX // alloc all ABI trampolines
+ MOVQ AX, 0(SP)
+ MOVQ $32, 8(SP) // 16*(number of func ptrs in signature)
+ CALL modernc·org∕libc·TLSAlloc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, -8(BP) // Trampolines[0]
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ -8(BP), AX
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp_sel+24(FP), AX // ABI0 code ptr
+ MOVQ AX, 16(SP)
+ CALL ·__ccgo_abiInternal_scandir_2(SB) // Create the closure for calling __ccgo_fp_sel
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ -8(BP), AX
+ ADDQ $16, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp_cmp+32(FP), AX // ABI0 code ptr
+ MOVQ AX, 16(SP)
+ CALL ·__ccgo_abiInternal_scandir_3(SB) // Create the closure for calling __ccgo_fp_cmp
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
MOVQ path+8(FP), AX
MOVQ AX, 8(SP)
MOVQ res+16(FP), AX
MOVQ AX, 16(SP)
- MOVQ sel+24(FP), AX
+ MOVQ -8(BP), AX // Trampolines[0]
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
MOVQ AX, 24(SP)
- MOVQ cmp+32(FP), AX
+ MOVQ -8(BP), AX // Trampolines[0]
+ ADDQ $16, AX // 16*(0-based ordinal number of the func ptr in signature)
MOVQ AX, 32(SP)
CALL ·Xscandir(SB)
MOVL 40(SP), AX
MOVL AX, r+40(FP)
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ $0, 8(SP)
+ CALL modernc·org∕libc·TLSFree(SB)
+ RET
+
+TEXT ·__ccgo_abi0_scandir_2(SB),$32-28
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ _0+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ _1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp+16(FP), AX
+ CALL *AX // Call the ABI0 code ptr
+ MOVL 16(SP), AX
+ MOVL AX, _2+24(FP)
+ RET
+
+TEXT ·__ccgo_abi0_scandir_3(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ _0+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ _1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ _2+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ __ccgo_fp+24(FP), AX
+ CALL *AX // Call the ABI0 code ptr
+ MOVL 24(SP), AX
+ MOVL AX, _3+32(FP)
RET
// func Yscanf(tls *TLS, fmt uintptr, va uintptr) (r int32)
@@ -15518,7 +23153,7 @@ TEXT ·Yscanf(SB),$32-28
MOVL AX, r+24(FP)
RET
-// func Ysched_yield(tls *TLS) int32
+// func Ysched_yield(tls *TLS) (_1 int32)
TEXT ·Ysched_yield(SB),$16-12
GO_ARGS
NO_LOCAL_POINTERS
@@ -15526,7 +23161,7 @@ TEXT ·Ysched_yield(SB),$16-12
MOVQ AX, 0(SP)
CALL ·Xsched_yield(SB)
MOVL 8(SP), AX
- MOVL AX, ret+8(FP)
+ MOVL AX, _1+8(FP)
RET
// func Ysecure_getenv(tls *TLS, name uintptr) (r uintptr)
@@ -15909,7 +23544,7 @@ TEXT ·Ysetitimer(SB),$40-36
MOVL AX, r1+32(FP)
RET
-// func Ysetjmp(t *TLS, env uintptr) int32
+// func Ysetjmp(t *TLS, env uintptr) (_2 int32)
TEXT ·Ysetjmp(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -15919,7 +23554,7 @@ TEXT ·Ysetjmp(SB),$24-20
MOVQ AX, 8(SP)
CALL ·Xsetjmp(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
// func Ysetkey(tls *TLS, key uintptr)
@@ -18179,7 +25814,7 @@ TEXT ·Ysysconf(SB),$24-24
MOVQ AX, r+16(FP)
RET
-// func Ysysctlbyname(t *TLS, name, oldp, oldlenp, newp uintptr, newlen Tsize_t) int32
+// func Ysysctlbyname(t *TLS, name, oldp, oldlenp, newp uintptr, newlen Tsize_t) (_3 int32)
TEXT ·Ysysctlbyname(SB),$56-52
GO_ARGS
NO_LOCAL_POINTERS
@@ -18197,7 +25832,7 @@ TEXT ·Ysysctlbyname(SB),$56-52
MOVQ AX, 40(SP)
CALL ·Xsysctlbyname(SB)
MOVL 48(SP), AX
- MOVL AX, ret+48(FP)
+ MOVL AX, _3+48(FP)
RET
// func Ysysinfo(tls *TLS, info uintptr) (r int32)
@@ -18228,7 +25863,7 @@ TEXT ·Ysyslog(SB),$32-32
CALL ·Xsyslog(SB)
RET
-// func Ysystem(t *TLS, command uintptr) int32
+// func Ysystem(t *TLS, command uintptr) (_2 int32)
TEXT ·Ysystem(SB),$24-20
GO_ARGS
NO_LOCAL_POINTERS
@@ -18238,7 +25873,7 @@ TEXT ·Ysystem(SB),$24-20
MOVQ AX, 8(SP)
CALL ·Xsystem(SB)
MOVL 16(SP), AX
- MOVL AX, ret+16(FP)
+ MOVL AX, _2+16(FP)
RET
// func Ytan(tls *TLS, x3 float64) (r float64)
@@ -18480,34 +26115,98 @@ TEXT ·Ytcsetwinsize(SB),$32-28
MOVL AX, r+24(FP)
RET
-// func Ytdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr)
-TEXT ·Ytdelete(SB),$40-40
+// func Ytdelete(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr)
+TEXT ·Ytdelete(SB),$48-40
GO_ARGS
NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX // alloc all ABI trampolines
+ MOVQ AX, 0(SP)
+ MOVQ $16, 8(SP) // 16*(number of func ptrs in signature)
+ CALL modernc·org∕libc·TLSAlloc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, -8(BP) // Trampolines[0]
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ -8(BP), AX
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp_cmp+24(FP), AX // ABI0 code ptr
+ MOVQ AX, 16(SP)
+ CALL ·__ccgo_abiInternal_tdelete_2(SB) // Create the closure for calling __ccgo_fp_cmp
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
MOVQ key+8(FP), AX
MOVQ AX, 8(SP)
MOVQ rootp+16(FP), AX
MOVQ AX, 16(SP)
- MOVQ cmp+24(FP), AX
+ MOVQ -8(BP), AX // Trampolines[0]
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
MOVQ AX, 24(SP)
CALL ·Xtdelete(SB)
MOVQ 32(SP), AX
MOVQ AX, r+32(FP)
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ $0, 8(SP)
+ CALL modernc·org∕libc·TLSFree(SB)
+ RET
+
+TEXT ·__ccgo_abi0_tdelete_2(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ _0+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ _1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ _2+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ __ccgo_fp+24(FP), AX
+ CALL *AX // Call the ABI0 code ptr
+ MOVL 24(SP), AX
+ MOVL AX, _3+32(FP)
RET
-// func Ytdestroy(tls *TLS, root uintptr, freekey uintptr)
-TEXT ·Ytdestroy(SB),$24-24
+// func Ytdestroy(tls *TLS, root uintptr, __ccgo_fp_freekey uintptr)
+TEXT ·Ytdestroy(SB),$32-24
GO_ARGS
NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX // alloc all ABI trampolines
+ MOVQ AX, 0(SP)
+ MOVQ $16, 8(SP) // 16*(number of func ptrs in signature)
+ CALL modernc·org∕libc·TLSAlloc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, -8(BP) // Trampolines[0]
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ -8(BP), AX
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp_freekey+16(FP), AX // ABI0 code ptr
+ MOVQ AX, 16(SP)
+ CALL ·__ccgo_abiInternal_tdestroy_1(SB) // Create the closure for calling __ccgo_fp_freekey
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
MOVQ root+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ freekey+16(FP), AX
+ MOVQ -8(BP), AX // Trampolines[0]
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
MOVQ AX, 16(SP)
CALL ·Xtdestroy(SB)
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ $0, 8(SP)
+ CALL modernc·org∕libc·TLSFree(SB)
+ RET
+
+TEXT ·__ccgo_abi0_tdestroy_1(SB),$24-24
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ _0+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ _1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp+16(FP), AX
+ CALL *AX // Call the ABI0 code ptr
RET
// func Ytee(tls *TLS, src int32, dest int32, len1 Tsize_t, flags uint32) (r Tssize_t)
@@ -18570,21 +26269,55 @@ TEXT ·Ytextdomain(SB),$24-24
MOVQ AX, r+16(FP)
RET
-// func Ytfind(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr)
-TEXT ·Ytfind(SB),$40-40
+// func Ytfind(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr)
+TEXT ·Ytfind(SB),$48-40
GO_ARGS
NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX // alloc all ABI trampolines
+ MOVQ AX, 0(SP)
+ MOVQ $16, 8(SP) // 16*(number of func ptrs in signature)
+ CALL modernc·org∕libc·TLSAlloc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, -8(BP) // Trampolines[0]
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ -8(BP), AX
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp_cmp+24(FP), AX // ABI0 code ptr
+ MOVQ AX, 16(SP)
+ CALL ·__ccgo_abiInternal_tfind_2(SB) // Create the closure for calling __ccgo_fp_cmp
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
MOVQ key+8(FP), AX
MOVQ AX, 8(SP)
MOVQ rootp+16(FP), AX
MOVQ AX, 16(SP)
- MOVQ cmp+24(FP), AX
+ MOVQ -8(BP), AX // Trampolines[0]
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
MOVQ AX, 24(SP)
CALL ·Xtfind(SB)
MOVQ 32(SP), AX
MOVQ AX, r+32(FP)
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ $0, 8(SP)
+ CALL modernc·org∕libc·TLSFree(SB)
+ RET
+
+TEXT ·__ccgo_abi0_tfind_2(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ _0+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ _1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ _2+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ __ccgo_fp+24(FP), AX
+ CALL *AX // Call the ABI0 code ptr
+ MOVL 24(SP), AX
+ MOVL AX, _3+32(FP)
RET
// func Ytgamma(tls *TLS, x3 float64) (r1 float64)
@@ -19024,21 +26757,55 @@ TEXT ·Ytruncl(SB),$24-24
MOVQ AX, r+16(FP)
RET
-// func Ytsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr)
-TEXT ·Ytsearch(SB),$40-40
+// func Ytsearch(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r1 uintptr)
+TEXT ·Ytsearch(SB),$48-40
GO_ARGS
NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX // alloc all ABI trampolines
+ MOVQ AX, 0(SP)
+ MOVQ $16, 8(SP) // 16*(number of func ptrs in signature)
+ CALL modernc·org∕libc·TLSAlloc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, -8(BP) // Trampolines[0]
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ -8(BP), AX
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp_cmp+24(FP), AX // ABI0 code ptr
+ MOVQ AX, 16(SP)
+ CALL ·__ccgo_abiInternal_tsearch_2(SB) // Create the closure for calling __ccgo_fp_cmp
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
MOVQ key+8(FP), AX
MOVQ AX, 8(SP)
MOVQ rootp+16(FP), AX
MOVQ AX, 16(SP)
- MOVQ cmp+24(FP), AX
+ MOVQ -8(BP), AX // Trampolines[0]
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
MOVQ AX, 24(SP)
CALL ·Xtsearch(SB)
MOVQ 32(SP), AX
MOVQ AX, r1+32(FP)
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ $0, 8(SP)
+ CALL modernc·org∕libc·TLSFree(SB)
+ RET
+
+TEXT ·__ccgo_abi0_tsearch_2(SB),$40-36
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ _0+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ _1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVQ _2+16(FP), AX
+ MOVQ AX, 16(SP)
+ MOVQ __ccgo_fp+24(FP), AX
+ CALL *AX // Call the ABI0 code ptr
+ MOVL 24(SP), AX
+ MOVL AX, _3+32(FP)
RET
// func Yttyname(tls *TLS, fd int32) (r uintptr)
@@ -19071,17 +26838,51 @@ TEXT ·Yttyname_r(SB),$40-36
MOVL AX, r+32(FP)
RET
-// func Ytwalk(tls *TLS, root uintptr, action uintptr)
-TEXT ·Ytwalk(SB),$24-24
+// func Ytwalk(tls *TLS, root uintptr, __ccgo_fp_action uintptr)
+TEXT ·Ytwalk(SB),$32-24
GO_ARGS
NO_LOCAL_POINTERS
+ MOVQ tls+0(FP), AX // alloc all ABI trampolines
+ MOVQ AX, 0(SP)
+ MOVQ $16, 8(SP) // 16*(number of func ptrs in signature)
+ CALL modernc·org∕libc·TLSAlloc(SB)
+ MOVQ 16(SP), AX
+ MOVQ AX, -8(BP) // Trampolines[0]
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ -8(BP), AX
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
+ MOVQ AX, 8(SP)
+ MOVQ __ccgo_fp_action+16(FP), AX // ABI0 code ptr
+ MOVQ AX, 16(SP)
+ CALL ·__ccgo_abiInternal_twalk_1(SB) // Create the closure for calling __ccgo_fp_action
MOVQ tls+0(FP), AX
MOVQ AX, 0(SP)
MOVQ root+8(FP), AX
MOVQ AX, 8(SP)
- MOVQ action+16(FP), AX
+ MOVQ -8(BP), AX // Trampolines[0]
+ ADDQ $0, AX // 16*(0-based ordinal number of the func ptr in signature)
MOVQ AX, 16(SP)
CALL ·Xtwalk(SB)
+ MOVQ tls+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ $0, 8(SP)
+ CALL modernc·org∕libc·TLSFree(SB)
+ RET
+
+TEXT ·__ccgo_abi0_twalk_1(SB),$32-32
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ _0+0(FP), AX
+ MOVQ AX, 0(SP)
+ MOVQ _1+8(FP), AX
+ MOVQ AX, 8(SP)
+ MOVL _2+16(FP), AX
+ MOVL AX, 16(SP)
+ MOVL _3+20(FP), AX
+ MOVL AX, 20(SP)
+ MOVQ __ccgo_fp+24(FP), AX
+ CALL *AX // Call the ABI0 code ptr
RET
// func Ytzset(tls *TLS)
@@ -19412,7 +27213,7 @@ TEXT ·Yuuid_generate_random(SB),$16-16
CALL ·Xuuid_generate_random(SB)
RET
-// func Yuuid_parse(t *TLS, in uintptr, uu uintptr) int32
+// func Yuuid_parse(t *TLS, in uintptr, uu uintptr) (_3 int32)
TEXT ·Yuuid_parse(SB),$32-28
GO_ARGS
NO_LOCAL_POINTERS
@@ -19424,7 +27225,7 @@ TEXT ·Yuuid_parse(SB),$32-28
MOVQ AX, 16(SP)
CALL ·Xuuid_parse(SB)
MOVL 24(SP), AX
- MOVL AX, ret+24(FP)
+ MOVL AX, _3+24(FP)
RET
// func Yuuid_unparse(t *TLS, uu, out uintptr)
diff --git a/vendor/modernc.org/libc/ccgo_linux_386.go b/vendor/modernc.org/libc/ccgo_linux_386.go
index d3ac8f649bf8f..91ec9c90efa14 100644
--- a/vendor/modernc.org/libc/ccgo_linux_386.go
+++ b/vendor/modernc.org/libc/ccgo_linux_386.go
@@ -25041,9 +25041,13 @@ func Xrewinddir(tls *TLS, dir uintptr) {
___unlock(tls, dir+20)
}
-func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r int32) {
+type t__ccgo_fp__Xscandir_2 = func(*TLS, uintptr) int32
+
+type t__ccgo_fp__Xscandir_3 = func(*TLS, uintptr, uintptr) int32
+
+func Xscandir(tls *TLS, path uintptr, res uintptr, __ccgo_fp_sel uintptr, __ccgo_fp_cmp uintptr) (r int32) {
if __ccgo_strace {
- trc("tls=%v path=%v res=%v sel=%v cmp=%v, (%v:)", tls, path, res, sel, cmp, origin(2))
+ trc("tls=%v path=%v res=%v __ccgo_fp_sel=%v __ccgo_fp_cmp=%v, (%v:)", tls, path, res, __ccgo_fp_sel, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var cnt, len1, v2, v3 Tsize_t
@@ -25065,7 +25069,7 @@ func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r
if !(v1 != 0) {
break
}
- if sel != 0 && !((*(*func(*TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{sel})))(tls, de) != 0) {
+ if __ccgo_fp_sel != 0 && !((*(*func(*TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_sel})))(tls, de) != 0) {
continue
}
if cnt >= len1 {
@@ -25103,8 +25107,8 @@ func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r
return -int32(1)
}
*(*int32)(unsafe.Pointer(X__errno_location(tls))) = old_errno
- if cmp != 0 {
- Xqsort(tls, names, cnt, uint32(4), cmp)
+ if __ccgo_fp_cmp != 0 {
+ Xqsort(tls, names, cnt, uint32(4), __ccgo_fp_cmp)
}
*(*uintptr)(unsafe.Pointer(res)) = names
return Int32FromUint32(cnt)
@@ -25844,9 +25848,11 @@ func X__funcs_on_quick_exit(tls *TLS) {
}
}
-func Xat_quick_exit(tls *TLS, func1 uintptr) (r1 int32) {
+type t__ccgo_fp__Xat_quick_exit_0 = func(*TLS)
+
+func Xat_quick_exit(tls *TLS, __ccgo_fp_func uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v func1=%v, (%v:)", tls, func1, origin(2))
+ trc("tls=%v __ccgo_fp_func=%v, (%v:)", tls, __ccgo_fp_func, origin(2))
defer func() { trc("-> %v", r1) }()
}
var r, v1 int32
@@ -25858,7 +25864,7 @@ func Xat_quick_exit(tls *TLS, func1 uintptr) (r1 int32) {
} else {
v1 = _count
_count++
- _funcs[v1] = func1
+ _funcs[v1] = __ccgo_fp_func
}
___unlock(tls, uintptr(unsafe.Pointer(&_lock)))
return r
@@ -28457,15 +28463,17 @@ type TFTW = struct {
Flevel int32
}
-func Xftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32) (r int32) {
+type t__ccgo_fp__Xftw_1 = func(*TLS, uintptr, uintptr, int32) int32
+
+func Xftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32) (r int32) {
if __ccgo_strace {
- trc("tls=%v path=%v fn=%v fd_limit=%v, (%v:)", tls, path, fn, fd_limit, origin(2))
+ trc("tls=%v path=%v __ccgo_fp_fn=%v fd_limit=%v, (%v:)", tls, path, __ccgo_fp_fn, fd_limit, origin(2))
defer func() { trc("-> %v", r) }()
}
/* The following cast assumes that calling a function with one
* argument more than it needs behaves as expected. This is
* actually undefined, but works on all real-world machines. */
- return Xnftw(tls, path, fn, fd_limit, int32(FTW_PHYS))
+ return Xnftw(tls, path, __ccgo_fp_fn, fd_limit, int32(FTW_PHYS))
}
const STATX_ALL = 4095
@@ -31556,15 +31564,6 @@ func Xfremovexattr(tls *TLS, fd int32, name uintptr) (r int32) {
return X__syscall_ret(tls, Uint32FromInt32(X__syscall2(tls, int32(SYS_fremovexattr), fd, int32(name))))
}
-type Tucontext_t2 = struct {
- Fuc_flags uint32
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t
- Fuc_sigmask Tsigset_t
- F__fpregs_mem [28]uint32
-}
-
func _dummy4(tls *TLS, msg uintptr, lm uintptr) (r uintptr) {
return msg
}
@@ -114504,16 +114503,7 @@ func Xgethostid(tls *TLS) (r int32) {
const optpos = 0
-type Tucontext_t3 = struct {
- Fuc_flags uint32
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t1
- Fuc_sigmask Tsigset_t
- F__fpregs_mem [28]uint32
-}
-
-type t__ucontext1 = Tucontext_t3
+type t__ucontext1 = Tucontext_t1
func X__getopt_msg(tls *TLS, a uintptr, b uintptr, c uintptr, l Tsize_t) {
if __ccgo_strace {
@@ -115661,7 +115651,7 @@ type Thistory = struct {
Fbase int32
}
-func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h uintptr) (r1 int32) {
+func _do_nftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32, flags int32, h uintptr) (r1 int32) {
bp := tls.Alloc(192)
defer tls.Free(192)
var d, de, v10 uintptr
@@ -115767,7 +115757,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
}
if v8 = !(flags&Int32FromInt32(FTW_DEPTH) != 0); v8 {
- v7 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{fn})))(tls, path, bp, type1, bp+176)
+ v7 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_fn})))(tls, path, bp, type1, bp+176)
r = v7
}
if v8 && v7 != 0 {
@@ -115808,7 +115798,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
*(*int8)(unsafe.Pointer(path + uintptr(j))) = int8('/')
Xstrcpy(tls, path+uintptr(j)+uintptr(1), de+19)
- v11 = _do_nftw(tls, path, fn, fd_limit-int32(1), flags, bp+144)
+ v11 = _do_nftw(tls, path, __ccgo_fp_fn, fd_limit-int32(1), flags, bp+144)
r = v11
if v11 != 0 {
Xclosedir(tls, d)
@@ -115823,7 +115813,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
*(*int8)(unsafe.Pointer(path + uintptr(l))) = 0
if v13 = flags&int32(FTW_DEPTH) != 0; v13 {
- v12 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{fn})))(tls, path, bp, type1, bp+176)
+ v12 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_fn})))(tls, path, bp, type1, bp+176)
r = v12
}
if v13 && v12 != 0 {
@@ -115832,9 +115822,11 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
return 0
}
-func Xnftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32) (r1 int32) {
+type t__ccgo_fp__Xnftw_1 = func(*TLS, uintptr, uintptr, int32, uintptr) int32
+
+func Xnftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32, flags int32) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v path=%v fn=%v fd_limit=%v flags=%v, (%v:)", tls, path, fn, fd_limit, flags, origin(2))
+ trc("tls=%v path=%v __ccgo_fp_fn=%v fd_limit=%v flags=%v, (%v:)", tls, path, __ccgo_fp_fn, fd_limit, flags, origin(2))
defer func() { trc("-> %v", r1) }()
}
bp := tls.Alloc(4112)
@@ -115854,7 +115846,7 @@ func Xnftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32) (r1
}
Xmemcpy(tls, bp+4, path, l+uint32(1))
_pthread_setcancelstate(tls, int32(PTHREAD_CANCEL_DISABLE), bp)
- r = _do_nftw(tls, bp+4, fn, fd_limit, flags, UintptrFromInt32(0))
+ r = _do_nftw(tls, bp+4, __ccgo_fp_fn, fd_limit, flags, UintptrFromInt32(0))
_pthread_setcancelstate(tls, *(*int32)(unsafe.Pointer(bp)), uintptr(0))
return r
}
@@ -116631,8 +116623,6 @@ type Tsockaddr_storage = struct {
F__ss_align uint32
}
-type t__ucontext2 = Tucontext_t2
-
var _lock2 [1]int32
var _log_ident [32]int8
var _log_opt int32
@@ -117070,15 +117060,6 @@ const SA = 194
const SB = 244
const bittab = 0
-type Tucontext_t4 = struct {
- Fuc_flags uint32
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t
- Fuc_sigmask Tsigset_t
- F__fpregs_mem [28]uint32
-}
-
func Xbtowc(tls *TLS, c int32) (r Twint_t) {
if __ccgo_strace {
trc("tls=%v c=%v, (%v:)", tls, c, origin(2))
@@ -118890,13 +118871,6 @@ const _ns_uop_delete = 0
const _ns_uop_add = 1
const _ns_uop_max = 2
-type Tns_tsig_key1 = struct {
- Fname [1025]int8
- Falg [1025]int8
- Fdata uintptr
- Flen1 int32
-}
-
type Tns_tsig_key = struct {
Fname [1025]int8
Falg [1025]int8
@@ -118904,14 +118878,6 @@ type Tns_tsig_key = struct {
Flen1 int32
}
-type Tns_tcp_tsig_state1 = struct {
- Fcounter int32
- Fkey uintptr
- Fctx uintptr
- Fsig [512]uint8
- Fsiglen int32
-}
-
type Tns_tcp_tsig_state = struct {
Fcounter int32
Fkey uintptr
@@ -119560,9 +119526,11 @@ type Tresolvconf = struct {
Ftimeout uint32
}
-func X__dns_parse(tls *TLS, r uintptr, rlen int32, callback uintptr, ctx uintptr) (r1 int32) {
+type t__ccgo_fp__X__dns_parse_2 = func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32
+
+func X__dns_parse(tls *TLS, r uintptr, rlen int32, __ccgo_fp_callback uintptr, ctx uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v r=%v rlen=%v callback=%v ctx=%v, (%v:)", tls, r, rlen, callback, ctx, origin(2))
+ trc("tls=%v r=%v rlen=%v __ccgo_fp_callback=%v ctx=%v, (%v:)", tls, r, rlen, __ccgo_fp_callback, ctx, origin(2))
defer func() { trc("-> %v", r1) }()
}
var ancount, len1, qdcount, v1, v2 int32
@@ -119608,7 +119576,7 @@ func X__dns_parse(tls *TLS, r uintptr, rlen int32, callback uintptr, ctx uintptr
if len1+int32(10) > int32(r+uintptr(rlen))-int32(p) {
return -int32(1)
}
- if (*(*func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{callback})))(tls, ctx, Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 1))), p+uintptr(10), len1, r, rlen) < 0 {
+ if (*(*func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_callback})))(tls, ctx, Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 1))), p+uintptr(10), len1, r, rlen) < 0 {
return -int32(1)
}
p += uintptr(int32(10) + len1)
@@ -121822,19 +121790,6 @@ func Xherror(tls *TLS, msg uintptr) {
Xfprintf(tls, uintptr(unsafe.Pointer(&X__stderr_FILE)), __ccgo_ts+987, VaList(bp+8, v1, v2, Xhstrerror(tls, *(*int32)(unsafe.Pointer(X__h_errno_location(tls))))))
}
-type Tcpu_set_t1 = struct {
- F__bits [32]uint32
-}
-
-type Tucontext_t5 = struct {
- Fuc_flags uint32
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t1
- Fuc_sigmask Tsigset_t
- F__fpregs_mem [28]uint32
-}
-
var _msgs1 = [84]int8{'H', 'o', 's', 't', ' ', 'n', 'o', 't', ' ', 'f', 'o', 'u', 'n', 'd', 0, 'T', 'r', 'y', ' ', 'a', 'g', 'a', 'i', 'n', 0, 'N', 'o', 'n', '-', 'r', 'e', 'c', 'o', 'v', 'e', 'r', 'a', 'b', 'l', 'e', ' ', 'e', 'r', 'r', 'o', 'r', 0, 'A', 'd', 'd', 'r', 'e', 's', 's', ' ', 'n', 'o', 't', ' ', 'a', 'v', 'a', 'i', 'l', 'a', 'b', 'l', 'e', 0, 0, 'U', 'n', 'k', 'n', 'o', 'w', 'n', ' ', 'e', 'r', 'r', 'o', 'r'}
func Xhstrerror(tls *TLS, ecode int32) (r uintptr) {
@@ -123645,7 +123600,7 @@ func X__lookup_serv(tls *TLS, buf uintptr, name uintptr, proto int32, socktype i
return v22
}
-func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32, cb uintptr, ctx uintptr) (r1 int32) {
+func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32, __ccgo_fp_cb uintptr, ctx uintptr) (r1 int32) {
bp := tls.Alloc(8192)
defer tls.Free(8192)
var h uintptr
@@ -123735,7 +123690,7 @@ func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32,
if Int32FromUint16((*Tnlmsghdr)(unsafe.Pointer(h)).Fnlmsg_type) == int32(NLMSG_ERROR) {
return -int32(1)
}
- ret = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cb})))(tls, ctx, h)
+ ret = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cb})))(tls, ctx, h)
if ret != 0 {
return ret
}
@@ -123748,9 +123703,11 @@ func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32,
return r1
}
-func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, cb uintptr, ctx uintptr) (r1 int32) {
+type t__ccgo_fp__X__rtnetlink_enumerate_2 = func(*TLS, uintptr, uintptr) int32
+
+func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, __ccgo_fp_cb uintptr, ctx uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v link_af=%v addr_af=%v cb=%v ctx=%v, (%v:)", tls, link_af, addr_af, cb, ctx, origin(2))
+ trc("tls=%v link_af=%v addr_af=%v __ccgo_fp_cb=%v ctx=%v, (%v:)", tls, link_af, addr_af, __ccgo_fp_cb, ctx, origin(2))
defer func() { trc("-> %v", r1) }()
}
var fd, r int32
@@ -123759,9 +123716,9 @@ func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, cb uintptr,
if fd < 0 {
return -int32(1)
}
- r = ___netlink_enumerate(tls, fd, uint32(1), int32(RTM_GETLINK), link_af, cb, ctx)
+ r = ___netlink_enumerate(tls, fd, uint32(1), int32(RTM_GETLINK), link_af, __ccgo_fp_cb, ctx)
if !(r != 0) {
- r = ___netlink_enumerate(tls, fd, uint32(2), int32(RTM_GETADDR), addr_af, cb, ctx)
+ r = ___netlink_enumerate(tls, fd, uint32(2), int32(RTM_GETADDR), addr_af, __ccgo_fp_cb, ctx)
}
X__syscall1(tls, int32(SYS_close), fd)
return r
@@ -129099,7 +129056,7 @@ func _append(tls *TLS, tail uintptr, name uintptr, len1 Tsize_t, mark int32) (r
return 0
}
-func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flags int32, errfunc uintptr, tail uintptr) (r1 int32) {
+func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flags int32, __ccgo_fp_errfunc uintptr, tail uintptr) (r1 int32) {
bp := tls.Alloc(144)
defer tls.Free(144)
var de, dir, p, p2, v11, v2, v7, v8 uintptr
@@ -129208,7 +129165,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
}
}
if !(type1 != 0) && Xlstat(tls, buf, bp) != 0 {
- if *(*int32)(unsafe.Pointer(X__errno_location(tls))) != int32(ENOENT) && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
+ if *(*int32)(unsafe.Pointer(X__errno_location(tls))) != int32(ENOENT) && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
return int32(GLOB_ABORTED)
}
return 0
@@ -129245,7 +129202,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
}
dir = Xopendir(tls, v7)
if !(dir != 0) {
- if (*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0 {
+ if (*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0 {
return int32(GLOB_ABORTED)
}
return 0
@@ -129297,7 +129254,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
} else {
v11 = __ccgo_ts
}
- r = _do_glob(tls, buf, pos+l, Int32FromUint8((*Tdirent)(unsafe.Pointer(de)).Fd_type), v11, flags, errfunc, tail)
+ r = _do_glob(tls, buf, pos+l, Int32FromUint8((*Tdirent)(unsafe.Pointer(de)).Fd_type), v11, flags, __ccgo_fp_errfunc, tail)
if r != 0 {
Xclosedir(tls, dir)
return r
@@ -129308,7 +129265,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
*(*int8)(unsafe.Pointer(p2)) = saved_sep
}
Xclosedir(tls, dir)
- if readerr != 0 && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
+ if readerr != 0 && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
return int32(GLOB_ABORTED)
}
*(*int32)(unsafe.Pointer(X__errno_location(tls))) = old_errno
@@ -129420,9 +129377,11 @@ func _expand_tilde(tls *TLS, pat uintptr, buf uintptr, pos uintptr) (r int32) {
return 0
}
-func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r int32) {
+type t__ccgo_fp__Xglob_2 = func(*TLS, uintptr, int32) int32
+
+func Xglob(tls *TLS, pat uintptr, flags int32, __ccgo_fp_errfunc uintptr, g uintptr) (r int32) {
if __ccgo_strace {
- trc("tls=%v pat=%v flags=%v errfunc=%v g=%v, (%v:)", tls, pat, flags, errfunc, g, origin(2))
+ trc("tls=%v pat=%v flags=%v __ccgo_fp_errfunc=%v g=%v, (%v:)", tls, pat, flags, __ccgo_fp_errfunc, g, origin(2))
defer func() { trc("-> %v", r) }()
}
bp := tls.Alloc(4112)
@@ -129448,8 +129407,8 @@ func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r in
}
offs = v1
error1 = 0
- if !(errfunc != 0) {
- errfunc = __ccgo_fp(_ignore_err)
+ if !(__ccgo_fp_errfunc != 0) {
+ __ccgo_fp_errfunc = __ccgo_fp(_ignore_err)
}
if !(flags&Int32FromInt32(GLOB_APPEND) != 0) {
(*Tglob_t)(unsafe.Pointer(g)).Fgl_offs = offs
@@ -129468,7 +129427,7 @@ func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r in
error1 = _expand_tilde(tls, bp+4108, bp+8, bp+4104)
}
if !(error1 != 0) {
- error1 = _do_glob(tls, bp+8, *(*Tsize_t)(unsafe.Pointer(bp + 4104)), 0, *(*uintptr)(unsafe.Pointer(bp + 4108)), flags, errfunc, bp+4)
+ error1 = _do_glob(tls, bp+8, *(*Tsize_t)(unsafe.Pointer(bp + 4104)), 0, *(*uintptr)(unsafe.Pointer(bp + 4108)), flags, __ccgo_fp_errfunc, bp+4)
}
Xfree(tls, p)
}
@@ -134693,9 +134652,11 @@ func Xremque(tls *TLS, element uintptr) {
}
}
-func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr) {
+type t__ccgo_fp__Xlsearch_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nelp=%v width=%v compar=%v, (%v:)", tls, key, base, nelp, width, compar, origin(2))
+ trc("tls=%v key=%v base=%v nelp=%v width=%v __ccgo_fp_compar=%v, (%v:)", tls, key, base, nelp, width, __ccgo_fp_compar, origin(2))
defer func() { trc("-> %v", r) }()
}
var i, n Tsize_t
@@ -134711,7 +134672,7 @@ func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t,
if !(i < n) {
break
}
- if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
+ if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
return p + uintptr(i)*uintptr(v1)
}
goto _2
@@ -134723,9 +134684,11 @@ func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t,
return Xmemcpy(tls, p+uintptr(n)*uintptr(v1), key, width)
}
-func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr) {
+type t__ccgo_fp__Xlfind_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nelp=%v width=%v compar=%v, (%v:)", tls, key, base, nelp, width, compar, origin(2))
+ trc("tls=%v key=%v base=%v nelp=%v width=%v __ccgo_fp_compar=%v, (%v:)", tls, key, base, nelp, width, __ccgo_fp_compar, origin(2))
defer func() { trc("-> %v", r) }()
}
var i, n Tsize_t
@@ -134741,7 +134704,7 @@ func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, co
if !(i < n) {
break
}
- if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
+ if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
return p + uintptr(i)*uintptr(v1)
}
goto _2
@@ -134760,9 +134723,11 @@ type Tnode1 = struct {
Fh int32
}
-func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xtdelete_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtdelete(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var a [49]uintptr
@@ -134786,7 +134751,7 @@ func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
if !(n != 0) {
return uintptr(0)
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
break
}
@@ -134831,9 +134796,11 @@ func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
return parent
}
-func Xtdestroy(tls *TLS, root uintptr, freekey uintptr) {
+type t__ccgo_fp__Xtdestroy_1 = func(*TLS, uintptr)
+
+func Xtdestroy(tls *TLS, root uintptr, __ccgo_fp_freekey uintptr) {
if __ccgo_strace {
- trc("tls=%v root=%v freekey=%v, (%v:)", tls, root, freekey, origin(2))
+ trc("tls=%v root=%v __ccgo_fp_freekey=%v, (%v:)", tls, root, __ccgo_fp_freekey, origin(2))
}
var r uintptr
_ = r
@@ -134841,17 +134808,19 @@ func Xtdestroy(tls *TLS, root uintptr, freekey uintptr) {
if r == uintptr(0) {
return
}
- Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 4)), freekey)
- Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 4 + 1*4)), freekey)
- if freekey != 0 {
- (*(*func(*TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{freekey})))(tls, (*Tnode1)(unsafe.Pointer(r)).Fkey)
+ Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 4)), __ccgo_fp_freekey)
+ Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 4 + 1*4)), __ccgo_fp_freekey)
+ if __ccgo_fp_freekey != 0 {
+ (*(*func(*TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_freekey})))(tls, (*Tnode1)(unsafe.Pointer(r)).Fkey)
}
Xfree(tls, r)
}
-func Xtfind(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xtfind_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtfind(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var c int32
@@ -134865,7 +134834,7 @@ func Xtfind(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
if !(n != 0) {
break
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
break
}
@@ -134953,9 +134922,11 @@ func X__tsearch_balance(tls *TLS, p uintptr) (r int32) {
return _rot(tls, p, n, BoolInt32(h0 < h1))
}
-func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
+type t__ccgo_fp__Xtsearch_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtsearch(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r1 uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r1) }()
}
var a [48]uintptr
@@ -134975,7 +134946,7 @@ func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
if !(n != 0) {
break
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
return n
}
@@ -135011,26 +134982,28 @@ func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
return r
}
-func _walk(tls *TLS, r uintptr, action uintptr, d int32) {
+func _walk(tls *TLS, r uintptr, __ccgo_fp_action uintptr, d int32) {
if !(r != 0) {
return
}
if (*Tnode1)(unsafe.Pointer(r)).Fh == int32(1) {
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_leaf), d)
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_leaf), d)
} else {
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_preorder), d)
- _walk(tls, *(*uintptr)(unsafe.Pointer(r + 4)), action, d+int32(1))
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_postorder), d)
- _walk(tls, *(*uintptr)(unsafe.Pointer(r + 4 + 1*4)), action, d+int32(1))
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_endorder), d)
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_preorder), d)
+ _walk(tls, *(*uintptr)(unsafe.Pointer(r + 4)), __ccgo_fp_action, d+int32(1))
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_postorder), d)
+ _walk(tls, *(*uintptr)(unsafe.Pointer(r + 4 + 1*4)), __ccgo_fp_action, d+int32(1))
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_endorder), d)
}
}
-func Xtwalk(tls *TLS, root uintptr, action uintptr) {
+type t__ccgo_fp__Xtwalk_1 = func(*TLS, uintptr, int32, int32)
+
+func Xtwalk(tls *TLS, root uintptr, __ccgo_fp_action uintptr) {
if __ccgo_strace {
- trc("tls=%v root=%v action=%v, (%v:)", tls, root, action, origin(2))
+ trc("tls=%v root=%v __ccgo_fp_action=%v, (%v:)", tls, root, __ccgo_fp_action, origin(2))
}
- _walk(tls, root, action, 0)
+ _walk(tls, root, __ccgo_fp_action, 0)
}
func Xpoll(tls *TLS, fds uintptr, n Tnfds_t, timeout int32) (r int32) {
@@ -135041,8 +135014,6 @@ func Xpoll(tls *TLS, fds uintptr, n Tnfds_t, timeout int32) (r int32) {
return X__syscall_ret(tls, Uint32FromInt32(___syscall_cp(tls, int32(SYS_poll), int32(fds), Int32FromUint32(n), timeout, 0, 0, 0)))
}
-type t__ucontext3 = Tucontext_t5
-
func Xppoll(tls *TLS, fds uintptr, n Tnfds_t, to uintptr, mask uintptr) (r1 int32) {
if __ccgo_strace {
trc("tls=%v fds=%v n=%v to=%v mask=%v, (%v:)", tls, fds, n, to, mask, origin(2))
@@ -135102,8 +135073,6 @@ func Xppoll(tls *TLS, fds uintptr, n Tnfds_t, to uintptr, mask uintptr) (r1 int3
return X__syscall_ret(tls, Uint32FromInt32(___syscall_cp(tls, int32(SYS_ppoll), int32(fds), Int32FromUint32(n), int32(v5), int32(mask), int32(Int32FromInt32(_NSIG)/Int32FromInt32(8)), 0)))
}
-type t__ucontext4 = Tucontext_t4
-
func Xpselect(tls *TLS, n int32, rfds uintptr, wfds uintptr, efds uintptr, ts uintptr, mask uintptr) (r1 int32) {
if __ccgo_strace {
trc("tls=%v n=%v rfds=%v wfds=%v efds=%v ts=%v mask=%v, (%v:)", tls, n, rfds, wfds, efds, ts, mask, origin(2))
@@ -135168,15 +135137,6 @@ func Xpselect(tls *TLS, n int32, rfds uintptr, wfds uintptr, efds uintptr, ts ui
return X__syscall_ret(tls, Uint32FromInt32(___syscall_cp(tls, int32(SYS_pselect6), n, int32(rfds), int32(wfds), int32(efds), int32(v5), int32(bp+24))))
}
-type Tucontext_t6 = struct {
- Fuc_flags uint32
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t
- Fuc_sigmask Tsigset_t
- F__fpregs_mem [28]uint32
-}
-
func Xselect(tls *TLS, n int32, rfds uintptr, wfds uintptr, efds uintptr, tv uintptr) (r1 int32) {
if __ccgo_strace {
trc("tls=%v n=%v rfds=%v wfds=%v efds=%v tv=%v, (%v:)", tls, n, rfds, wfds, efds, tv, origin(2))
@@ -135623,15 +135583,6 @@ func Xsigaltstack(tls *TLS, ss uintptr, old uintptr) (r int32) {
const SST_SIZE = 8
-type Tucontext_t7 = struct {
- Fuc_flags uint32
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t1
- Fuc_sigmask Tsigset_t
- F__fpregs_mem [28]uint32
-}
-
func Xsigandset(tls *TLS, dest uintptr, left uintptr, right uintptr) (r1 int32) {
if __ccgo_strace {
trc("tls=%v dest=%v left=%v right=%v, (%v:)", tls, dest, left, right, origin(2))
@@ -144658,9 +144609,11 @@ func Xatoll(tls *TLS, s uintptr) (r int64) {
return v5
}
-func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xbsearch_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nel=%v width=%v cmp=%v, (%v:)", tls, key, base, nel, width, cmp, origin(2))
+ trc("tls=%v key=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, base, nel, width, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var sign int32
@@ -144668,7 +144621,7 @@ func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, c
_, _ = sign, try
for nel > uint32(0) {
try = base + uintptr(width*(nel/uint32(2)))
- sign = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, try)
+ sign = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, try)
if sign < 0 {
nel /= uint32(2)
} else {
@@ -144938,7 +144891,7 @@ func _shr(tls *TLS, p uintptr, n int32) {
*(*Tsize_t)(unsafe.Pointer(p + 1*4)) >>= Uint32FromInt32(n)
}
-func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshift int32, lp uintptr) {
+func _sift(tls *TLS, head uintptr, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr, pshift int32, lp uintptr) {
bp := tls.Alloc(240)
defer tls.Free(240)
var i, v1, v2 int32
@@ -144950,10 +144903,10 @@ func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshi
for pshift > int32(1) {
rt = head - uintptr(width)
lf = head - uintptr(width) - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift-int32(2))*4)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, (*(*[57]uintptr)(unsafe.Pointer(bp)))[0], lf, arg) >= 0 && (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, (*(*[57]uintptr)(unsafe.Pointer(bp)))[0], rt, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, (*(*[57]uintptr)(unsafe.Pointer(bp)))[0], lf, arg) >= 0 && (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, (*(*[57]uintptr)(unsafe.Pointer(bp)))[0], rt, arg) >= 0 {
break
}
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, lf, rt, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, lf, rt, arg) >= 0 {
v1 = i
i++
(*(*[57]uintptr)(unsafe.Pointer(bp)))[v1] = lf
@@ -144970,7 +144923,7 @@ func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshi
_cycle(tls, width, bp, i)
}
-func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pp uintptr, pshift int32, trusty int32, lp uintptr) {
+func _trinkle(tls *TLS, head uintptr, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr, pp uintptr, pshift int32, trusty int32, lp uintptr) {
bp := tls.Alloc(240)
defer tls.Free(240)
var i, trail, v1 int32
@@ -144984,13 +144937,13 @@ func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, p
(*(*[57]uintptr)(unsafe.Pointer(bp + 8)))[0] = head
for (*(*[2]Tsize_t)(unsafe.Pointer(bp)))[0] != uint32(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp)))[int32(1)] != uint32(0) {
stepson = head - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift)*4)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, stepson, (*(*[57]uintptr)(unsafe.Pointer(bp + 8)))[0], arg) <= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, stepson, (*(*[57]uintptr)(unsafe.Pointer(bp + 8)))[0], arg) <= 0 {
break
}
if !(trusty != 0) && pshift > int32(1) {
rt = head - uintptr(width)
lf = head - uintptr(width) - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift-int32(2))*4)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, rt, stepson, arg) >= 0 || (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, lf, stepson, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, rt, stepson, arg) >= 0 || (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, lf, stepson, arg) >= 0 {
break
}
}
@@ -145005,13 +144958,15 @@ func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, p
}
if !(trusty != 0) {
_cycle(tls, width, bp+8, i)
- _sift(tls, head, width, cmp, arg, pshift, lp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, lp)
}
}
-func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun, arg uintptr) {
+type t__ccgo_fp__X__qsort_r_3 = func(*TLS, uintptr, uintptr, uintptr) int32
+
+func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v arg=%v, (%v:)", tls, base, nel, width, cmp, arg, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v arg=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, arg, origin(2))
}
bp := tls.Alloc(208)
defer tls.Free(208)
@@ -145049,14 +145004,14 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
}
for head < high {
if (*(*[2]Tsize_t)(unsafe.Pointer(bp + 192)))[0]&uint32(3) == uint32(3) {
- _sift(tls, head, width, cmp, arg, pshift, bp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, bp)
_shr(tls, bp+192, int32(2))
pshift += int32(2)
} else {
if (*(*[48]Tsize_t)(unsafe.Pointer(bp)))[pshift-int32(1)] >= Uint32FromInt32(int32(high)-int32(head)) {
- _trinkle(tls, head, width, cmp, arg, bp+192, pshift, 0, bp)
+ _trinkle(tls, head, width, __ccgo_fp_cmp, arg, bp+192, pshift, 0, bp)
} else {
- _sift(tls, head, width, cmp, arg, pshift, bp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, bp)
}
if pshift == int32(1) {
_shl(tls, bp+192, int32(1))
@@ -145069,7 +145024,7 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
*(*Tsize_t)(unsafe.Pointer(bp + 192)) |= uint32(1)
head += uintptr(width)
}
- _trinkle(tls, head, width, cmp, arg, bp+192, pshift, 0, bp)
+ _trinkle(tls, head, width, __ccgo_fp_cmp, arg, bp+192, pshift, 0, bp)
for pshift != int32(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp + 192)))[0] != uint32(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp + 192)))[int32(1)] != uint32(0) {
if pshift <= int32(1) {
trail = _pntz(tls, bp+192)
@@ -145080,31 +145035,35 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
pshift -= int32(2)
*(*Tsize_t)(unsafe.Pointer(bp + 192)) ^= uint32(7)
_shr(tls, bp+192, int32(1))
- _trinkle(tls, head-uintptr((*(*[48]Tsize_t)(unsafe.Pointer(bp)))[pshift])-uintptr(width), width, cmp, arg, bp+192, pshift+int32(1), int32(1), bp)
+ _trinkle(tls, head-uintptr((*(*[48]Tsize_t)(unsafe.Pointer(bp)))[pshift])-uintptr(width), width, __ccgo_fp_cmp, arg, bp+192, pshift+int32(1), int32(1), bp)
_shl(tls, bp+192, int32(1))
*(*Tsize_t)(unsafe.Pointer(bp + 192)) |= uint32(1)
- _trinkle(tls, head-uintptr(width), width, cmp, arg, bp+192, pshift, int32(1), bp)
+ _trinkle(tls, head-uintptr(width), width, __ccgo_fp_cmp, arg, bp+192, pshift, int32(1), bp)
}
head -= uintptr(width)
}
}
-func Xqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun, arg uintptr) {
+type t__ccgo_fp__Xqsort_r_3 = func(*TLS, uintptr, uintptr, uintptr) int32
+
+func Xqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v arg=%v, (%v:)", tls, base, nel, width, cmp, arg, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v arg=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, arg, origin(2))
}
- X__qsort_r(tls, base, nel, width, cmp, arg)
+ X__qsort_r(tls, base, nel, width, __ccgo_fp_cmp, arg)
}
func _wrapper_cmp(tls *TLS, v1 uintptr, v2 uintptr, cmp uintptr) (r int32) {
return (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, v1, v2)
}
-func Xqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun) {
+type t__ccgo_fp__Xqsort_3 = func(*TLS, uintptr, uintptr) int32
+
+func Xqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v, (%v:)", tls, base, nel, width, cmp, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, origin(2))
}
- X__qsort_r(tls, base, nel, width, __ccgo_fp(_wrapper_cmp), cmp)
+ X__qsort_r(tls, base, nel, width, __ccgo_fp(_wrapper_cmp), __ccgo_fp_cmp)
}
func _strtox(tls *TLS, s uintptr, p uintptr, prec int32) (r float64) {
@@ -153810,8 +153769,6 @@ func X__utimes_time32(tls *TLS, path uintptr, times32 uintptr) (r int32) {
return Xutimes(tls, path, v1)
}
-type t__ucontext5 = Tucontext_t7
-
func X__wait3_time32(tls *TLS, status uintptr, options int32, usage uintptr) (r1 Tpid_t) {
if __ccgo_strace {
trc("tls=%v status=%v options=%v usage=%v, (%v:)", tls, status, options, usage, origin(2))
diff --git a/vendor/modernc.org/libc/ccgo_linux_amd64.go b/vendor/modernc.org/libc/ccgo_linux_amd64.go
index 15c013442d02a..a93029e552c15 100644
--- a/vendor/modernc.org/libc/ccgo_linux_amd64.go
+++ b/vendor/modernc.org/libc/ccgo_linux_amd64.go
@@ -24913,9 +24913,13 @@ func Xrewinddir(tls *TLS, dir uintptr) {
___unlock(tls, dir+20)
}
-func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r int32) {
+type t__ccgo_fp__Xscandir_2 = func(*TLS, uintptr) int32
+
+type t__ccgo_fp__Xscandir_3 = func(*TLS, uintptr, uintptr) int32
+
+func Xscandir(tls *TLS, path uintptr, res uintptr, __ccgo_fp_sel uintptr, __ccgo_fp_cmp uintptr) (r int32) {
if __ccgo_strace {
- trc("tls=%v path=%v res=%v sel=%v cmp=%v, (%v:)", tls, path, res, sel, cmp, origin(2))
+ trc("tls=%v path=%v res=%v __ccgo_fp_sel=%v __ccgo_fp_cmp=%v, (%v:)", tls, path, res, __ccgo_fp_sel, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var cnt, len1, v2, v3 Tsize_t
@@ -24937,7 +24941,7 @@ func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r
if !(v1 != 0) {
break
}
- if sel != 0 && !((*(*func(*TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{sel})))(tls, de) != 0) {
+ if __ccgo_fp_sel != 0 && !((*(*func(*TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_sel})))(tls, de) != 0) {
continue
}
if cnt >= len1 {
@@ -24975,8 +24979,8 @@ func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r
return -int32(1)
}
*(*int32)(unsafe.Pointer(X__errno_location(tls))) = old_errno
- if cmp != 0 {
- Xqsort(tls, names, cnt, uint64(8), cmp)
+ if __ccgo_fp_cmp != 0 {
+ Xqsort(tls, names, cnt, uint64(8), __ccgo_fp_cmp)
}
*(*uintptr)(unsafe.Pointer(res)) = names
return Int32FromUint64(cnt)
@@ -25723,9 +25727,11 @@ func X__funcs_on_quick_exit(tls *TLS) {
}
}
-func Xat_quick_exit(tls *TLS, func1 uintptr) (r1 int32) {
+type t__ccgo_fp__Xat_quick_exit_0 = func(*TLS)
+
+func Xat_quick_exit(tls *TLS, __ccgo_fp_func uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v func1=%v, (%v:)", tls, func1, origin(2))
+ trc("tls=%v __ccgo_fp_func=%v, (%v:)", tls, __ccgo_fp_func, origin(2))
defer func() { trc("-> %v", r1) }()
}
var r, v1 int32
@@ -25737,7 +25743,7 @@ func Xat_quick_exit(tls *TLS, func1 uintptr) (r1 int32) {
} else {
v1 = _count
_count++
- _funcs[v1] = func1
+ _funcs[v1] = __ccgo_fp_func
}
___unlock(tls, uintptr(unsafe.Pointer(&_lock)))
return r
@@ -28206,15 +28212,17 @@ type TFTW = struct {
Flevel int32
}
-func Xftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32) (r int32) {
+type t__ccgo_fp__Xftw_1 = func(*TLS, uintptr, uintptr, int32) int32
+
+func Xftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32) (r int32) {
if __ccgo_strace {
- trc("tls=%v path=%v fn=%v fd_limit=%v, (%v:)", tls, path, fn, fd_limit, origin(2))
+ trc("tls=%v path=%v __ccgo_fp_fn=%v fd_limit=%v, (%v:)", tls, path, __ccgo_fp_fn, fd_limit, origin(2))
defer func() { trc("-> %v", r) }()
}
/* The following cast assumes that calling a function with one
* argument more than it needs behaves as expected. This is
* actually undefined, but works on all real-world machines. */
- return Xnftw(tls, path, fn, fd_limit, int32(FTW_PHYS))
+ return Xnftw(tls, path, __ccgo_fp_fn, fd_limit, int32(FTW_PHYS))
}
const STATX_ALL = 4095
@@ -31199,15 +31207,6 @@ func Xfremovexattr(tls *TLS, fd int32, name uintptr) (r int32) {
return int32(X__syscall_ret(tls, Uint64FromInt64(X__syscall2(tls, int64(SYS_fremovexattr), int64(fd), int64(name)))))
}
-type Tucontext_t2 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t
- Fuc_sigmask Tsigset_t
- F__fpregs_mem [64]uint64
-}
-
func _dummy4(tls *TLS, msg uintptr, lm uintptr) (r uintptr) {
return msg
}
@@ -114152,16 +114151,7 @@ func Xgethostid(tls *TLS) (r int64) {
const optpos = 0
-type Tucontext_t3 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t1
- Fuc_sigmask Tsigset_t
- F__fpregs_mem [64]uint64
-}
-
-type t__ucontext1 = Tucontext_t3
+type t__ucontext1 = Tucontext_t1
func X__getopt_msg(tls *TLS, a uintptr, b uintptr, c uintptr, l Tsize_t) {
if __ccgo_strace {
@@ -115309,7 +115299,7 @@ type Thistory = struct {
Fbase int32
}
-func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h uintptr) (r1 int32) {
+func _do_nftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32, flags int32, h uintptr) (r1 int32) {
bp := tls.Alloc(192)
defer tls.Free(192)
var d, de, v10 uintptr
@@ -115415,7 +115405,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
}
if v8 = !(flags&Int32FromInt32(FTW_DEPTH) != 0); v8 {
- v7 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{fn})))(tls, path, bp, type1, bp+176)
+ v7 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_fn})))(tls, path, bp, type1, bp+176)
r = v7
}
if v8 && v7 != 0 {
@@ -115456,7 +115446,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
*(*int8)(unsafe.Pointer(path + uintptr(j))) = int8('/')
Xstrcpy(tls, path+uintptr(j)+uintptr(1), de+19)
- v11 = _do_nftw(tls, path, fn, fd_limit-int32(1), flags, bp+144)
+ v11 = _do_nftw(tls, path, __ccgo_fp_fn, fd_limit-int32(1), flags, bp+144)
r = v11
if v11 != 0 {
Xclosedir(tls, d)
@@ -115471,7 +115461,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
*(*int8)(unsafe.Pointer(path + uintptr(l))) = 0
if v13 = flags&int32(FTW_DEPTH) != 0; v13 {
- v12 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{fn})))(tls, path, bp, type1, bp+176)
+ v12 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_fn})))(tls, path, bp, type1, bp+176)
r = v12
}
if v13 && v12 != 0 {
@@ -115480,9 +115470,11 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
return 0
}
-func Xnftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32) (r1 int32) {
+type t__ccgo_fp__Xnftw_1 = func(*TLS, uintptr, uintptr, int32, uintptr) int32
+
+func Xnftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32, flags int32) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v path=%v fn=%v fd_limit=%v flags=%v, (%v:)", tls, path, fn, fd_limit, flags, origin(2))
+ trc("tls=%v path=%v __ccgo_fp_fn=%v fd_limit=%v flags=%v, (%v:)", tls, path, __ccgo_fp_fn, fd_limit, flags, origin(2))
defer func() { trc("-> %v", r1) }()
}
bp := tls.Alloc(4112)
@@ -115502,7 +115494,7 @@ func Xnftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32) (r1
}
Xmemcpy(tls, bp+4, path, l+uint64(1))
_pthread_setcancelstate(tls, int32(PTHREAD_CANCEL_DISABLE), bp)
- r = _do_nftw(tls, bp+4, fn, fd_limit, flags, UintptrFromInt32(0))
+ r = _do_nftw(tls, bp+4, __ccgo_fp_fn, fd_limit, flags, UintptrFromInt32(0))
_pthread_setcancelstate(tls, *(*int32)(unsafe.Pointer(bp)), uintptr(0))
return r
}
@@ -116282,8 +116274,6 @@ type Tsockaddr_storage = struct {
F__ss_align uint64
}
-type t__ucontext2 = Tucontext_t2
-
var _lock2 [1]int32
var _log_ident [32]int8
var _log_opt int32
@@ -116721,15 +116711,6 @@ const SA = 194
const SB = 244
const bittab = 0
-type Tucontext_t4 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t
- Fuc_sigmask Tsigset_t
- F__fpregs_mem [64]uint64
-}
-
func Xbtowc(tls *TLS, c int32) (r Twint_t) {
if __ccgo_strace {
trc("tls=%v c=%v, (%v:)", tls, c, origin(2))
@@ -118449,13 +118430,6 @@ const _ns_uop_delete = 0
const _ns_uop_add = 1
const _ns_uop_max = 2
-type Tns_tsig_key1 = struct {
- Fname [1025]int8
- Falg [1025]int8
- Fdata uintptr
- Flen1 int32
-}
-
type Tns_tsig_key = struct {
Fname [1025]int8
Falg [1025]int8
@@ -118463,14 +118437,6 @@ type Tns_tsig_key = struct {
Flen1 int32
}
-type Tns_tcp_tsig_state1 = struct {
- Fcounter int32
- Fkey uintptr
- Fctx uintptr
- Fsig [512]uint8
- Fsiglen int32
-}
-
type Tns_tcp_tsig_state = struct {
Fcounter int32
Fkey uintptr
@@ -119120,9 +119086,11 @@ type Tresolvconf = struct {
Ftimeout uint32
}
-func X__dns_parse(tls *TLS, r uintptr, rlen int32, callback uintptr, ctx uintptr) (r1 int32) {
+type t__ccgo_fp__X__dns_parse_2 = func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32
+
+func X__dns_parse(tls *TLS, r uintptr, rlen int32, __ccgo_fp_callback uintptr, ctx uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v r=%v rlen=%v callback=%v ctx=%v, (%v:)", tls, r, rlen, callback, ctx, origin(2))
+ trc("tls=%v r=%v rlen=%v __ccgo_fp_callback=%v ctx=%v, (%v:)", tls, r, rlen, __ccgo_fp_callback, ctx, origin(2))
defer func() { trc("-> %v", r1) }()
}
var ancount, len1, qdcount, v1, v2 int32
@@ -119168,7 +119136,7 @@ func X__dns_parse(tls *TLS, r uintptr, rlen int32, callback uintptr, ctx uintptr
if int64(len1+int32(10)) > int64(r+uintptr(rlen))-int64(p) {
return -int32(1)
}
- if (*(*func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{callback})))(tls, ctx, Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 1))), p+uintptr(10), len1, r, rlen) < 0 {
+ if (*(*func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_callback})))(tls, ctx, Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 1))), p+uintptr(10), len1, r, rlen) < 0 {
return -int32(1)
}
p += uintptr(int32(10) + len1)
@@ -121272,19 +121240,6 @@ func Xherror(tls *TLS, msg uintptr) {
Xfprintf(tls, uintptr(unsafe.Pointer(&X__stderr_FILE)), __ccgo_ts+1089, VaList(bp+8, v1, v2, Xhstrerror(tls, *(*int32)(unsafe.Pointer(X__h_errno_location(tls))))))
}
-type Tcpu_set_t1 = struct {
- F__bits [16]uint64
-}
-
-type Tucontext_t5 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t1
- Fuc_sigmask Tsigset_t
- F__fpregs_mem [64]uint64
-}
-
var _msgs1 = [84]int8{'H', 'o', 's', 't', ' ', 'n', 'o', 't', ' ', 'f', 'o', 'u', 'n', 'd', 0, 'T', 'r', 'y', ' ', 'a', 'g', 'a', 'i', 'n', 0, 'N', 'o', 'n', '-', 'r', 'e', 'c', 'o', 'v', 'e', 'r', 'a', 'b', 'l', 'e', ' ', 'e', 'r', 'r', 'o', 'r', 0, 'A', 'd', 'd', 'r', 'e', 's', 's', ' ', 'n', 'o', 't', ' ', 'a', 'v', 'a', 'i', 'l', 'a', 'b', 'l', 'e', 0, 0, 'U', 'n', 'k', 'n', 'o', 'w', 'n', ' ', 'e', 'r', 'r', 'o', 'r'}
func Xhstrerror(tls *TLS, ecode int32) (r uintptr) {
@@ -123072,7 +123027,7 @@ func X__lookup_serv(tls *TLS, buf uintptr, name uintptr, proto int32, socktype i
return v22
}
-func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32, cb uintptr, ctx uintptr) (r1 int32) {
+func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32, __ccgo_fp_cb uintptr, ctx uintptr) (r1 int32) {
bp := tls.Alloc(8192)
defer tls.Free(8192)
var h uintptr
@@ -123162,7 +123117,7 @@ func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32,
if Int32FromUint16((*Tnlmsghdr)(unsafe.Pointer(h)).Fnlmsg_type) == int32(NLMSG_ERROR) {
return -int32(1)
}
- ret = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cb})))(tls, ctx, h)
+ ret = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cb})))(tls, ctx, h)
if ret != 0 {
return ret
}
@@ -123175,9 +123130,11 @@ func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32,
return r1
}
-func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, cb uintptr, ctx uintptr) (r1 int32) {
+type t__ccgo_fp__X__rtnetlink_enumerate_2 = func(*TLS, uintptr, uintptr) int32
+
+func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, __ccgo_fp_cb uintptr, ctx uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v link_af=%v addr_af=%v cb=%v ctx=%v, (%v:)", tls, link_af, addr_af, cb, ctx, origin(2))
+ trc("tls=%v link_af=%v addr_af=%v __ccgo_fp_cb=%v ctx=%v, (%v:)", tls, link_af, addr_af, __ccgo_fp_cb, ctx, origin(2))
defer func() { trc("-> %v", r1) }()
}
var fd, r int32
@@ -123186,9 +123143,9 @@ func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, cb uintptr,
if fd < 0 {
return -int32(1)
}
- r = ___netlink_enumerate(tls, fd, uint32(1), int32(RTM_GETLINK), link_af, cb, ctx)
+ r = ___netlink_enumerate(tls, fd, uint32(1), int32(RTM_GETLINK), link_af, __ccgo_fp_cb, ctx)
if !(r != 0) {
- r = ___netlink_enumerate(tls, fd, uint32(2), int32(RTM_GETADDR), addr_af, cb, ctx)
+ r = ___netlink_enumerate(tls, fd, uint32(2), int32(RTM_GETADDR), addr_af, __ccgo_fp_cb, ctx)
}
X__syscall1(tls, int64(SYS_close), int64(fd))
return r
@@ -128295,7 +128252,7 @@ func _append(tls *TLS, tail uintptr, name uintptr, len1 Tsize_t, mark int32) (r
return 0
}
-func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flags int32, errfunc uintptr, tail uintptr) (r1 int32) {
+func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flags int32, __ccgo_fp_errfunc uintptr, tail uintptr) (r1 int32) {
bp := tls.Alloc(144)
defer tls.Free(144)
var de, dir, p, p2, v11, v2, v7, v8 uintptr
@@ -128404,7 +128361,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
}
}
if !(type1 != 0) && Xlstat(tls, buf, bp) != 0 {
- if *(*int32)(unsafe.Pointer(X__errno_location(tls))) != int32(ENOENT) && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
+ if *(*int32)(unsafe.Pointer(X__errno_location(tls))) != int32(ENOENT) && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
return int32(GLOB_ABORTED)
}
return 0
@@ -128441,7 +128398,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
}
dir = Xopendir(tls, v7)
if !(dir != 0) {
- if (*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0 {
+ if (*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0 {
return int32(GLOB_ABORTED)
}
return 0
@@ -128493,7 +128450,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
} else {
v11 = __ccgo_ts
}
- r = _do_glob(tls, buf, pos+l, Int32FromUint8((*Tdirent)(unsafe.Pointer(de)).Fd_type), v11, flags, errfunc, tail)
+ r = _do_glob(tls, buf, pos+l, Int32FromUint8((*Tdirent)(unsafe.Pointer(de)).Fd_type), v11, flags, __ccgo_fp_errfunc, tail)
if r != 0 {
Xclosedir(tls, dir)
return r
@@ -128504,7 +128461,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
*(*int8)(unsafe.Pointer(p2)) = saved_sep
}
Xclosedir(tls, dir)
- if readerr != 0 && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
+ if readerr != 0 && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
return int32(GLOB_ABORTED)
}
*(*int32)(unsafe.Pointer(X__errno_location(tls))) = old_errno
@@ -128616,9 +128573,11 @@ func _expand_tilde(tls *TLS, pat uintptr, buf uintptr, pos uintptr) (r int32) {
return 0
}
-func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r int32) {
+type t__ccgo_fp__Xglob_2 = func(*TLS, uintptr, int32) int32
+
+func Xglob(tls *TLS, pat uintptr, flags int32, __ccgo_fp_errfunc uintptr, g uintptr) (r int32) {
if __ccgo_strace {
- trc("tls=%v pat=%v flags=%v errfunc=%v g=%v, (%v:)", tls, pat, flags, errfunc, g, origin(2))
+ trc("tls=%v pat=%v flags=%v __ccgo_fp_errfunc=%v g=%v, (%v:)", tls, pat, flags, __ccgo_fp_errfunc, g, origin(2))
defer func() { trc("-> %v", r) }()
}
bp := tls.Alloc(4128)
@@ -128644,8 +128603,8 @@ func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r in
}
offs = v1
error1 = 0
- if !(errfunc != 0) {
- errfunc = __ccgo_fp(_ignore_err)
+ if !(__ccgo_fp_errfunc != 0) {
+ __ccgo_fp_errfunc = __ccgo_fp(_ignore_err)
}
if !(flags&Int32FromInt32(GLOB_APPEND) != 0) {
(*Tglob_t)(unsafe.Pointer(g)).Fgl_offs = offs
@@ -128664,7 +128623,7 @@ func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r in
error1 = _expand_tilde(tls, bp+4120, bp+16, bp+4112)
}
if !(error1 != 0) {
- error1 = _do_glob(tls, bp+16, *(*Tsize_t)(unsafe.Pointer(bp + 4112)), 0, *(*uintptr)(unsafe.Pointer(bp + 4120)), flags, errfunc, bp+8)
+ error1 = _do_glob(tls, bp+16, *(*Tsize_t)(unsafe.Pointer(bp + 4112)), 0, *(*uintptr)(unsafe.Pointer(bp + 4120)), flags, __ccgo_fp_errfunc, bp+8)
}
Xfree(tls, p)
}
@@ -133888,9 +133847,11 @@ func Xremque(tls *TLS, element uintptr) {
}
}
-func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr) {
+type t__ccgo_fp__Xlsearch_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nelp=%v width=%v compar=%v, (%v:)", tls, key, base, nelp, width, compar, origin(2))
+ trc("tls=%v key=%v base=%v nelp=%v width=%v __ccgo_fp_compar=%v, (%v:)", tls, key, base, nelp, width, __ccgo_fp_compar, origin(2))
defer func() { trc("-> %v", r) }()
}
var i, n Tsize_t
@@ -133906,7 +133867,7 @@ func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t,
if !(i < n) {
break
}
- if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
+ if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
return p + uintptr(i)*uintptr(v1)
}
goto _2
@@ -133918,9 +133879,11 @@ func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t,
return Xmemcpy(tls, p+uintptr(n)*uintptr(v1), key, width)
}
-func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr) {
+type t__ccgo_fp__Xlfind_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nelp=%v width=%v compar=%v, (%v:)", tls, key, base, nelp, width, compar, origin(2))
+ trc("tls=%v key=%v base=%v nelp=%v width=%v __ccgo_fp_compar=%v, (%v:)", tls, key, base, nelp, width, __ccgo_fp_compar, origin(2))
defer func() { trc("-> %v", r) }()
}
var i, n Tsize_t
@@ -133936,7 +133899,7 @@ func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, co
if !(i < n) {
break
}
- if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
+ if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
return p + uintptr(i)*uintptr(v1)
}
goto _2
@@ -133955,9 +133918,11 @@ type Tnode1 = struct {
Fh int32
}
-func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xtdelete_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtdelete(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var a [97]uintptr
@@ -133981,7 +133946,7 @@ func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
if !(n != 0) {
return uintptr(0)
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
break
}
@@ -134026,9 +133991,11 @@ func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
return parent
}
-func Xtdestroy(tls *TLS, root uintptr, freekey uintptr) {
+type t__ccgo_fp__Xtdestroy_1 = func(*TLS, uintptr)
+
+func Xtdestroy(tls *TLS, root uintptr, __ccgo_fp_freekey uintptr) {
if __ccgo_strace {
- trc("tls=%v root=%v freekey=%v, (%v:)", tls, root, freekey, origin(2))
+ trc("tls=%v root=%v __ccgo_fp_freekey=%v, (%v:)", tls, root, __ccgo_fp_freekey, origin(2))
}
var r uintptr
_ = r
@@ -134036,17 +134003,19 @@ func Xtdestroy(tls *TLS, root uintptr, freekey uintptr) {
if r == uintptr(0) {
return
}
- Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8)), freekey)
- Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), freekey)
- if freekey != 0 {
- (*(*func(*TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{freekey})))(tls, (*Tnode1)(unsafe.Pointer(r)).Fkey)
+ Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8)), __ccgo_fp_freekey)
+ Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), __ccgo_fp_freekey)
+ if __ccgo_fp_freekey != 0 {
+ (*(*func(*TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_freekey})))(tls, (*Tnode1)(unsafe.Pointer(r)).Fkey)
}
Xfree(tls, r)
}
-func Xtfind(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xtfind_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtfind(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var c int32
@@ -134060,7 +134029,7 @@ func Xtfind(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
if !(n != 0) {
break
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
break
}
@@ -134148,9 +134117,11 @@ func X__tsearch_balance(tls *TLS, p uintptr) (r int32) {
return _rot(tls, p, n, BoolInt32(h0 < h1))
}
-func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
+type t__ccgo_fp__Xtsearch_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtsearch(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r1 uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r1) }()
}
var a [96]uintptr
@@ -134170,7 +134141,7 @@ func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
if !(n != 0) {
break
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
return n
}
@@ -134206,26 +134177,28 @@ func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
return r
}
-func _walk(tls *TLS, r uintptr, action uintptr, d int32) {
+func _walk(tls *TLS, r uintptr, __ccgo_fp_action uintptr, d int32) {
if !(r != 0) {
return
}
if (*Tnode1)(unsafe.Pointer(r)).Fh == int32(1) {
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_leaf), d)
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_leaf), d)
} else {
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_preorder), d)
- _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8)), action, d+int32(1))
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_postorder), d)
- _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), action, d+int32(1))
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_endorder), d)
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_preorder), d)
+ _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8)), __ccgo_fp_action, d+int32(1))
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_postorder), d)
+ _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), __ccgo_fp_action, d+int32(1))
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_endorder), d)
}
}
-func Xtwalk(tls *TLS, root uintptr, action uintptr) {
+type t__ccgo_fp__Xtwalk_1 = func(*TLS, uintptr, int32, int32)
+
+func Xtwalk(tls *TLS, root uintptr, __ccgo_fp_action uintptr) {
if __ccgo_strace {
- trc("tls=%v root=%v action=%v, (%v:)", tls, root, action, origin(2))
+ trc("tls=%v root=%v __ccgo_fp_action=%v, (%v:)", tls, root, __ccgo_fp_action, origin(2))
}
- _walk(tls, root, action, 0)
+ _walk(tls, root, __ccgo_fp_action, 0)
}
func Xpoll(tls *TLS, fds uintptr, n Tnfds_t, timeout int32) (r int32) {
@@ -134236,8 +134209,6 @@ func Xpoll(tls *TLS, fds uintptr, n Tnfds_t, timeout int32) (r int32) {
return int32(X__syscall_ret(tls, Uint64FromInt64(___syscall_cp(tls, int64(SYS_poll), int64(fds), Int64FromUint64(n), int64(timeout), 0, 0, 0))))
}
-type t__ucontext3 = Tucontext_t5
-
func Xppoll(tls *TLS, fds uintptr, n Tnfds_t, to uintptr, mask uintptr) (r int32) {
if __ccgo_strace {
trc("tls=%v fds=%v n=%v to=%v mask=%v, (%v:)", tls, fds, n, to, mask, origin(2))
@@ -134273,8 +134244,6 @@ func Xppoll(tls *TLS, fds uintptr, n Tnfds_t, to uintptr, mask uintptr) (r int32
return int32(X__syscall_ret(tls, Uint64FromInt64(___syscall_cp(tls, int64(SYS_ppoll), int64(fds), Int64FromUint64(n), int64(v3), int64(mask), int64(Int32FromInt32(_NSIG)/Int32FromInt32(8)), 0))))
}
-type t__ucontext4 = Tucontext_t4
-
func Xpselect(tls *TLS, n int32, rfds uintptr, wfds uintptr, efds uintptr, ts uintptr, mask uintptr) (r int32) {
if __ccgo_strace {
trc("tls=%v n=%v rfds=%v wfds=%v efds=%v ts=%v mask=%v, (%v:)", tls, n, rfds, wfds, efds, ts, mask, origin(2))
@@ -134315,15 +134284,6 @@ func Xpselect(tls *TLS, n int32, rfds uintptr, wfds uintptr, efds uintptr, ts ui
return int32(X__syscall_ret(tls, Uint64FromInt64(___syscall_cp(tls, int64(SYS_pselect6), int64(n), int64(rfds), int64(wfds), int64(efds), int64(v3), int64(bp+16)))))
}
-type Tucontext_t6 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t
- Fuc_sigmask Tsigset_t
- F__fpregs_mem [64]uint64
-}
-
func Xselect(tls *TLS, n int32, rfds uintptr, wfds uintptr, efds uintptr, tv uintptr) (r int32) {
if __ccgo_strace {
trc("tls=%v n=%v rfds=%v wfds=%v efds=%v tv=%v, (%v:)", tls, n, rfds, wfds, efds, tv, origin(2))
@@ -134739,15 +134699,6 @@ func Xsigaltstack(tls *TLS, ss uintptr, old uintptr) (r int32) {
const SST_SIZE = 8
-type Tucontext_t7 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t1
- Fuc_sigmask Tsigset_t
- F__fpregs_mem [64]uint64
-}
-
func Xsigandset(tls *TLS, dest uintptr, left uintptr, right uintptr) (r1 int32) {
if __ccgo_strace {
trc("tls=%v dest=%v left=%v right=%v, (%v:)", tls, dest, left, right, origin(2))
@@ -143794,9 +143745,11 @@ func Xatoll(tls *TLS, s uintptr) (r int64) {
return v5
}
-func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xbsearch_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nel=%v width=%v cmp=%v, (%v:)", tls, key, base, nel, width, cmp, origin(2))
+ trc("tls=%v key=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, base, nel, width, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var sign int32
@@ -143804,7 +143757,7 @@ func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, c
_, _ = sign, try
for nel > uint64(0) {
try = base + uintptr(width*(nel/uint64(2)))
- sign = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, try)
+ sign = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, try)
if sign < 0 {
nel /= uint64(2)
} else {
@@ -144065,7 +144018,7 @@ func _shr(tls *TLS, p uintptr, n int32) {
*(*Tsize_t)(unsafe.Pointer(p + 1*8)) >>= Uint64FromInt32(n)
}
-func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshift int32, lp uintptr) {
+func _sift(tls *TLS, head uintptr, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr, pshift int32, lp uintptr) {
bp := tls.Alloc(912)
defer tls.Free(912)
var i, v1, v2 int32
@@ -144077,10 +144030,10 @@ func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshi
for pshift > int32(1) {
rt = head - uintptr(width)
lf = head - uintptr(width) - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift-int32(2))*8)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], lf, arg) >= 0 && (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], rt, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], lf, arg) >= 0 && (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], rt, arg) >= 0 {
break
}
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, lf, rt, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, lf, rt, arg) >= 0 {
v1 = i
i++
(*(*[113]uintptr)(unsafe.Pointer(bp)))[v1] = lf
@@ -144097,7 +144050,7 @@ func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshi
_cycle(tls, width, bp, i)
}
-func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pp uintptr, pshift int32, trusty int32, lp uintptr) {
+func _trinkle(tls *TLS, head uintptr, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr, pp uintptr, pshift int32, trusty int32, lp uintptr) {
bp := tls.Alloc(928)
defer tls.Free(928)
var i, trail, v1 int32
@@ -144111,13 +144064,13 @@ func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, p
(*(*[113]uintptr)(unsafe.Pointer(bp + 16)))[0] = head
for (*(*[2]Tsize_t)(unsafe.Pointer(bp)))[0] != uint64(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp)))[int32(1)] != uint64(0) {
stepson = head - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift)*8)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, stepson, (*(*[113]uintptr)(unsafe.Pointer(bp + 16)))[0], arg) <= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, stepson, (*(*[113]uintptr)(unsafe.Pointer(bp + 16)))[0], arg) <= 0 {
break
}
if !(trusty != 0) && pshift > int32(1) {
rt = head - uintptr(width)
lf = head - uintptr(width) - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift-int32(2))*8)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, rt, stepson, arg) >= 0 || (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, lf, stepson, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, rt, stepson, arg) >= 0 || (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, lf, stepson, arg) >= 0 {
break
}
}
@@ -144132,13 +144085,15 @@ func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, p
}
if !(trusty != 0) {
_cycle(tls, width, bp+16, i)
- _sift(tls, head, width, cmp, arg, pshift, lp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, lp)
}
}
-func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun, arg uintptr) {
+type t__ccgo_fp__X__qsort_r_3 = func(*TLS, uintptr, uintptr, uintptr) int32
+
+func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v arg=%v, (%v:)", tls, base, nel, width, cmp, arg, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v arg=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, arg, origin(2))
}
bp := tls.Alloc(784)
defer tls.Free(784)
@@ -144176,14 +144131,14 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
}
for head < high {
if (*(*[2]Tsize_t)(unsafe.Pointer(bp + 768)))[0]&uint64(3) == uint64(3) {
- _sift(tls, head, width, cmp, arg, pshift, bp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, bp)
_shr(tls, bp+768, int32(2))
pshift += int32(2)
} else {
if (*(*[96]Tsize_t)(unsafe.Pointer(bp)))[pshift-int32(1)] >= Uint64FromInt64(int64(high)-int64(head)) {
- _trinkle(tls, head, width, cmp, arg, bp+768, pshift, 0, bp)
+ _trinkle(tls, head, width, __ccgo_fp_cmp, arg, bp+768, pshift, 0, bp)
} else {
- _sift(tls, head, width, cmp, arg, pshift, bp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, bp)
}
if pshift == int32(1) {
_shl(tls, bp+768, int32(1))
@@ -144196,7 +144151,7 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
*(*Tsize_t)(unsafe.Pointer(bp + 768)) |= uint64(1)
head += uintptr(width)
}
- _trinkle(tls, head, width, cmp, arg, bp+768, pshift, 0, bp)
+ _trinkle(tls, head, width, __ccgo_fp_cmp, arg, bp+768, pshift, 0, bp)
for pshift != int32(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp + 768)))[0] != uint64(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp + 768)))[int32(1)] != uint64(0) {
if pshift <= int32(1) {
trail = _pntz(tls, bp+768)
@@ -144207,31 +144162,35 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
pshift -= int32(2)
*(*Tsize_t)(unsafe.Pointer(bp + 768)) ^= uint64(7)
_shr(tls, bp+768, int32(1))
- _trinkle(tls, head-uintptr((*(*[96]Tsize_t)(unsafe.Pointer(bp)))[pshift])-uintptr(width), width, cmp, arg, bp+768, pshift+int32(1), int32(1), bp)
+ _trinkle(tls, head-uintptr((*(*[96]Tsize_t)(unsafe.Pointer(bp)))[pshift])-uintptr(width), width, __ccgo_fp_cmp, arg, bp+768, pshift+int32(1), int32(1), bp)
_shl(tls, bp+768, int32(1))
*(*Tsize_t)(unsafe.Pointer(bp + 768)) |= uint64(1)
- _trinkle(tls, head-uintptr(width), width, cmp, arg, bp+768, pshift, int32(1), bp)
+ _trinkle(tls, head-uintptr(width), width, __ccgo_fp_cmp, arg, bp+768, pshift, int32(1), bp)
}
head -= uintptr(width)
}
}
-func Xqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun, arg uintptr) {
+type t__ccgo_fp__Xqsort_r_3 = func(*TLS, uintptr, uintptr, uintptr) int32
+
+func Xqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v arg=%v, (%v:)", tls, base, nel, width, cmp, arg, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v arg=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, arg, origin(2))
}
- X__qsort_r(tls, base, nel, width, cmp, arg)
+ X__qsort_r(tls, base, nel, width, __ccgo_fp_cmp, arg)
}
func _wrapper_cmp(tls *TLS, v1 uintptr, v2 uintptr, cmp uintptr) (r int32) {
return (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, v1, v2)
}
-func Xqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun) {
+type t__ccgo_fp__Xqsort_3 = func(*TLS, uintptr, uintptr) int32
+
+func Xqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v, (%v:)", tls, base, nel, width, cmp, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, origin(2))
}
- X__qsort_r(tls, base, nel, width, __ccgo_fp(_wrapper_cmp), cmp)
+ X__qsort_r(tls, base, nel, width, __ccgo_fp(_wrapper_cmp), __ccgo_fp_cmp)
}
func _strtox(tls *TLS, s uintptr, p uintptr, prec int32) (r float64) {
diff --git a/vendor/modernc.org/libc/ccgo_linux_arm.go b/vendor/modernc.org/libc/ccgo_linux_arm.go
index e621676332655..311fbccf0ad0e 100644
--- a/vendor/modernc.org/libc/ccgo_linux_arm.go
+++ b/vendor/modernc.org/libc/ccgo_linux_arm.go
@@ -25135,9 +25135,13 @@ func Xrewinddir(tls *TLS, dir uintptr) {
___unlock(tls, dir+20)
}
-func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r int32) {
+type t__ccgo_fp__Xscandir_2 = func(*TLS, uintptr) int32
+
+type t__ccgo_fp__Xscandir_3 = func(*TLS, uintptr, uintptr) int32
+
+func Xscandir(tls *TLS, path uintptr, res uintptr, __ccgo_fp_sel uintptr, __ccgo_fp_cmp uintptr) (r int32) {
if __ccgo_strace {
- trc("tls=%v path=%v res=%v sel=%v cmp=%v, (%v:)", tls, path, res, sel, cmp, origin(2))
+ trc("tls=%v path=%v res=%v __ccgo_fp_sel=%v __ccgo_fp_cmp=%v, (%v:)", tls, path, res, __ccgo_fp_sel, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var cnt, len1, v2, v3 Tsize_t
@@ -25159,7 +25163,7 @@ func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r
if !(v1 != 0) {
break
}
- if sel != 0 && !((*(*func(*TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{sel})))(tls, de) != 0) {
+ if __ccgo_fp_sel != 0 && !((*(*func(*TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_sel})))(tls, de) != 0) {
continue
}
if cnt >= len1 {
@@ -25197,8 +25201,8 @@ func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r
return -int32(1)
}
*(*int32)(unsafe.Pointer(X__errno_location(tls))) = old_errno
- if cmp != 0 {
- Xqsort(tls, names, cnt, uint32(4), cmp)
+ if __ccgo_fp_cmp != 0 {
+ Xqsort(tls, names, cnt, uint32(4), __ccgo_fp_cmp)
}
*(*uintptr)(unsafe.Pointer(res)) = names
return Int32FromUint32(cnt)
@@ -25938,9 +25942,11 @@ func X__funcs_on_quick_exit(tls *TLS) {
}
}
-func Xat_quick_exit(tls *TLS, func1 uintptr) (r1 int32) {
+type t__ccgo_fp__Xat_quick_exit_0 = func(*TLS)
+
+func Xat_quick_exit(tls *TLS, __ccgo_fp_func uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v func1=%v, (%v:)", tls, func1, origin(2))
+ trc("tls=%v __ccgo_fp_func=%v, (%v:)", tls, __ccgo_fp_func, origin(2))
defer func() { trc("-> %v", r1) }()
}
var r, v1 int32
@@ -25952,7 +25958,7 @@ func Xat_quick_exit(tls *TLS, func1 uintptr) (r1 int32) {
} else {
v1 = _count
_count++
- _funcs[v1] = func1
+ _funcs[v1] = __ccgo_fp_func
}
___unlock(tls, uintptr(unsafe.Pointer(&_lock)))
return r
@@ -28457,15 +28463,17 @@ type TFTW = struct {
Flevel int32
}
-func Xftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32) (r int32) {
+type t__ccgo_fp__Xftw_1 = func(*TLS, uintptr, uintptr, int32) int32
+
+func Xftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32) (r int32) {
if __ccgo_strace {
- trc("tls=%v path=%v fn=%v fd_limit=%v, (%v:)", tls, path, fn, fd_limit, origin(2))
+ trc("tls=%v path=%v __ccgo_fp_fn=%v fd_limit=%v, (%v:)", tls, path, __ccgo_fp_fn, fd_limit, origin(2))
defer func() { trc("-> %v", r) }()
}
/* The following cast assumes that calling a function with one
* argument more than it needs behaves as expected. This is
* actually undefined, but works on all real-world machines. */
- return Xnftw(tls, path, fn, fd_limit, int32(FTW_PHYS))
+ return Xnftw(tls, path, __ccgo_fp_fn, fd_limit, int32(FTW_PHYS))
}
const STATX_ALL = 4095
@@ -31529,16 +31537,6 @@ func Xfremovexattr(tls *TLS, fd int32, name uintptr) (r int32) {
return X__syscall_ret(tls, Uint32FromInt32(X__syscall2(tls, int32(SYS_fremovexattr), fd, int32(name))))
}
-type Tucontext_t2 = struct {
- F__ccgo_align [0]uint32
- Fuc_flags uint32
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t
- Fuc_sigmask Tsigset_t
- Fuc_regspace [64]uint64
-}
-
func _dummy4(tls *TLS, msg uintptr, lm uintptr) (r uintptr) {
return msg
}
@@ -114778,17 +114776,7 @@ func Xgethostid(tls *TLS) (r int32) {
const optpos = 0
-type Tucontext_t3 = struct {
- F__ccgo_align [0]uint32
- Fuc_flags uint32
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t1
- Fuc_sigmask Tsigset_t
- Fuc_regspace [64]uint64
-}
-
-type t__ucontext1 = Tucontext_t3
+type t__ucontext1 = Tucontext_t1
func X__getopt_msg(tls *TLS, a uintptr, b uintptr, c uintptr, l Tsize_t) {
if __ccgo_strace {
@@ -115943,7 +115931,7 @@ type Thistory = struct {
Fbase int32
}
-func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h uintptr) (r1 int32) {
+func _do_nftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32, flags int32, h uintptr) (r1 int32) {
bp := tls.Alloc(192)
defer tls.Free(192)
var d, de, v10 uintptr
@@ -116049,7 +116037,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
}
if v8 = !(flags&Int32FromInt32(FTW_DEPTH) != 0); v8 {
- v7 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{fn})))(tls, path, bp, type1, bp+184)
+ v7 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_fn})))(tls, path, bp, type1, bp+184)
r = v7
}
if v8 && v7 != 0 {
@@ -116090,7 +116078,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
*(*uint8)(unsafe.Pointer(path + uintptr(j))) = uint8('/')
Xstrcpy(tls, path+uintptr(j)+uintptr(1), de+19)
- v11 = _do_nftw(tls, path, fn, fd_limit-int32(1), flags, bp+152)
+ v11 = _do_nftw(tls, path, __ccgo_fp_fn, fd_limit-int32(1), flags, bp+152)
r = v11
if v11 != 0 {
Xclosedir(tls, d)
@@ -116105,7 +116093,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
*(*uint8)(unsafe.Pointer(path + uintptr(l))) = uint8(0)
if v13 = flags&int32(FTW_DEPTH) != 0; v13 {
- v12 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{fn})))(tls, path, bp, type1, bp+184)
+ v12 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_fn})))(tls, path, bp, type1, bp+184)
r = v12
}
if v13 && v12 != 0 {
@@ -116114,9 +116102,11 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
return 0
}
-func Xnftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32) (r1 int32) {
+type t__ccgo_fp__Xnftw_1 = func(*TLS, uintptr, uintptr, int32, uintptr) int32
+
+func Xnftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32, flags int32) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v path=%v fn=%v fd_limit=%v flags=%v, (%v:)", tls, path, fn, fd_limit, flags, origin(2))
+ trc("tls=%v path=%v __ccgo_fp_fn=%v fd_limit=%v flags=%v, (%v:)", tls, path, __ccgo_fp_fn, fd_limit, flags, origin(2))
defer func() { trc("-> %v", r1) }()
}
bp := tls.Alloc(4112)
@@ -116136,7 +116126,7 @@ func Xnftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32) (r1
}
_memcpy(tls, bp+4, path, l+uint32(1))
_pthread_setcancelstate(tls, int32(PTHREAD_CANCEL_DISABLE), bp)
- r = _do_nftw(tls, bp+4, fn, fd_limit, flags, UintptrFromInt32(0))
+ r = _do_nftw(tls, bp+4, __ccgo_fp_fn, fd_limit, flags, UintptrFromInt32(0))
_pthread_setcancelstate(tls, *(*int32)(unsafe.Pointer(bp)), uintptr(0))
return r
}
@@ -116913,8 +116903,6 @@ type Tsockaddr_storage = struct {
F__ss_align uint32
}
-type t__ucontext2 = Tucontext_t2
-
var _lock2 [1]int32
var _log_ident [32]uint8
var _log_opt int32
@@ -117352,16 +117340,6 @@ const SA = 194
const SB = 244
const bittab = 0
-type Tucontext_t4 = struct {
- F__ccgo_align [0]uint32
- Fuc_flags uint32
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t
- Fuc_sigmask Tsigset_t
- Fuc_regspace [64]uint64
-}
-
func Xbtowc(tls *TLS, c int32) (r Twint_t) {
if __ccgo_strace {
trc("tls=%v c=%v, (%v:)", tls, c, origin(2))
@@ -119077,13 +119055,6 @@ const _ns_uop_delete = 0
const _ns_uop_add = 1
const _ns_uop_max = 2
-type Tns_tsig_key1 = struct {
- Fname [1025]uint8
- Falg [1025]uint8
- Fdata uintptr
- Flen1 int32
-}
-
type Tns_tsig_key = struct {
Fname [1025]uint8
Falg [1025]uint8
@@ -119091,14 +119062,6 @@ type Tns_tsig_key = struct {
Flen1 int32
}
-type Tns_tcp_tsig_state1 = struct {
- Fcounter int32
- Fkey uintptr
- Fctx uintptr
- Fsig [512]uint8
- Fsiglen int32
-}
-
type Tns_tcp_tsig_state = struct {
Fcounter int32
Fkey uintptr
@@ -119748,9 +119711,11 @@ type Tresolvconf = struct {
Ftimeout uint32
}
-func X__dns_parse(tls *TLS, r uintptr, rlen int32, callback uintptr, ctx uintptr) (r1 int32) {
+type t__ccgo_fp__X__dns_parse_2 = func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32
+
+func X__dns_parse(tls *TLS, r uintptr, rlen int32, __ccgo_fp_callback uintptr, ctx uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v r=%v rlen=%v callback=%v ctx=%v, (%v:)", tls, r, rlen, callback, ctx, origin(2))
+ trc("tls=%v r=%v rlen=%v __ccgo_fp_callback=%v ctx=%v, (%v:)", tls, r, rlen, __ccgo_fp_callback, ctx, origin(2))
defer func() { trc("-> %v", r1) }()
}
var ancount, len1, qdcount, v1, v2 int32
@@ -119796,7 +119761,7 @@ func X__dns_parse(tls *TLS, r uintptr, rlen int32, callback uintptr, ctx uintptr
if len1+int32(10) > int32(r+uintptr(rlen))-int32(p) {
return -int32(1)
}
- if (*(*func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{callback})))(tls, ctx, Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 1))), p+uintptr(10), len1, r, rlen) < 0 {
+ if (*(*func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_callback})))(tls, ctx, Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 1))), p+uintptr(10), len1, r, rlen) < 0 {
return -int32(1)
}
p += uintptr(int32(10) + len1)
@@ -121896,20 +121861,6 @@ func Xherror(tls *TLS, msg uintptr) {
Xfprintf(tls, uintptr(unsafe.Pointer(&X__stderr_FILE)), __ccgo_ts+987, VaList(bp+8, v1, v2, Xhstrerror(tls, *(*int32)(unsafe.Pointer(X__h_errno_location(tls))))))
}
-type Tcpu_set_t1 = struct {
- F__bits [32]uint32
-}
-
-type Tucontext_t5 = struct {
- F__ccgo_align [0]uint32
- Fuc_flags uint32
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t1
- Fuc_sigmask Tsigset_t
- Fuc_regspace [64]uint64
-}
-
var _msgs1 = [84]uint8{'H', 'o', 's', 't', ' ', 'n', 'o', 't', ' ', 'f', 'o', 'u', 'n', 'd', 0, 'T', 'r', 'y', ' ', 'a', 'g', 'a', 'i', 'n', 0, 'N', 'o', 'n', '-', 'r', 'e', 'c', 'o', 'v', 'e', 'r', 'a', 'b', 'l', 'e', ' ', 'e', 'r', 'r', 'o', 'r', 0, 'A', 'd', 'd', 'r', 'e', 's', 's', ' ', 'n', 'o', 't', ' ', 'a', 'v', 'a', 'i', 'l', 'a', 'b', 'l', 'e', 0, 0, 'U', 'n', 'k', 'n', 'o', 'w', 'n', ' ', 'e', 'r', 'r', 'o', 'r'}
func Xhstrerror(tls *TLS, ecode int32) (r uintptr) {
@@ -123696,7 +123647,7 @@ func X__lookup_serv(tls *TLS, buf uintptr, name uintptr, proto int32, socktype i
return v22
}
-func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32, cb uintptr, ctx uintptr) (r1 int32) {
+func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32, __ccgo_fp_cb uintptr, ctx uintptr) (r1 int32) {
bp := tls.Alloc(8192)
defer tls.Free(8192)
var h uintptr
@@ -123786,7 +123737,7 @@ func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32,
if Int32FromUint16((*Tnlmsghdr)(unsafe.Pointer(h)).Fnlmsg_type) == int32(NLMSG_ERROR) {
return -int32(1)
}
- ret = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cb})))(tls, ctx, h)
+ ret = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cb})))(tls, ctx, h)
if ret != 0 {
return ret
}
@@ -123799,9 +123750,11 @@ func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32,
return r1
}
-func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, cb uintptr, ctx uintptr) (r1 int32) {
+type t__ccgo_fp__X__rtnetlink_enumerate_2 = func(*TLS, uintptr, uintptr) int32
+
+func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, __ccgo_fp_cb uintptr, ctx uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v link_af=%v addr_af=%v cb=%v ctx=%v, (%v:)", tls, link_af, addr_af, cb, ctx, origin(2))
+ trc("tls=%v link_af=%v addr_af=%v __ccgo_fp_cb=%v ctx=%v, (%v:)", tls, link_af, addr_af, __ccgo_fp_cb, ctx, origin(2))
defer func() { trc("-> %v", r1) }()
}
var fd, r int32
@@ -123810,9 +123763,9 @@ func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, cb uintptr,
if fd < 0 {
return -int32(1)
}
- r = ___netlink_enumerate(tls, fd, uint32(1), int32(RTM_GETLINK), link_af, cb, ctx)
+ r = ___netlink_enumerate(tls, fd, uint32(1), int32(RTM_GETLINK), link_af, __ccgo_fp_cb, ctx)
if !(r != 0) {
- r = ___netlink_enumerate(tls, fd, uint32(2), int32(RTM_GETADDR), addr_af, cb, ctx)
+ r = ___netlink_enumerate(tls, fd, uint32(2), int32(RTM_GETADDR), addr_af, __ccgo_fp_cb, ctx)
}
X__syscall1(tls, int32(SYS_close), fd)
return r
@@ -128875,7 +128828,7 @@ func _append(tls *TLS, tail uintptr, name uintptr, len1 Tsize_t, mark int32) (r
return 0
}
-func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flags int32, errfunc uintptr, tail uintptr) (r1 int32) {
+func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flags int32, __ccgo_fp_errfunc uintptr, tail uintptr) (r1 int32) {
bp := tls.Alloc(160)
defer tls.Free(160)
var de, dir, p, p2, v11, v2, v7, v8 uintptr
@@ -128984,7 +128937,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
}
}
if !(type1 != 0) && Xlstat(tls, buf, bp) != 0 {
- if *(*int32)(unsafe.Pointer(X__errno_location(tls))) != int32(ENOENT) && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
+ if *(*int32)(unsafe.Pointer(X__errno_location(tls))) != int32(ENOENT) && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
return int32(GLOB_ABORTED)
}
return 0
@@ -129021,7 +128974,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
}
dir = Xopendir(tls, v7)
if !(dir != 0) {
- if (*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0 {
+ if (*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0 {
return int32(GLOB_ABORTED)
}
return 0
@@ -129073,7 +129026,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
} else {
v11 = __ccgo_ts
}
- r = _do_glob(tls, buf, pos+l, Int32FromUint8((*Tdirent)(unsafe.Pointer(de)).Fd_type), v11, flags, errfunc, tail)
+ r = _do_glob(tls, buf, pos+l, Int32FromUint8((*Tdirent)(unsafe.Pointer(de)).Fd_type), v11, flags, __ccgo_fp_errfunc, tail)
if r != 0 {
Xclosedir(tls, dir)
return r
@@ -129084,7 +129037,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
*(*uint8)(unsafe.Pointer(p2)) = saved_sep
}
Xclosedir(tls, dir)
- if readerr != 0 && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
+ if readerr != 0 && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
return int32(GLOB_ABORTED)
}
*(*int32)(unsafe.Pointer(X__errno_location(tls))) = old_errno
@@ -129196,9 +129149,11 @@ func _expand_tilde(tls *TLS, pat uintptr, buf uintptr, pos uintptr) (r int32) {
return 0
}
-func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r int32) {
+type t__ccgo_fp__Xglob_2 = func(*TLS, uintptr, int32) int32
+
+func Xglob(tls *TLS, pat uintptr, flags int32, __ccgo_fp_errfunc uintptr, g uintptr) (r int32) {
if __ccgo_strace {
- trc("tls=%v pat=%v flags=%v errfunc=%v g=%v, (%v:)", tls, pat, flags, errfunc, g, origin(2))
+ trc("tls=%v pat=%v flags=%v __ccgo_fp_errfunc=%v g=%v, (%v:)", tls, pat, flags, __ccgo_fp_errfunc, g, origin(2))
defer func() { trc("-> %v", r) }()
}
bp := tls.Alloc(4112)
@@ -129224,8 +129179,8 @@ func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r in
}
offs = v1
error1 = 0
- if !(errfunc != 0) {
- errfunc = __ccgo_fp(_ignore_err)
+ if !(__ccgo_fp_errfunc != 0) {
+ __ccgo_fp_errfunc = __ccgo_fp(_ignore_err)
}
if !(flags&Int32FromInt32(GLOB_APPEND) != 0) {
(*Tglob_t)(unsafe.Pointer(g)).Fgl_offs = offs
@@ -129244,7 +129199,7 @@ func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r in
error1 = _expand_tilde(tls, bp+4108, bp+8, bp+4104)
}
if !(error1 != 0) {
- error1 = _do_glob(tls, bp+8, *(*Tsize_t)(unsafe.Pointer(bp + 4104)), 0, *(*uintptr)(unsafe.Pointer(bp + 4108)), flags, errfunc, bp+4)
+ error1 = _do_glob(tls, bp+8, *(*Tsize_t)(unsafe.Pointer(bp + 4104)), 0, *(*uintptr)(unsafe.Pointer(bp + 4108)), flags, __ccgo_fp_errfunc, bp+4)
}
Xfree(tls, p)
}
@@ -134469,9 +134424,11 @@ func Xremque(tls *TLS, element uintptr) {
}
}
-func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr) {
+type t__ccgo_fp__Xlsearch_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nelp=%v width=%v compar=%v, (%v:)", tls, key, base, nelp, width, compar, origin(2))
+ trc("tls=%v key=%v base=%v nelp=%v width=%v __ccgo_fp_compar=%v, (%v:)", tls, key, base, nelp, width, __ccgo_fp_compar, origin(2))
defer func() { trc("-> %v", r) }()
}
var i, n Tsize_t
@@ -134487,7 +134444,7 @@ func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t,
if !(i < n) {
break
}
- if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
+ if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
return p + uintptr(i)*uintptr(v1)
}
goto _2
@@ -134499,9 +134456,11 @@ func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t,
return _memcpy(tls, p+uintptr(n)*uintptr(v1), key, width)
}
-func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr) {
+type t__ccgo_fp__Xlfind_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nelp=%v width=%v compar=%v, (%v:)", tls, key, base, nelp, width, compar, origin(2))
+ trc("tls=%v key=%v base=%v nelp=%v width=%v __ccgo_fp_compar=%v, (%v:)", tls, key, base, nelp, width, __ccgo_fp_compar, origin(2))
defer func() { trc("-> %v", r) }()
}
var i, n Tsize_t
@@ -134517,7 +134476,7 @@ func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, co
if !(i < n) {
break
}
- if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
+ if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
return p + uintptr(i)*uintptr(v1)
}
goto _2
@@ -134536,9 +134495,11 @@ type Tnode1 = struct {
Fh int32
}
-func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xtdelete_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtdelete(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var a [49]uintptr
@@ -134562,7 +134523,7 @@ func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
if !(n != 0) {
return uintptr(0)
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
break
}
@@ -134607,9 +134568,11 @@ func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
return parent
}
-func Xtdestroy(tls *TLS, root uintptr, freekey uintptr) {
+type t__ccgo_fp__Xtdestroy_1 = func(*TLS, uintptr)
+
+func Xtdestroy(tls *TLS, root uintptr, __ccgo_fp_freekey uintptr) {
if __ccgo_strace {
- trc("tls=%v root=%v freekey=%v, (%v:)", tls, root, freekey, origin(2))
+ trc("tls=%v root=%v __ccgo_fp_freekey=%v, (%v:)", tls, root, __ccgo_fp_freekey, origin(2))
}
var r uintptr
_ = r
@@ -134617,17 +134580,19 @@ func Xtdestroy(tls *TLS, root uintptr, freekey uintptr) {
if r == uintptr(0) {
return
}
- Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 4)), freekey)
- Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 4 + 1*4)), freekey)
- if freekey != 0 {
- (*(*func(*TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{freekey})))(tls, (*Tnode1)(unsafe.Pointer(r)).Fkey)
+ Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 4)), __ccgo_fp_freekey)
+ Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 4 + 1*4)), __ccgo_fp_freekey)
+ if __ccgo_fp_freekey != 0 {
+ (*(*func(*TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_freekey})))(tls, (*Tnode1)(unsafe.Pointer(r)).Fkey)
}
Xfree(tls, r)
}
-func Xtfind(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xtfind_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtfind(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var c int32
@@ -134641,7 +134606,7 @@ func Xtfind(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
if !(n != 0) {
break
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
break
}
@@ -134729,9 +134694,11 @@ func X__tsearch_balance(tls *TLS, p uintptr) (r int32) {
return _rot(tls, p, n, BoolInt32(h0 < h1))
}
-func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
+type t__ccgo_fp__Xtsearch_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtsearch(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r1 uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r1) }()
}
var a [48]uintptr
@@ -134751,7 +134718,7 @@ func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
if !(n != 0) {
break
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
return n
}
@@ -134787,26 +134754,28 @@ func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
return r
}
-func _walk(tls *TLS, r uintptr, action uintptr, d int32) {
+func _walk(tls *TLS, r uintptr, __ccgo_fp_action uintptr, d int32) {
if !(r != 0) {
return
}
if (*Tnode1)(unsafe.Pointer(r)).Fh == int32(1) {
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_leaf), d)
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_leaf), d)
} else {
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_preorder), d)
- _walk(tls, *(*uintptr)(unsafe.Pointer(r + 4)), action, d+int32(1))
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_postorder), d)
- _walk(tls, *(*uintptr)(unsafe.Pointer(r + 4 + 1*4)), action, d+int32(1))
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_endorder), d)
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_preorder), d)
+ _walk(tls, *(*uintptr)(unsafe.Pointer(r + 4)), __ccgo_fp_action, d+int32(1))
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_postorder), d)
+ _walk(tls, *(*uintptr)(unsafe.Pointer(r + 4 + 1*4)), __ccgo_fp_action, d+int32(1))
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_endorder), d)
}
}
-func Xtwalk(tls *TLS, root uintptr, action uintptr) {
+type t__ccgo_fp__Xtwalk_1 = func(*TLS, uintptr, int32, int32)
+
+func Xtwalk(tls *TLS, root uintptr, __ccgo_fp_action uintptr) {
if __ccgo_strace {
- trc("tls=%v root=%v action=%v, (%v:)", tls, root, action, origin(2))
+ trc("tls=%v root=%v __ccgo_fp_action=%v, (%v:)", tls, root, __ccgo_fp_action, origin(2))
}
- _walk(tls, root, action, 0)
+ _walk(tls, root, __ccgo_fp_action, 0)
}
func Xpoll(tls *TLS, fds uintptr, n Tnfds_t, timeout int32) (r int32) {
@@ -134817,8 +134786,6 @@ func Xpoll(tls *TLS, fds uintptr, n Tnfds_t, timeout int32) (r int32) {
return X__syscall_ret(tls, Uint32FromInt32(___syscall_cp(tls, int32(SYS_poll), int32(fds), Int32FromUint32(n), timeout, 0, 0, 0)))
}
-type t__ucontext3 = Tucontext_t5
-
func Xppoll(tls *TLS, fds uintptr, n Tnfds_t, to uintptr, mask uintptr) (r1 int32) {
if __ccgo_strace {
trc("tls=%v fds=%v n=%v to=%v mask=%v, (%v:)", tls, fds, n, to, mask, origin(2))
@@ -134878,8 +134845,6 @@ func Xppoll(tls *TLS, fds uintptr, n Tnfds_t, to uintptr, mask uintptr) (r1 int3
return X__syscall_ret(tls, Uint32FromInt32(___syscall_cp(tls, int32(SYS_ppoll), int32(fds), Int32FromUint32(n), int32(v5), int32(mask), int32(Int32FromInt32(_NSIG)/Int32FromInt32(8)), 0)))
}
-type t__ucontext4 = Tucontext_t4
-
func Xpselect(tls *TLS, n int32, rfds uintptr, wfds uintptr, efds uintptr, ts uintptr, mask uintptr) (r1 int32) {
if __ccgo_strace {
trc("tls=%v n=%v rfds=%v wfds=%v efds=%v ts=%v mask=%v, (%v:)", tls, n, rfds, wfds, efds, ts, mask, origin(2))
@@ -134944,16 +134909,6 @@ func Xpselect(tls *TLS, n int32, rfds uintptr, wfds uintptr, efds uintptr, ts ui
return X__syscall_ret(tls, Uint32FromInt32(___syscall_cp(tls, int32(SYS_pselect6), n, int32(rfds), int32(wfds), int32(efds), int32(v5), int32(bp+24))))
}
-type Tucontext_t6 = struct {
- F__ccgo_align [0]uint32
- Fuc_flags uint32
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t
- Fuc_sigmask Tsigset_t
- Fuc_regspace [64]uint64
-}
-
func Xselect(tls *TLS, n int32, rfds uintptr, wfds uintptr, efds uintptr, tv uintptr) (r1 int32) {
if __ccgo_strace {
trc("tls=%v n=%v rfds=%v wfds=%v efds=%v tv=%v, (%v:)", tls, n, rfds, wfds, efds, tv, origin(2))
@@ -135429,16 +135384,6 @@ func Xsigaltstack(tls *TLS, ss uintptr, old uintptr) (r int32) {
const SST_SIZE = 8
-type Tucontext_t7 = struct {
- F__ccgo_align [0]uint32
- Fuc_flags uint32
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t1
- Fuc_sigmask Tsigset_t
- Fuc_regspace [64]uint64
-}
-
func Xsigandset(tls *TLS, dest uintptr, left uintptr, right uintptr) (r1 int32) {
if __ccgo_strace {
trc("tls=%v dest=%v left=%v right=%v, (%v:)", tls, dest, left, right, origin(2))
@@ -144607,9 +144552,11 @@ func Xatoll(tls *TLS, s uintptr) (r int64) {
return v5
}
-func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xbsearch_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nel=%v width=%v cmp=%v, (%v:)", tls, key, base, nel, width, cmp, origin(2))
+ trc("tls=%v key=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, base, nel, width, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var sign int32
@@ -144617,7 +144564,7 @@ func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, c
_, _ = sign, try
for nel > uint32(0) {
try = base + uintptr(width*(nel/uint32(2)))
- sign = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, try)
+ sign = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, try)
if sign < 0 {
nel /= uint32(2)
} else {
@@ -144896,7 +144843,7 @@ func _shr(tls *TLS, p uintptr, n int32) {
*(*Tsize_t)(unsafe.Pointer(p + 1*4)) >>= Uint32FromInt32(n)
}
-func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshift int32, lp uintptr) {
+func _sift(tls *TLS, head uintptr, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr, pshift int32, lp uintptr) {
bp := tls.Alloc(240)
defer tls.Free(240)
var i, v1, v2 int32
@@ -144908,10 +144855,10 @@ func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshi
for pshift > int32(1) {
rt = head - uintptr(width)
lf = head - uintptr(width) - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift-int32(2))*4)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, (*(*[57]uintptr)(unsafe.Pointer(bp)))[0], lf, arg) >= 0 && (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, (*(*[57]uintptr)(unsafe.Pointer(bp)))[0], rt, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, (*(*[57]uintptr)(unsafe.Pointer(bp)))[0], lf, arg) >= 0 && (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, (*(*[57]uintptr)(unsafe.Pointer(bp)))[0], rt, arg) >= 0 {
break
}
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, lf, rt, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, lf, rt, arg) >= 0 {
v1 = i
i++
(*(*[57]uintptr)(unsafe.Pointer(bp)))[v1] = lf
@@ -144928,7 +144875,7 @@ func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshi
_cycle(tls, width, bp, i)
}
-func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pp uintptr, pshift int32, trusty int32, lp uintptr) {
+func _trinkle(tls *TLS, head uintptr, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr, pp uintptr, pshift int32, trusty int32, lp uintptr) {
bp := tls.Alloc(240)
defer tls.Free(240)
var i, trail, v1 int32
@@ -144942,13 +144889,13 @@ func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, p
(*(*[57]uintptr)(unsafe.Pointer(bp + 8)))[0] = head
for (*(*[2]Tsize_t)(unsafe.Pointer(bp)))[0] != uint32(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp)))[int32(1)] != uint32(0) {
stepson = head - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift)*4)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, stepson, (*(*[57]uintptr)(unsafe.Pointer(bp + 8)))[0], arg) <= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, stepson, (*(*[57]uintptr)(unsafe.Pointer(bp + 8)))[0], arg) <= 0 {
break
}
if !(trusty != 0) && pshift > int32(1) {
rt = head - uintptr(width)
lf = head - uintptr(width) - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift-int32(2))*4)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, rt, stepson, arg) >= 0 || (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, lf, stepson, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, rt, stepson, arg) >= 0 || (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, lf, stepson, arg) >= 0 {
break
}
}
@@ -144963,13 +144910,15 @@ func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, p
}
if !(trusty != 0) {
_cycle(tls, width, bp+8, i)
- _sift(tls, head, width, cmp, arg, pshift, lp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, lp)
}
}
-func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun, arg uintptr) {
+type t__ccgo_fp__X__qsort_r_3 = func(*TLS, uintptr, uintptr, uintptr) int32
+
+func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v arg=%v, (%v:)", tls, base, nel, width, cmp, arg, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v arg=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, arg, origin(2))
}
bp := tls.Alloc(208)
defer tls.Free(208)
@@ -145007,14 +144956,14 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
}
for head < high {
if (*(*[2]Tsize_t)(unsafe.Pointer(bp + 192)))[0]&uint32(3) == uint32(3) {
- _sift(tls, head, width, cmp, arg, pshift, bp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, bp)
_shr(tls, bp+192, int32(2))
pshift += int32(2)
} else {
if (*(*[48]Tsize_t)(unsafe.Pointer(bp)))[pshift-int32(1)] >= Uint32FromInt32(int32(high)-int32(head)) {
- _trinkle(tls, head, width, cmp, arg, bp+192, pshift, 0, bp)
+ _trinkle(tls, head, width, __ccgo_fp_cmp, arg, bp+192, pshift, 0, bp)
} else {
- _sift(tls, head, width, cmp, arg, pshift, bp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, bp)
}
if pshift == int32(1) {
_shl(tls, bp+192, int32(1))
@@ -145027,7 +144976,7 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
*(*Tsize_t)(unsafe.Pointer(bp + 192)) |= uint32(1)
head += uintptr(width)
}
- _trinkle(tls, head, width, cmp, arg, bp+192, pshift, 0, bp)
+ _trinkle(tls, head, width, __ccgo_fp_cmp, arg, bp+192, pshift, 0, bp)
for pshift != int32(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp + 192)))[0] != uint32(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp + 192)))[int32(1)] != uint32(0) {
if pshift <= int32(1) {
trail = _pntz(tls, bp+192)
@@ -145038,31 +144987,35 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
pshift -= int32(2)
*(*Tsize_t)(unsafe.Pointer(bp + 192)) ^= uint32(7)
_shr(tls, bp+192, int32(1))
- _trinkle(tls, head-uintptr((*(*[48]Tsize_t)(unsafe.Pointer(bp)))[pshift])-uintptr(width), width, cmp, arg, bp+192, pshift+int32(1), int32(1), bp)
+ _trinkle(tls, head-uintptr((*(*[48]Tsize_t)(unsafe.Pointer(bp)))[pshift])-uintptr(width), width, __ccgo_fp_cmp, arg, bp+192, pshift+int32(1), int32(1), bp)
_shl(tls, bp+192, int32(1))
*(*Tsize_t)(unsafe.Pointer(bp + 192)) |= uint32(1)
- _trinkle(tls, head-uintptr(width), width, cmp, arg, bp+192, pshift, int32(1), bp)
+ _trinkle(tls, head-uintptr(width), width, __ccgo_fp_cmp, arg, bp+192, pshift, int32(1), bp)
}
head -= uintptr(width)
}
}
-func Xqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun, arg uintptr) {
+type t__ccgo_fp__Xqsort_r_3 = func(*TLS, uintptr, uintptr, uintptr) int32
+
+func Xqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v arg=%v, (%v:)", tls, base, nel, width, cmp, arg, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v arg=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, arg, origin(2))
}
- X__qsort_r(tls, base, nel, width, cmp, arg)
+ X__qsort_r(tls, base, nel, width, __ccgo_fp_cmp, arg)
}
func _wrapper_cmp(tls *TLS, v1 uintptr, v2 uintptr, cmp uintptr) (r int32) {
return (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, v1, v2)
}
-func Xqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun) {
+type t__ccgo_fp__Xqsort_3 = func(*TLS, uintptr, uintptr) int32
+
+func Xqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v, (%v:)", tls, base, nel, width, cmp, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, origin(2))
}
- X__qsort_r(tls, base, nel, width, __ccgo_fp(_wrapper_cmp), cmp)
+ X__qsort_r(tls, base, nel, width, __ccgo_fp(_wrapper_cmp), __ccgo_fp_cmp)
}
func _strtox(tls *TLS, s uintptr, p uintptr, prec int32) (r float64) {
@@ -153422,8 +153375,6 @@ func X__utimes_time32(tls *TLS, path uintptr, times32 uintptr) (r int32) {
return Xutimes(tls, path, v1)
}
-type t__ucontext5 = Tucontext_t7
-
func X__wait3_time32(tls *TLS, status uintptr, options int32, usage uintptr) (r1 Tpid_t) {
if __ccgo_strace {
trc("tls=%v status=%v options=%v usage=%v, (%v:)", tls, status, options, usage, origin(2))
diff --git a/vendor/modernc.org/libc/ccgo_linux_arm64.go b/vendor/modernc.org/libc/ccgo_linux_arm64.go
index cd1f7cb3124e4..aef720a69172d 100644
--- a/vendor/modernc.org/libc/ccgo_linux_arm64.go
+++ b/vendor/modernc.org/libc/ccgo_linux_arm64.go
@@ -24841,9 +24841,13 @@ func Xrewinddir(tls *TLS, dir uintptr) {
___unlock(tls, dir+20)
}
-func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r int32) {
+type t__ccgo_fp__Xscandir_2 = func(*TLS, uintptr) int32
+
+type t__ccgo_fp__Xscandir_3 = func(*TLS, uintptr, uintptr) int32
+
+func Xscandir(tls *TLS, path uintptr, res uintptr, __ccgo_fp_sel uintptr, __ccgo_fp_cmp uintptr) (r int32) {
if __ccgo_strace {
- trc("tls=%v path=%v res=%v sel=%v cmp=%v, (%v:)", tls, path, res, sel, cmp, origin(2))
+ trc("tls=%v path=%v res=%v __ccgo_fp_sel=%v __ccgo_fp_cmp=%v, (%v:)", tls, path, res, __ccgo_fp_sel, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var cnt, len1, v2, v3 Tsize_t
@@ -24865,7 +24869,7 @@ func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r
if !(v1 != 0) {
break
}
- if sel != 0 && !((*(*func(*TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{sel})))(tls, de) != 0) {
+ if __ccgo_fp_sel != 0 && !((*(*func(*TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_sel})))(tls, de) != 0) {
continue
}
if cnt >= len1 {
@@ -24903,8 +24907,8 @@ func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r
return -int32(1)
}
*(*int32)(unsafe.Pointer(X__errno_location(tls))) = old_errno
- if cmp != 0 {
- Xqsort(tls, names, cnt, uint64(8), cmp)
+ if __ccgo_fp_cmp != 0 {
+ Xqsort(tls, names, cnt, uint64(8), __ccgo_fp_cmp)
}
*(*uintptr)(unsafe.Pointer(res)) = names
return Int32FromUint64(cnt)
@@ -25650,9 +25654,11 @@ func X__funcs_on_quick_exit(tls *TLS) {
}
}
-func Xat_quick_exit(tls *TLS, func1 uintptr) (r1 int32) {
+type t__ccgo_fp__Xat_quick_exit_0 = func(*TLS)
+
+func Xat_quick_exit(tls *TLS, __ccgo_fp_func uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v func1=%v, (%v:)", tls, func1, origin(2))
+ trc("tls=%v __ccgo_fp_func=%v, (%v:)", tls, __ccgo_fp_func, origin(2))
defer func() { trc("-> %v", r1) }()
}
var r, v1 int32
@@ -25664,7 +25670,7 @@ func Xat_quick_exit(tls *TLS, func1 uintptr) (r1 int32) {
} else {
v1 = _count
_count++
- _funcs[v1] = func1
+ _funcs[v1] = __ccgo_fp_func
}
___unlock(tls, uintptr(unsafe.Pointer(&_lock)))
return r
@@ -28116,15 +28122,17 @@ type TFTW = struct {
Flevel int32
}
-func Xftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32) (r int32) {
+type t__ccgo_fp__Xftw_1 = func(*TLS, uintptr, uintptr, int32) int32
+
+func Xftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32) (r int32) {
if __ccgo_strace {
- trc("tls=%v path=%v fn=%v fd_limit=%v, (%v:)", tls, path, fn, fd_limit, origin(2))
+ trc("tls=%v path=%v __ccgo_fp_fn=%v fd_limit=%v, (%v:)", tls, path, __ccgo_fp_fn, fd_limit, origin(2))
defer func() { trc("-> %v", r) }()
}
/* The following cast assumes that calling a function with one
* argument more than it needs behaves as expected. This is
* actually undefined, but works on all real-world machines. */
- return Xnftw(tls, path, fn, fd_limit, int32(FTW_PHYS))
+ return Xnftw(tls, path, __ccgo_fp_fn, fd_limit, int32(FTW_PHYS))
}
const STATX_ALL = 4095
@@ -31028,14 +31036,6 @@ func Xfremovexattr(tls *TLS, fd int32, name uintptr) (r int32) {
return int32(X__syscall_ret(tls, Uint64FromInt64(X__syscall2(tls, int64(SYS_fremovexattr), int64(fd), int64(name)))))
}
-type Tucontext_t2 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_sigmask Tsigset_t
- Fuc_mcontext Tmcontext_t
-}
-
func _dummy4(tls *TLS, msg uintptr, lm uintptr) (r uintptr) {
return msg
}
@@ -113983,15 +113983,7 @@ func Xgethostid(tls *TLS) (r int64) {
const optpos = 0
-type Tucontext_t3 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_sigmask Tsigset_t
- Fuc_mcontext Tmcontext_t1
-}
-
-type t__ucontext1 = Tucontext_t3
+type t__ucontext1 = Tucontext_t1
func X__getopt_msg(tls *TLS, a uintptr, b uintptr, c uintptr, l Tsize_t) {
if __ccgo_strace {
@@ -115139,7 +115131,7 @@ type Thistory = struct {
Fbase int32
}
-func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h uintptr) (r1 int32) {
+func _do_nftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32, flags int32, h uintptr) (r1 int32) {
bp := tls.Alloc(176)
defer tls.Free(176)
var d, de, v10 uintptr
@@ -115245,7 +115237,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
}
if v8 = !(flags&Int32FromInt32(FTW_DEPTH) != 0); v8 {
- v7 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{fn})))(tls, path, bp, type1, bp+160)
+ v7 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_fn})))(tls, path, bp, type1, bp+160)
r = v7
}
if v8 && v7 != 0 {
@@ -115286,7 +115278,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
*(*uint8)(unsafe.Pointer(path + uintptr(j))) = uint8('/')
Xstrcpy(tls, path+uintptr(j)+uintptr(1), de+19)
- v11 = _do_nftw(tls, path, fn, fd_limit-int32(1), flags, bp+128)
+ v11 = _do_nftw(tls, path, __ccgo_fp_fn, fd_limit-int32(1), flags, bp+128)
r = v11
if v11 != 0 {
Xclosedir(tls, d)
@@ -115301,7 +115293,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
*(*uint8)(unsafe.Pointer(path + uintptr(l))) = uint8(0)
if v13 = flags&int32(FTW_DEPTH) != 0; v13 {
- v12 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{fn})))(tls, path, bp, type1, bp+160)
+ v12 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_fn})))(tls, path, bp, type1, bp+160)
r = v12
}
if v13 && v12 != 0 {
@@ -115310,9 +115302,11 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
return 0
}
-func Xnftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32) (r1 int32) {
+type t__ccgo_fp__Xnftw_1 = func(*TLS, uintptr, uintptr, int32, uintptr) int32
+
+func Xnftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32, flags int32) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v path=%v fn=%v fd_limit=%v flags=%v, (%v:)", tls, path, fn, fd_limit, flags, origin(2))
+ trc("tls=%v path=%v __ccgo_fp_fn=%v fd_limit=%v flags=%v, (%v:)", tls, path, __ccgo_fp_fn, fd_limit, flags, origin(2))
defer func() { trc("-> %v", r1) }()
}
bp := tls.Alloc(4112)
@@ -115332,7 +115326,7 @@ func Xnftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32) (r1
}
Xmemcpy(tls, bp+4, path, l+uint64(1))
_pthread_setcancelstate(tls, int32(PTHREAD_CANCEL_DISABLE), bp)
- r = _do_nftw(tls, bp+4, fn, fd_limit, flags, UintptrFromInt32(0))
+ r = _do_nftw(tls, bp+4, __ccgo_fp_fn, fd_limit, flags, UintptrFromInt32(0))
_pthread_setcancelstate(tls, *(*int32)(unsafe.Pointer(bp)), uintptr(0))
return r
}
@@ -116112,8 +116106,6 @@ type Tsockaddr_storage = struct {
F__ss_align uint64
}
-type t__ucontext2 = Tucontext_t2
-
var _lock2 [1]int32
var _log_ident [32]uint8
var _log_opt int32
@@ -116551,14 +116543,6 @@ const SA = 194
const SB = 244
const bittab = 0
-type Tucontext_t4 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_sigmask Tsigset_t
- Fuc_mcontext Tmcontext_t
-}
-
func Xbtowc(tls *TLS, c int32) (r Twint_t) {
if __ccgo_strace {
trc("tls=%v c=%v, (%v:)", tls, c, origin(2))
@@ -118278,13 +118262,6 @@ const _ns_uop_delete = 0
const _ns_uop_add = 1
const _ns_uop_max = 2
-type Tns_tsig_key1 = struct {
- Fname [1025]uint8
- Falg [1025]uint8
- Fdata uintptr
- Flen1 int32
-}
-
type Tns_tsig_key = struct {
Fname [1025]uint8
Falg [1025]uint8
@@ -118292,14 +118269,6 @@ type Tns_tsig_key = struct {
Flen1 int32
}
-type Tns_tcp_tsig_state1 = struct {
- Fcounter int32
- Fkey uintptr
- Fctx uintptr
- Fsig [512]uint8
- Fsiglen int32
-}
-
type Tns_tcp_tsig_state = struct {
Fcounter int32
Fkey uintptr
@@ -118949,9 +118918,11 @@ type Tresolvconf = struct {
Ftimeout uint32
}
-func X__dns_parse(tls *TLS, r uintptr, rlen int32, callback uintptr, ctx uintptr) (r1 int32) {
+type t__ccgo_fp__X__dns_parse_2 = func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32
+
+func X__dns_parse(tls *TLS, r uintptr, rlen int32, __ccgo_fp_callback uintptr, ctx uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v r=%v rlen=%v callback=%v ctx=%v, (%v:)", tls, r, rlen, callback, ctx, origin(2))
+ trc("tls=%v r=%v rlen=%v __ccgo_fp_callback=%v ctx=%v, (%v:)", tls, r, rlen, __ccgo_fp_callback, ctx, origin(2))
defer func() { trc("-> %v", r1) }()
}
var ancount, len1, qdcount, v1, v2 int32
@@ -118997,7 +118968,7 @@ func X__dns_parse(tls *TLS, r uintptr, rlen int32, callback uintptr, ctx uintptr
if int64(len1+int32(10)) > int64(r+uintptr(rlen))-int64(p) {
return -int32(1)
}
- if (*(*func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{callback})))(tls, ctx, Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 1))), p+uintptr(10), len1, r, rlen) < 0 {
+ if (*(*func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_callback})))(tls, ctx, Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 1))), p+uintptr(10), len1, r, rlen) < 0 {
return -int32(1)
}
p += uintptr(int32(10) + len1)
@@ -121101,18 +121072,6 @@ func Xherror(tls *TLS, msg uintptr) {
Xfprintf(tls, uintptr(unsafe.Pointer(&X__stderr_FILE)), __ccgo_ts+1072, VaList(bp+8, v1, v2, Xhstrerror(tls, *(*int32)(unsafe.Pointer(X__h_errno_location(tls))))))
}
-type Tcpu_set_t1 = struct {
- F__bits [16]uint64
-}
-
-type Tucontext_t5 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_sigmask Tsigset_t
- Fuc_mcontext Tmcontext_t1
-}
-
var _msgs1 = [84]uint8{'H', 'o', 's', 't', ' ', 'n', 'o', 't', ' ', 'f', 'o', 'u', 'n', 'd', 0, 'T', 'r', 'y', ' ', 'a', 'g', 'a', 'i', 'n', 0, 'N', 'o', 'n', '-', 'r', 'e', 'c', 'o', 'v', 'e', 'r', 'a', 'b', 'l', 'e', ' ', 'e', 'r', 'r', 'o', 'r', 0, 'A', 'd', 'd', 'r', 'e', 's', 's', ' ', 'n', 'o', 't', ' ', 'a', 'v', 'a', 'i', 'l', 'a', 'b', 'l', 'e', 0, 0, 'U', 'n', 'k', 'n', 'o', 'w', 'n', ' ', 'e', 'r', 'r', 'o', 'r'}
func Xhstrerror(tls *TLS, ecode int32) (r uintptr) {
@@ -122900,7 +122859,7 @@ func X__lookup_serv(tls *TLS, buf uintptr, name uintptr, proto int32, socktype i
return v22
}
-func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32, cb uintptr, ctx uintptr) (r1 int32) {
+func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32, __ccgo_fp_cb uintptr, ctx uintptr) (r1 int32) {
bp := tls.Alloc(8192)
defer tls.Free(8192)
var h uintptr
@@ -122990,7 +122949,7 @@ func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32,
if Int32FromUint16((*Tnlmsghdr)(unsafe.Pointer(h)).Fnlmsg_type) == int32(NLMSG_ERROR) {
return -int32(1)
}
- ret = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cb})))(tls, ctx, h)
+ ret = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cb})))(tls, ctx, h)
if ret != 0 {
return ret
}
@@ -123003,9 +122962,11 @@ func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32,
return r1
}
-func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, cb uintptr, ctx uintptr) (r1 int32) {
+type t__ccgo_fp__X__rtnetlink_enumerate_2 = func(*TLS, uintptr, uintptr) int32
+
+func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, __ccgo_fp_cb uintptr, ctx uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v link_af=%v addr_af=%v cb=%v ctx=%v, (%v:)", tls, link_af, addr_af, cb, ctx, origin(2))
+ trc("tls=%v link_af=%v addr_af=%v __ccgo_fp_cb=%v ctx=%v, (%v:)", tls, link_af, addr_af, __ccgo_fp_cb, ctx, origin(2))
defer func() { trc("-> %v", r1) }()
}
var fd, r int32
@@ -123014,9 +122975,9 @@ func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, cb uintptr,
if fd < 0 {
return -int32(1)
}
- r = ___netlink_enumerate(tls, fd, uint32(1), int32(RTM_GETLINK), link_af, cb, ctx)
+ r = ___netlink_enumerate(tls, fd, uint32(1), int32(RTM_GETLINK), link_af, __ccgo_fp_cb, ctx)
if !(r != 0) {
- r = ___netlink_enumerate(tls, fd, uint32(2), int32(RTM_GETADDR), addr_af, cb, ctx)
+ r = ___netlink_enumerate(tls, fd, uint32(2), int32(RTM_GETADDR), addr_af, __ccgo_fp_cb, ctx)
}
X__syscall1(tls, int64(SYS_close), int64(fd))
return r
@@ -128123,7 +128084,7 @@ func _append(tls *TLS, tail uintptr, name uintptr, len1 Tsize_t, mark int32) (r
return 0
}
-func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flags int32, errfunc uintptr, tail uintptr) (r1 int32) {
+func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flags int32, __ccgo_fp_errfunc uintptr, tail uintptr) (r1 int32) {
bp := tls.Alloc(128)
defer tls.Free(128)
var de, dir, p, p2, v11, v2, v7, v8 uintptr
@@ -128232,7 +128193,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
}
}
if !(type1 != 0) && Xlstat(tls, buf, bp) != 0 {
- if *(*int32)(unsafe.Pointer(X__errno_location(tls))) != int32(ENOENT) && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
+ if *(*int32)(unsafe.Pointer(X__errno_location(tls))) != int32(ENOENT) && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
return int32(GLOB_ABORTED)
}
return 0
@@ -128269,7 +128230,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
}
dir = Xopendir(tls, v7)
if !(dir != 0) {
- if (*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0 {
+ if (*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0 {
return int32(GLOB_ABORTED)
}
return 0
@@ -128321,7 +128282,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
} else {
v11 = __ccgo_ts
}
- r = _do_glob(tls, buf, pos+l, Int32FromUint8((*Tdirent)(unsafe.Pointer(de)).Fd_type), v11, flags, errfunc, tail)
+ r = _do_glob(tls, buf, pos+l, Int32FromUint8((*Tdirent)(unsafe.Pointer(de)).Fd_type), v11, flags, __ccgo_fp_errfunc, tail)
if r != 0 {
Xclosedir(tls, dir)
return r
@@ -128332,7 +128293,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
*(*uint8)(unsafe.Pointer(p2)) = saved_sep
}
Xclosedir(tls, dir)
- if readerr != 0 && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
+ if readerr != 0 && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
return int32(GLOB_ABORTED)
}
*(*int32)(unsafe.Pointer(X__errno_location(tls))) = old_errno
@@ -128444,9 +128405,11 @@ func _expand_tilde(tls *TLS, pat uintptr, buf uintptr, pos uintptr) (r int32) {
return 0
}
-func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r int32) {
+type t__ccgo_fp__Xglob_2 = func(*TLS, uintptr, int32) int32
+
+func Xglob(tls *TLS, pat uintptr, flags int32, __ccgo_fp_errfunc uintptr, g uintptr) (r int32) {
if __ccgo_strace {
- trc("tls=%v pat=%v flags=%v errfunc=%v g=%v, (%v:)", tls, pat, flags, errfunc, g, origin(2))
+ trc("tls=%v pat=%v flags=%v __ccgo_fp_errfunc=%v g=%v, (%v:)", tls, pat, flags, __ccgo_fp_errfunc, g, origin(2))
defer func() { trc("-> %v", r) }()
}
bp := tls.Alloc(4128)
@@ -128472,8 +128435,8 @@ func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r in
}
offs = v1
error1 = 0
- if !(errfunc != 0) {
- errfunc = __ccgo_fp(_ignore_err)
+ if !(__ccgo_fp_errfunc != 0) {
+ __ccgo_fp_errfunc = __ccgo_fp(_ignore_err)
}
if !(flags&Int32FromInt32(GLOB_APPEND) != 0) {
(*Tglob_t)(unsafe.Pointer(g)).Fgl_offs = offs
@@ -128492,7 +128455,7 @@ func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r in
error1 = _expand_tilde(tls, bp+4120, bp+16, bp+4112)
}
if !(error1 != 0) {
- error1 = _do_glob(tls, bp+16, *(*Tsize_t)(unsafe.Pointer(bp + 4112)), 0, *(*uintptr)(unsafe.Pointer(bp + 4120)), flags, errfunc, bp+8)
+ error1 = _do_glob(tls, bp+16, *(*Tsize_t)(unsafe.Pointer(bp + 4112)), 0, *(*uintptr)(unsafe.Pointer(bp + 4120)), flags, __ccgo_fp_errfunc, bp+8)
}
Xfree(tls, p)
}
@@ -133716,9 +133679,11 @@ func Xremque(tls *TLS, element uintptr) {
}
}
-func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr) {
+type t__ccgo_fp__Xlsearch_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nelp=%v width=%v compar=%v, (%v:)", tls, key, base, nelp, width, compar, origin(2))
+ trc("tls=%v key=%v base=%v nelp=%v width=%v __ccgo_fp_compar=%v, (%v:)", tls, key, base, nelp, width, __ccgo_fp_compar, origin(2))
defer func() { trc("-> %v", r) }()
}
var i, n Tsize_t
@@ -133734,7 +133699,7 @@ func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t,
if !(i < n) {
break
}
- if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
+ if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
return p + uintptr(i)*uintptr(v1)
}
goto _2
@@ -133746,9 +133711,11 @@ func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t,
return Xmemcpy(tls, p+uintptr(n)*uintptr(v1), key, width)
}
-func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr) {
+type t__ccgo_fp__Xlfind_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nelp=%v width=%v compar=%v, (%v:)", tls, key, base, nelp, width, compar, origin(2))
+ trc("tls=%v key=%v base=%v nelp=%v width=%v __ccgo_fp_compar=%v, (%v:)", tls, key, base, nelp, width, __ccgo_fp_compar, origin(2))
defer func() { trc("-> %v", r) }()
}
var i, n Tsize_t
@@ -133764,7 +133731,7 @@ func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, co
if !(i < n) {
break
}
- if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
+ if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
return p + uintptr(i)*uintptr(v1)
}
goto _2
@@ -133783,9 +133750,11 @@ type Tnode1 = struct {
Fh int32
}
-func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xtdelete_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtdelete(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var a [97]uintptr
@@ -133809,7 +133778,7 @@ func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
if !(n != 0) {
return uintptr(0)
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
break
}
@@ -133854,9 +133823,11 @@ func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
return parent
}
-func Xtdestroy(tls *TLS, root uintptr, freekey uintptr) {
+type t__ccgo_fp__Xtdestroy_1 = func(*TLS, uintptr)
+
+func Xtdestroy(tls *TLS, root uintptr, __ccgo_fp_freekey uintptr) {
if __ccgo_strace {
- trc("tls=%v root=%v freekey=%v, (%v:)", tls, root, freekey, origin(2))
+ trc("tls=%v root=%v __ccgo_fp_freekey=%v, (%v:)", tls, root, __ccgo_fp_freekey, origin(2))
}
var r uintptr
_ = r
@@ -133864,17 +133835,19 @@ func Xtdestroy(tls *TLS, root uintptr, freekey uintptr) {
if r == uintptr(0) {
return
}
- Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8)), freekey)
- Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), freekey)
- if freekey != 0 {
- (*(*func(*TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{freekey})))(tls, (*Tnode1)(unsafe.Pointer(r)).Fkey)
+ Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8)), __ccgo_fp_freekey)
+ Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), __ccgo_fp_freekey)
+ if __ccgo_fp_freekey != 0 {
+ (*(*func(*TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_freekey})))(tls, (*Tnode1)(unsafe.Pointer(r)).Fkey)
}
Xfree(tls, r)
}
-func Xtfind(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xtfind_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtfind(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var c int32
@@ -133888,7 +133861,7 @@ func Xtfind(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
if !(n != 0) {
break
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
break
}
@@ -133976,9 +133949,11 @@ func X__tsearch_balance(tls *TLS, p uintptr) (r int32) {
return _rot(tls, p, n, BoolInt32(h0 < h1))
}
-func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
+type t__ccgo_fp__Xtsearch_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtsearch(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r1 uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r1) }()
}
var a [96]uintptr
@@ -133998,7 +133973,7 @@ func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
if !(n != 0) {
break
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
return n
}
@@ -134034,26 +134009,28 @@ func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
return r
}
-func _walk(tls *TLS, r uintptr, action uintptr, d int32) {
+func _walk(tls *TLS, r uintptr, __ccgo_fp_action uintptr, d int32) {
if !(r != 0) {
return
}
if (*Tnode1)(unsafe.Pointer(r)).Fh == int32(1) {
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_leaf), d)
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_leaf), d)
} else {
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_preorder), d)
- _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8)), action, d+int32(1))
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_postorder), d)
- _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), action, d+int32(1))
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_endorder), d)
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_preorder), d)
+ _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8)), __ccgo_fp_action, d+int32(1))
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_postorder), d)
+ _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), __ccgo_fp_action, d+int32(1))
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_endorder), d)
}
}
-func Xtwalk(tls *TLS, root uintptr, action uintptr) {
+type t__ccgo_fp__Xtwalk_1 = func(*TLS, uintptr, int32, int32)
+
+func Xtwalk(tls *TLS, root uintptr, __ccgo_fp_action uintptr) {
if __ccgo_strace {
- trc("tls=%v root=%v action=%v, (%v:)", tls, root, action, origin(2))
+ trc("tls=%v root=%v __ccgo_fp_action=%v, (%v:)", tls, root, __ccgo_fp_action, origin(2))
}
- _walk(tls, root, action, 0)
+ _walk(tls, root, __ccgo_fp_action, 0)
}
func Xpoll(tls *TLS, fds uintptr, n Tnfds_t, timeout int32) (r int32) {
@@ -134077,8 +134054,6 @@ func Xpoll(tls *TLS, fds uintptr, n Tnfds_t, timeout int32) (r int32) {
return int32(X__syscall_ret(tls, Uint64FromInt64(___syscall_cp(tls, int64(SYS_ppoll), int64(fds), Int64FromUint64(n), int64(v1), int64(Int32FromInt32(0)), int64(Int32FromInt32(_NSIG)/Int32FromInt32(8)), 0))))
}
-type t__ucontext3 = Tucontext_t5
-
func Xppoll(tls *TLS, fds uintptr, n Tnfds_t, to uintptr, mask uintptr) (r int32) {
if __ccgo_strace {
trc("tls=%v fds=%v n=%v to=%v mask=%v, (%v:)", tls, fds, n, to, mask, origin(2))
@@ -134114,8 +134089,6 @@ func Xppoll(tls *TLS, fds uintptr, n Tnfds_t, to uintptr, mask uintptr) (r int32
return int32(X__syscall_ret(tls, Uint64FromInt64(___syscall_cp(tls, int64(SYS_ppoll), int64(fds), Int64FromUint64(n), int64(v3), int64(mask), int64(Int32FromInt32(_NSIG)/Int32FromInt32(8)), 0))))
}
-type t__ucontext4 = Tucontext_t4
-
func Xpselect(tls *TLS, n int32, rfds uintptr, wfds uintptr, efds uintptr, ts uintptr, mask uintptr) (r int32) {
if __ccgo_strace {
trc("tls=%v n=%v rfds=%v wfds=%v efds=%v ts=%v mask=%v, (%v:)", tls, n, rfds, wfds, efds, ts, mask, origin(2))
@@ -134156,14 +134129,6 @@ func Xpselect(tls *TLS, n int32, rfds uintptr, wfds uintptr, efds uintptr, ts ui
return int32(X__syscall_ret(tls, Uint64FromInt64(___syscall_cp(tls, int64(SYS_pselect6), int64(n), int64(rfds), int64(wfds), int64(efds), int64(v3), int64(bp+16)))))
}
-type Tucontext_t6 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_sigmask Tsigset_t
- Fuc_mcontext Tmcontext_t
-}
-
func Xselect(tls *TLS, n int32, rfds uintptr, wfds uintptr, efds uintptr, tv uintptr) (r int32) {
if __ccgo_strace {
trc("tls=%v n=%v rfds=%v wfds=%v efds=%v tv=%v, (%v:)", tls, n, rfds, wfds, efds, tv, origin(2))
@@ -134659,14 +134624,6 @@ func Xsigaltstack(tls *TLS, ss uintptr, old uintptr) (r int32) {
const SST_SIZE = 8
-type Tucontext_t7 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_sigmask Tsigset_t
- Fuc_mcontext Tmcontext_t1
-}
-
func Xsigandset(tls *TLS, dest uintptr, left uintptr, right uintptr) (r1 int32) {
if __ccgo_strace {
trc("tls=%v dest=%v left=%v right=%v, (%v:)", tls, dest, left, right, origin(2))
@@ -143903,9 +143860,11 @@ func Xatoll(tls *TLS, s uintptr) (r int64) {
return v5
}
-func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xbsearch_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nel=%v width=%v cmp=%v, (%v:)", tls, key, base, nel, width, cmp, origin(2))
+ trc("tls=%v key=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, base, nel, width, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var sign int32
@@ -143913,7 +143872,7 @@ func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, c
_, _ = sign, try
for nel > uint64(0) {
try = base + uintptr(width*(nel/uint64(2)))
- sign = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, try)
+ sign = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, try)
if sign < 0 {
nel /= uint64(2)
} else {
@@ -144174,7 +144133,7 @@ func _shr(tls *TLS, p uintptr, n int32) {
*(*Tsize_t)(unsafe.Pointer(p + 1*8)) >>= Uint64FromInt32(n)
}
-func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshift int32, lp uintptr) {
+func _sift(tls *TLS, head uintptr, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr, pshift int32, lp uintptr) {
bp := tls.Alloc(912)
defer tls.Free(912)
var i, v1, v2 int32
@@ -144186,10 +144145,10 @@ func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshi
for pshift > int32(1) {
rt = head - uintptr(width)
lf = head - uintptr(width) - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift-int32(2))*8)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], lf, arg) >= 0 && (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], rt, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], lf, arg) >= 0 && (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], rt, arg) >= 0 {
break
}
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, lf, rt, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, lf, rt, arg) >= 0 {
v1 = i
i++
(*(*[113]uintptr)(unsafe.Pointer(bp)))[v1] = lf
@@ -144206,7 +144165,7 @@ func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshi
_cycle(tls, width, bp, i)
}
-func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pp uintptr, pshift int32, trusty int32, lp uintptr) {
+func _trinkle(tls *TLS, head uintptr, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr, pp uintptr, pshift int32, trusty int32, lp uintptr) {
bp := tls.Alloc(928)
defer tls.Free(928)
var i, trail, v1 int32
@@ -144220,13 +144179,13 @@ func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, p
(*(*[113]uintptr)(unsafe.Pointer(bp + 16)))[0] = head
for (*(*[2]Tsize_t)(unsafe.Pointer(bp)))[0] != uint64(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp)))[int32(1)] != uint64(0) {
stepson = head - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift)*8)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, stepson, (*(*[113]uintptr)(unsafe.Pointer(bp + 16)))[0], arg) <= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, stepson, (*(*[113]uintptr)(unsafe.Pointer(bp + 16)))[0], arg) <= 0 {
break
}
if !(trusty != 0) && pshift > int32(1) {
rt = head - uintptr(width)
lf = head - uintptr(width) - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift-int32(2))*8)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, rt, stepson, arg) >= 0 || (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, lf, stepson, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, rt, stepson, arg) >= 0 || (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, lf, stepson, arg) >= 0 {
break
}
}
@@ -144241,13 +144200,15 @@ func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, p
}
if !(trusty != 0) {
_cycle(tls, width, bp+16, i)
- _sift(tls, head, width, cmp, arg, pshift, lp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, lp)
}
}
-func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun, arg uintptr) {
+type t__ccgo_fp__X__qsort_r_3 = func(*TLS, uintptr, uintptr, uintptr) int32
+
+func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v arg=%v, (%v:)", tls, base, nel, width, cmp, arg, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v arg=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, arg, origin(2))
}
bp := tls.Alloc(784)
defer tls.Free(784)
@@ -144285,14 +144246,14 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
}
for head < high {
if (*(*[2]Tsize_t)(unsafe.Pointer(bp + 768)))[0]&uint64(3) == uint64(3) {
- _sift(tls, head, width, cmp, arg, pshift, bp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, bp)
_shr(tls, bp+768, int32(2))
pshift += int32(2)
} else {
if (*(*[96]Tsize_t)(unsafe.Pointer(bp)))[pshift-int32(1)] >= Uint64FromInt64(int64(high)-int64(head)) {
- _trinkle(tls, head, width, cmp, arg, bp+768, pshift, 0, bp)
+ _trinkle(tls, head, width, __ccgo_fp_cmp, arg, bp+768, pshift, 0, bp)
} else {
- _sift(tls, head, width, cmp, arg, pshift, bp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, bp)
}
if pshift == int32(1) {
_shl(tls, bp+768, int32(1))
@@ -144305,7 +144266,7 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
*(*Tsize_t)(unsafe.Pointer(bp + 768)) |= uint64(1)
head += uintptr(width)
}
- _trinkle(tls, head, width, cmp, arg, bp+768, pshift, 0, bp)
+ _trinkle(tls, head, width, __ccgo_fp_cmp, arg, bp+768, pshift, 0, bp)
for pshift != int32(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp + 768)))[0] != uint64(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp + 768)))[int32(1)] != uint64(0) {
if pshift <= int32(1) {
trail = _pntz(tls, bp+768)
@@ -144316,31 +144277,35 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
pshift -= int32(2)
*(*Tsize_t)(unsafe.Pointer(bp + 768)) ^= uint64(7)
_shr(tls, bp+768, int32(1))
- _trinkle(tls, head-uintptr((*(*[96]Tsize_t)(unsafe.Pointer(bp)))[pshift])-uintptr(width), width, cmp, arg, bp+768, pshift+int32(1), int32(1), bp)
+ _trinkle(tls, head-uintptr((*(*[96]Tsize_t)(unsafe.Pointer(bp)))[pshift])-uintptr(width), width, __ccgo_fp_cmp, arg, bp+768, pshift+int32(1), int32(1), bp)
_shl(tls, bp+768, int32(1))
*(*Tsize_t)(unsafe.Pointer(bp + 768)) |= uint64(1)
- _trinkle(tls, head-uintptr(width), width, cmp, arg, bp+768, pshift, int32(1), bp)
+ _trinkle(tls, head-uintptr(width), width, __ccgo_fp_cmp, arg, bp+768, pshift, int32(1), bp)
}
head -= uintptr(width)
}
}
-func Xqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun, arg uintptr) {
+type t__ccgo_fp__Xqsort_r_3 = func(*TLS, uintptr, uintptr, uintptr) int32
+
+func Xqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v arg=%v, (%v:)", tls, base, nel, width, cmp, arg, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v arg=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, arg, origin(2))
}
- X__qsort_r(tls, base, nel, width, cmp, arg)
+ X__qsort_r(tls, base, nel, width, __ccgo_fp_cmp, arg)
}
func _wrapper_cmp(tls *TLS, v1 uintptr, v2 uintptr, cmp uintptr) (r int32) {
return (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, v1, v2)
}
-func Xqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun) {
+type t__ccgo_fp__Xqsort_3 = func(*TLS, uintptr, uintptr) int32
+
+func Xqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v, (%v:)", tls, base, nel, width, cmp, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, origin(2))
}
- X__qsort_r(tls, base, nel, width, __ccgo_fp(_wrapper_cmp), cmp)
+ X__qsort_r(tls, base, nel, width, __ccgo_fp(_wrapper_cmp), __ccgo_fp_cmp)
}
func _strtox(tls *TLS, s uintptr, p uintptr, prec int32) (r float64) {
diff --git a/vendor/modernc.org/libc/ccgo_linux_loong64.go b/vendor/modernc.org/libc/ccgo_linux_loong64.go
index 48b0b26f889b0..73ee111ebc574 100644
--- a/vendor/modernc.org/libc/ccgo_linux_loong64.go
+++ b/vendor/modernc.org/libc/ccgo_linux_loong64.go
@@ -24905,9 +24905,13 @@ func Xrewinddir(tls *TLS, dir uintptr) {
___unlock(tls, dir+20)
}
-func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r int32) {
+type t__ccgo_fp__Xscandir_2 = func(*TLS, uintptr) int32
+
+type t__ccgo_fp__Xscandir_3 = func(*TLS, uintptr, uintptr) int32
+
+func Xscandir(tls *TLS, path uintptr, res uintptr, __ccgo_fp_sel uintptr, __ccgo_fp_cmp uintptr) (r int32) {
if __ccgo_strace {
- trc("tls=%v path=%v res=%v sel=%v cmp=%v, (%v:)", tls, path, res, sel, cmp, origin(2))
+ trc("tls=%v path=%v res=%v __ccgo_fp_sel=%v __ccgo_fp_cmp=%v, (%v:)", tls, path, res, __ccgo_fp_sel, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var cnt, len1, v2, v3 Tsize_t
@@ -24929,7 +24933,7 @@ func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r
if !(v1 != 0) {
break
}
- if sel != 0 && !((*(*func(*TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{sel})))(tls, de) != 0) {
+ if __ccgo_fp_sel != 0 && !((*(*func(*TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_sel})))(tls, de) != 0) {
continue
}
if cnt >= len1 {
@@ -24967,8 +24971,8 @@ func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r
return -int32(1)
}
*(*int32)(unsafe.Pointer(X__errno_location(tls))) = old_errno
- if cmp != 0 {
- Xqsort(tls, names, cnt, uint64(8), cmp)
+ if __ccgo_fp_cmp != 0 {
+ Xqsort(tls, names, cnt, uint64(8), __ccgo_fp_cmp)
}
*(*uintptr)(unsafe.Pointer(res)) = names
return Int32FromUint64(cnt)
@@ -25714,9 +25718,11 @@ func X__funcs_on_quick_exit(tls *TLS) {
}
}
-func Xat_quick_exit(tls *TLS, func1 uintptr) (r1 int32) {
+type t__ccgo_fp__Xat_quick_exit_0 = func(*TLS)
+
+func Xat_quick_exit(tls *TLS, __ccgo_fp_func uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v func1=%v, (%v:)", tls, func1, origin(2))
+ trc("tls=%v __ccgo_fp_func=%v, (%v:)", tls, __ccgo_fp_func, origin(2))
defer func() { trc("-> %v", r1) }()
}
var r, v1 int32
@@ -25728,7 +25734,7 @@ func Xat_quick_exit(tls *TLS, func1 uintptr) (r1 int32) {
} else {
v1 = _count
_count++
- _funcs[v1] = func1
+ _funcs[v1] = __ccgo_fp_func
}
___unlock(tls, uintptr(unsafe.Pointer(&_lock)))
return r
@@ -28104,15 +28110,17 @@ type TFTW = struct {
Flevel int32
}
-func Xftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32) (r int32) {
+type t__ccgo_fp__Xftw_1 = func(*TLS, uintptr, uintptr, int32) int32
+
+func Xftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32) (r int32) {
if __ccgo_strace {
- trc("tls=%v path=%v fn=%v fd_limit=%v, (%v:)", tls, path, fn, fd_limit, origin(2))
+ trc("tls=%v path=%v __ccgo_fp_fn=%v fd_limit=%v, (%v:)", tls, path, __ccgo_fp_fn, fd_limit, origin(2))
defer func() { trc("-> %v", r) }()
}
/* The following cast assumes that calling a function with one
* argument more than it needs behaves as expected. This is
* actually undefined, but works on all real-world machines. */
- return Xnftw(tls, path, fn, fd_limit, int32(FTW_PHYS))
+ return Xnftw(tls, path, __ccgo_fp_fn, fd_limit, int32(FTW_PHYS))
}
const STATX_ALL = 4095
@@ -115115,7 +115123,7 @@ type Thistory = struct {
Fbase int32
}
-func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h uintptr) (r1 int32) {
+func _do_nftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32, flags int32, h uintptr) (r1 int32) {
bp := tls.Alloc(176)
defer tls.Free(176)
var d, de, v10 uintptr
@@ -115221,7 +115229,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
}
if v8 = !(flags&Int32FromInt32(FTW_DEPTH) != 0); v8 {
- v7 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{fn})))(tls, path, bp, type1, bp+160)
+ v7 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_fn})))(tls, path, bp, type1, bp+160)
r = v7
}
if v8 && v7 != 0 {
@@ -115262,7 +115270,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
*(*int8)(unsafe.Pointer(path + uintptr(j))) = int8('/')
Xstrcpy(tls, path+uintptr(j)+uintptr(1), de+19)
- v11 = _do_nftw(tls, path, fn, fd_limit-int32(1), flags, bp+128)
+ v11 = _do_nftw(tls, path, __ccgo_fp_fn, fd_limit-int32(1), flags, bp+128)
r = v11
if v11 != 0 {
Xclosedir(tls, d)
@@ -115277,7 +115285,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
*(*int8)(unsafe.Pointer(path + uintptr(l))) = 0
if v13 = flags&int32(FTW_DEPTH) != 0; v13 {
- v12 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{fn})))(tls, path, bp, type1, bp+160)
+ v12 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_fn})))(tls, path, bp, type1, bp+160)
r = v12
}
if v13 && v12 != 0 {
@@ -115286,9 +115294,11 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
return 0
}
-func Xnftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32) (r1 int32) {
+type t__ccgo_fp__Xnftw_1 = func(*TLS, uintptr, uintptr, int32, uintptr) int32
+
+func Xnftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32, flags int32) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v path=%v fn=%v fd_limit=%v flags=%v, (%v:)", tls, path, fn, fd_limit, flags, origin(2))
+ trc("tls=%v path=%v __ccgo_fp_fn=%v fd_limit=%v flags=%v, (%v:)", tls, path, __ccgo_fp_fn, fd_limit, flags, origin(2))
defer func() { trc("-> %v", r1) }()
}
bp := tls.Alloc(4112)
@@ -115308,7 +115318,7 @@ func Xnftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32) (r1
}
Xmemcpy(tls, bp+4, path, l+uint64(1))
_pthread_setcancelstate(tls, int32(PTHREAD_CANCEL_DISABLE), bp)
- r = _do_nftw(tls, bp+4, fn, fd_limit, flags, UintptrFromInt32(0))
+ r = _do_nftw(tls, bp+4, __ccgo_fp_fn, fd_limit, flags, UintptrFromInt32(0))
_pthread_setcancelstate(tls, *(*int32)(unsafe.Pointer(bp)), uintptr(0))
return r
}
@@ -118204,13 +118214,6 @@ const _ns_uop_delete = 0
const _ns_uop_add = 1
const _ns_uop_max = 2
-type Tns_tsig_key1 = struct {
- Fname [1025]int8
- Falg [1025]int8
- Fdata uintptr
- Flen1 int32
-}
-
type Tns_tsig_key = struct {
Fname [1025]int8
Falg [1025]int8
@@ -118218,14 +118221,6 @@ type Tns_tsig_key = struct {
Flen1 int32
}
-type Tns_tcp_tsig_state1 = struct {
- Fcounter int32
- Fkey uintptr
- Fctx uintptr
- Fsig [512]uint8
- Fsiglen int32
-}
-
type Tns_tcp_tsig_state = struct {
Fcounter int32
Fkey uintptr
@@ -118875,9 +118870,11 @@ type Tresolvconf = struct {
Ftimeout uint32
}
-func X__dns_parse(tls *TLS, r uintptr, rlen int32, callback uintptr, ctx uintptr) (r1 int32) {
+type t__ccgo_fp__X__dns_parse_2 = func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32
+
+func X__dns_parse(tls *TLS, r uintptr, rlen int32, __ccgo_fp_callback uintptr, ctx uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v r=%v rlen=%v callback=%v ctx=%v, (%v:)", tls, r, rlen, callback, ctx, origin(2))
+ trc("tls=%v r=%v rlen=%v __ccgo_fp_callback=%v ctx=%v, (%v:)", tls, r, rlen, __ccgo_fp_callback, ctx, origin(2))
defer func() { trc("-> %v", r1) }()
}
var ancount, len1, qdcount, v1, v2 int32
@@ -118923,7 +118920,7 @@ func X__dns_parse(tls *TLS, r uintptr, rlen int32, callback uintptr, ctx uintptr
if int64(len1+int32(10)) > int64(r+uintptr(rlen))-int64(p) {
return -int32(1)
}
- if (*(*func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{callback})))(tls, ctx, Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 1))), p+uintptr(10), len1, r, rlen) < 0 {
+ if (*(*func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_callback})))(tls, ctx, Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 1))), p+uintptr(10), len1, r, rlen) < 0 {
return -int32(1)
}
p += uintptr(int32(10) + len1)
@@ -121027,10 +121024,6 @@ func Xherror(tls *TLS, msg uintptr) {
Xfprintf(tls, uintptr(unsafe.Pointer(&X__stderr_FILE)), __ccgo_ts+1062, VaList(bp+8, v1, v2, Xhstrerror(tls, *(*int32)(unsafe.Pointer(X__h_errno_location(tls))))))
}
-type Tcpu_set_t1 = struct {
- F__bits [16]uint64
-}
-
var _msgs1 = [84]int8{'H', 'o', 's', 't', ' ', 'n', 'o', 't', ' ', 'f', 'o', 'u', 'n', 'd', 0, 'T', 'r', 'y', ' ', 'a', 'g', 'a', 'i', 'n', 0, 'N', 'o', 'n', '-', 'r', 'e', 'c', 'o', 'v', 'e', 'r', 'a', 'b', 'l', 'e', ' ', 'e', 'r', 'r', 'o', 'r', 0, 'A', 'd', 'd', 'r', 'e', 's', 's', ' ', 'n', 'o', 't', ' ', 'a', 'v', 'a', 'i', 'l', 'a', 'b', 'l', 'e', 0, 0, 'U', 'n', 'k', 'n', 'o', 'w', 'n', ' ', 'e', 'r', 'r', 'o', 'r'}
func Xhstrerror(tls *TLS, ecode int32) (r uintptr) {
@@ -122818,7 +122811,7 @@ func X__lookup_serv(tls *TLS, buf uintptr, name uintptr, proto int32, socktype i
return v22
}
-func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32, cb uintptr, ctx uintptr) (r1 int32) {
+func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32, __ccgo_fp_cb uintptr, ctx uintptr) (r1 int32) {
bp := tls.Alloc(8192)
defer tls.Free(8192)
var h uintptr
@@ -122908,7 +122901,7 @@ func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32,
if Int32FromUint16((*Tnlmsghdr)(unsafe.Pointer(h)).Fnlmsg_type) == int32(NLMSG_ERROR) {
return -int32(1)
}
- ret = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cb})))(tls, ctx, h)
+ ret = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cb})))(tls, ctx, h)
if ret != 0 {
return ret
}
@@ -122921,9 +122914,11 @@ func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32,
return r1
}
-func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, cb uintptr, ctx uintptr) (r1 int32) {
+type t__ccgo_fp__X__rtnetlink_enumerate_2 = func(*TLS, uintptr, uintptr) int32
+
+func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, __ccgo_fp_cb uintptr, ctx uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v link_af=%v addr_af=%v cb=%v ctx=%v, (%v:)", tls, link_af, addr_af, cb, ctx, origin(2))
+ trc("tls=%v link_af=%v addr_af=%v __ccgo_fp_cb=%v ctx=%v, (%v:)", tls, link_af, addr_af, __ccgo_fp_cb, ctx, origin(2))
defer func() { trc("-> %v", r1) }()
}
var fd, r int32
@@ -122932,9 +122927,9 @@ func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, cb uintptr,
if fd < 0 {
return -int32(1)
}
- r = ___netlink_enumerate(tls, fd, uint32(1), int32(RTM_GETLINK), link_af, cb, ctx)
+ r = ___netlink_enumerate(tls, fd, uint32(1), int32(RTM_GETLINK), link_af, __ccgo_fp_cb, ctx)
if !(r != 0) {
- r = ___netlink_enumerate(tls, fd, uint32(2), int32(RTM_GETADDR), addr_af, cb, ctx)
+ r = ___netlink_enumerate(tls, fd, uint32(2), int32(RTM_GETADDR), addr_af, __ccgo_fp_cb, ctx)
}
X__syscall1(tls, int64(SYS_close), int64(fd))
return r
@@ -128041,7 +128036,7 @@ func _append(tls *TLS, tail uintptr, name uintptr, len1 Tsize_t, mark int32) (r
return 0
}
-func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flags int32, errfunc uintptr, tail uintptr) (r1 int32) {
+func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flags int32, __ccgo_fp_errfunc uintptr, tail uintptr) (r1 int32) {
bp := tls.Alloc(128)
defer tls.Free(128)
var de, dir, p, p2, v11, v2, v7, v8 uintptr
@@ -128150,7 +128145,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
}
}
if !(type1 != 0) && Xlstat(tls, buf, bp) != 0 {
- if *(*int32)(unsafe.Pointer(X__errno_location(tls))) != int32(ENOENT) && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
+ if *(*int32)(unsafe.Pointer(X__errno_location(tls))) != int32(ENOENT) && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
return int32(GLOB_ABORTED)
}
return 0
@@ -128187,7 +128182,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
}
dir = Xopendir(tls, v7)
if !(dir != 0) {
- if (*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0 {
+ if (*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0 {
return int32(GLOB_ABORTED)
}
return 0
@@ -128239,7 +128234,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
} else {
v11 = __ccgo_ts
}
- r = _do_glob(tls, buf, pos+l, Int32FromUint8((*Tdirent)(unsafe.Pointer(de)).Fd_type), v11, flags, errfunc, tail)
+ r = _do_glob(tls, buf, pos+l, Int32FromUint8((*Tdirent)(unsafe.Pointer(de)).Fd_type), v11, flags, __ccgo_fp_errfunc, tail)
if r != 0 {
Xclosedir(tls, dir)
return r
@@ -128250,7 +128245,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
*(*int8)(unsafe.Pointer(p2)) = saved_sep
}
Xclosedir(tls, dir)
- if readerr != 0 && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
+ if readerr != 0 && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
return int32(GLOB_ABORTED)
}
*(*int32)(unsafe.Pointer(X__errno_location(tls))) = old_errno
@@ -128362,9 +128357,11 @@ func _expand_tilde(tls *TLS, pat uintptr, buf uintptr, pos uintptr) (r int32) {
return 0
}
-func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r int32) {
+type t__ccgo_fp__Xglob_2 = func(*TLS, uintptr, int32) int32
+
+func Xglob(tls *TLS, pat uintptr, flags int32, __ccgo_fp_errfunc uintptr, g uintptr) (r int32) {
if __ccgo_strace {
- trc("tls=%v pat=%v flags=%v errfunc=%v g=%v, (%v:)", tls, pat, flags, errfunc, g, origin(2))
+ trc("tls=%v pat=%v flags=%v __ccgo_fp_errfunc=%v g=%v, (%v:)", tls, pat, flags, __ccgo_fp_errfunc, g, origin(2))
defer func() { trc("-> %v", r) }()
}
bp := tls.Alloc(4128)
@@ -128390,8 +128387,8 @@ func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r in
}
offs = v1
error1 = 0
- if !(errfunc != 0) {
- errfunc = __ccgo_fp(_ignore_err)
+ if !(__ccgo_fp_errfunc != 0) {
+ __ccgo_fp_errfunc = __ccgo_fp(_ignore_err)
}
if !(flags&Int32FromInt32(GLOB_APPEND) != 0) {
(*Tglob_t)(unsafe.Pointer(g)).Fgl_offs = offs
@@ -128410,7 +128407,7 @@ func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r in
error1 = _expand_tilde(tls, bp+4120, bp+16, bp+4112)
}
if !(error1 != 0) {
- error1 = _do_glob(tls, bp+16, *(*Tsize_t)(unsafe.Pointer(bp + 4112)), 0, *(*uintptr)(unsafe.Pointer(bp + 4120)), flags, errfunc, bp+8)
+ error1 = _do_glob(tls, bp+16, *(*Tsize_t)(unsafe.Pointer(bp + 4112)), 0, *(*uintptr)(unsafe.Pointer(bp + 4120)), flags, __ccgo_fp_errfunc, bp+8)
}
Xfree(tls, p)
}
@@ -133634,9 +133631,11 @@ func Xremque(tls *TLS, element uintptr) {
}
}
-func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr) {
+type t__ccgo_fp__Xlsearch_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nelp=%v width=%v compar=%v, (%v:)", tls, key, base, nelp, width, compar, origin(2))
+ trc("tls=%v key=%v base=%v nelp=%v width=%v __ccgo_fp_compar=%v, (%v:)", tls, key, base, nelp, width, __ccgo_fp_compar, origin(2))
defer func() { trc("-> %v", r) }()
}
var i, n Tsize_t
@@ -133652,7 +133651,7 @@ func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t,
if !(i < n) {
break
}
- if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
+ if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
return p + uintptr(i)*uintptr(v1)
}
goto _2
@@ -133664,9 +133663,11 @@ func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t,
return Xmemcpy(tls, p+uintptr(n)*uintptr(v1), key, width)
}
-func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr) {
+type t__ccgo_fp__Xlfind_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nelp=%v width=%v compar=%v, (%v:)", tls, key, base, nelp, width, compar, origin(2))
+ trc("tls=%v key=%v base=%v nelp=%v width=%v __ccgo_fp_compar=%v, (%v:)", tls, key, base, nelp, width, __ccgo_fp_compar, origin(2))
defer func() { trc("-> %v", r) }()
}
var i, n Tsize_t
@@ -133682,7 +133683,7 @@ func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, co
if !(i < n) {
break
}
- if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
+ if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
return p + uintptr(i)*uintptr(v1)
}
goto _2
@@ -133701,9 +133702,11 @@ type Tnode1 = struct {
Fh int32
}
-func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xtdelete_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtdelete(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var a [97]uintptr
@@ -133727,7 +133730,7 @@ func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
if !(n != 0) {
return uintptr(0)
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
break
}
@@ -133772,9 +133775,11 @@ func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
return parent
}
-func Xtdestroy(tls *TLS, root uintptr, freekey uintptr) {
+type t__ccgo_fp__Xtdestroy_1 = func(*TLS, uintptr)
+
+func Xtdestroy(tls *TLS, root uintptr, __ccgo_fp_freekey uintptr) {
if __ccgo_strace {
- trc("tls=%v root=%v freekey=%v, (%v:)", tls, root, freekey, origin(2))
+ trc("tls=%v root=%v __ccgo_fp_freekey=%v, (%v:)", tls, root, __ccgo_fp_freekey, origin(2))
}
var r uintptr
_ = r
@@ -133782,17 +133787,19 @@ func Xtdestroy(tls *TLS, root uintptr, freekey uintptr) {
if r == uintptr(0) {
return
}
- Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8)), freekey)
- Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), freekey)
- if freekey != 0 {
- (*(*func(*TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{freekey})))(tls, (*Tnode1)(unsafe.Pointer(r)).Fkey)
+ Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8)), __ccgo_fp_freekey)
+ Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), __ccgo_fp_freekey)
+ if __ccgo_fp_freekey != 0 {
+ (*(*func(*TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_freekey})))(tls, (*Tnode1)(unsafe.Pointer(r)).Fkey)
}
Xfree(tls, r)
}
-func Xtfind(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xtfind_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtfind(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var c int32
@@ -133806,7 +133813,7 @@ func Xtfind(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
if !(n != 0) {
break
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
break
}
@@ -133894,9 +133901,11 @@ func X__tsearch_balance(tls *TLS, p uintptr) (r int32) {
return _rot(tls, p, n, BoolInt32(h0 < h1))
}
-func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
+type t__ccgo_fp__Xtsearch_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtsearch(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r1 uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r1) }()
}
var a [96]uintptr
@@ -133916,7 +133925,7 @@ func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
if !(n != 0) {
break
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
return n
}
@@ -133952,26 +133961,28 @@ func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
return r
}
-func _walk(tls *TLS, r uintptr, action uintptr, d int32) {
+func _walk(tls *TLS, r uintptr, __ccgo_fp_action uintptr, d int32) {
if !(r != 0) {
return
}
if (*Tnode1)(unsafe.Pointer(r)).Fh == int32(1) {
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_leaf), d)
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_leaf), d)
} else {
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_preorder), d)
- _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8)), action, d+int32(1))
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_postorder), d)
- _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), action, d+int32(1))
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_endorder), d)
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_preorder), d)
+ _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8)), __ccgo_fp_action, d+int32(1))
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_postorder), d)
+ _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), __ccgo_fp_action, d+int32(1))
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_endorder), d)
}
}
-func Xtwalk(tls *TLS, root uintptr, action uintptr) {
+type t__ccgo_fp__Xtwalk_1 = func(*TLS, uintptr, int32, int32)
+
+func Xtwalk(tls *TLS, root uintptr, __ccgo_fp_action uintptr) {
if __ccgo_strace {
- trc("tls=%v root=%v action=%v, (%v:)", tls, root, action, origin(2))
+ trc("tls=%v root=%v __ccgo_fp_action=%v, (%v:)", tls, root, __ccgo_fp_action, origin(2))
}
- _walk(tls, root, action, 0)
+ _walk(tls, root, __ccgo_fp_action, 0)
}
func Xpoll(tls *TLS, fds uintptr, n Tnfds_t, timeout int32) (r int32) {
@@ -143887,9 +143898,11 @@ func Xatoll(tls *TLS, s uintptr) (r int64) {
return v5
}
-func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xbsearch_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nel=%v width=%v cmp=%v, (%v:)", tls, key, base, nel, width, cmp, origin(2))
+ trc("tls=%v key=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, base, nel, width, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var sign int32
@@ -143897,7 +143910,7 @@ func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, c
_, _ = sign, try
for nel > uint64(0) {
try = base + uintptr(width*(nel/uint64(2)))
- sign = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, try)
+ sign = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, try)
if sign < 0 {
nel /= uint64(2)
} else {
@@ -144167,7 +144180,7 @@ func _shr(tls *TLS, p uintptr, n int32) {
*(*Tsize_t)(unsafe.Pointer(p + 1*8)) >>= Uint64FromInt32(n)
}
-func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshift int32, lp uintptr) {
+func _sift(tls *TLS, head uintptr, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr, pshift int32, lp uintptr) {
bp := tls.Alloc(912)
defer tls.Free(912)
var i, v1, v2 int32
@@ -144179,10 +144192,10 @@ func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshi
for pshift > int32(1) {
rt = head - uintptr(width)
lf = head - uintptr(width) - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift-int32(2))*8)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], lf, arg) >= 0 && (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], rt, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], lf, arg) >= 0 && (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], rt, arg) >= 0 {
break
}
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, lf, rt, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, lf, rt, arg) >= 0 {
v1 = i
i++
(*(*[113]uintptr)(unsafe.Pointer(bp)))[v1] = lf
@@ -144199,7 +144212,7 @@ func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshi
_cycle(tls, width, bp, i)
}
-func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pp uintptr, pshift int32, trusty int32, lp uintptr) {
+func _trinkle(tls *TLS, head uintptr, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr, pp uintptr, pshift int32, trusty int32, lp uintptr) {
bp := tls.Alloc(928)
defer tls.Free(928)
var i, trail, v1 int32
@@ -144213,13 +144226,13 @@ func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, p
(*(*[113]uintptr)(unsafe.Pointer(bp + 16)))[0] = head
for (*(*[2]Tsize_t)(unsafe.Pointer(bp)))[0] != uint64(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp)))[int32(1)] != uint64(0) {
stepson = head - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift)*8)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, stepson, (*(*[113]uintptr)(unsafe.Pointer(bp + 16)))[0], arg) <= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, stepson, (*(*[113]uintptr)(unsafe.Pointer(bp + 16)))[0], arg) <= 0 {
break
}
if !(trusty != 0) && pshift > int32(1) {
rt = head - uintptr(width)
lf = head - uintptr(width) - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift-int32(2))*8)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, rt, stepson, arg) >= 0 || (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, lf, stepson, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, rt, stepson, arg) >= 0 || (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, lf, stepson, arg) >= 0 {
break
}
}
@@ -144234,13 +144247,15 @@ func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, p
}
if !(trusty != 0) {
_cycle(tls, width, bp+16, i)
- _sift(tls, head, width, cmp, arg, pshift, lp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, lp)
}
}
-func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun, arg uintptr) {
+type t__ccgo_fp__X__qsort_r_3 = func(*TLS, uintptr, uintptr, uintptr) int32
+
+func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v arg=%v, (%v:)", tls, base, nel, width, cmp, arg, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v arg=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, arg, origin(2))
}
bp := tls.Alloc(784)
defer tls.Free(784)
@@ -144278,14 +144293,14 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
}
for head < high {
if (*(*[2]Tsize_t)(unsafe.Pointer(bp + 768)))[0]&uint64(3) == uint64(3) {
- _sift(tls, head, width, cmp, arg, pshift, bp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, bp)
_shr(tls, bp+768, int32(2))
pshift += int32(2)
} else {
if (*(*[96]Tsize_t)(unsafe.Pointer(bp)))[pshift-int32(1)] >= Uint64FromInt64(int64(high)-int64(head)) {
- _trinkle(tls, head, width, cmp, arg, bp+768, pshift, 0, bp)
+ _trinkle(tls, head, width, __ccgo_fp_cmp, arg, bp+768, pshift, 0, bp)
} else {
- _sift(tls, head, width, cmp, arg, pshift, bp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, bp)
}
if pshift == int32(1) {
_shl(tls, bp+768, int32(1))
@@ -144298,7 +144313,7 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
*(*Tsize_t)(unsafe.Pointer(bp + 768)) |= uint64(1)
head += uintptr(width)
}
- _trinkle(tls, head, width, cmp, arg, bp+768, pshift, 0, bp)
+ _trinkle(tls, head, width, __ccgo_fp_cmp, arg, bp+768, pshift, 0, bp)
for pshift != int32(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp + 768)))[0] != uint64(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp + 768)))[int32(1)] != uint64(0) {
if pshift <= int32(1) {
trail = _pntz(tls, bp+768)
@@ -144309,31 +144324,35 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
pshift -= int32(2)
*(*Tsize_t)(unsafe.Pointer(bp + 768)) ^= uint64(7)
_shr(tls, bp+768, int32(1))
- _trinkle(tls, head-uintptr((*(*[96]Tsize_t)(unsafe.Pointer(bp)))[pshift])-uintptr(width), width, cmp, arg, bp+768, pshift+int32(1), int32(1), bp)
+ _trinkle(tls, head-uintptr((*(*[96]Tsize_t)(unsafe.Pointer(bp)))[pshift])-uintptr(width), width, __ccgo_fp_cmp, arg, bp+768, pshift+int32(1), int32(1), bp)
_shl(tls, bp+768, int32(1))
*(*Tsize_t)(unsafe.Pointer(bp + 768)) |= uint64(1)
- _trinkle(tls, head-uintptr(width), width, cmp, arg, bp+768, pshift, int32(1), bp)
+ _trinkle(tls, head-uintptr(width), width, __ccgo_fp_cmp, arg, bp+768, pshift, int32(1), bp)
}
head -= uintptr(width)
}
}
-func Xqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun, arg uintptr) {
+type t__ccgo_fp__Xqsort_r_3 = func(*TLS, uintptr, uintptr, uintptr) int32
+
+func Xqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v arg=%v, (%v:)", tls, base, nel, width, cmp, arg, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v arg=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, arg, origin(2))
}
- X__qsort_r(tls, base, nel, width, cmp, arg)
+ X__qsort_r(tls, base, nel, width, __ccgo_fp_cmp, arg)
}
func _wrapper_cmp(tls *TLS, v1 uintptr, v2 uintptr, cmp uintptr) (r int32) {
return (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, v1, v2)
}
-func Xqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun) {
+type t__ccgo_fp__Xqsort_3 = func(*TLS, uintptr, uintptr) int32
+
+func Xqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v, (%v:)", tls, base, nel, width, cmp, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, origin(2))
}
- X__qsort_r(tls, base, nel, width, __ccgo_fp(_wrapper_cmp), cmp)
+ X__qsort_r(tls, base, nel, width, __ccgo_fp(_wrapper_cmp), __ccgo_fp_cmp)
}
func _strtox(tls *TLS, s uintptr, p uintptr, prec int32) (r float64) {
diff --git a/vendor/modernc.org/libc/ccgo_linux_ppc64le.go b/vendor/modernc.org/libc/ccgo_linux_ppc64le.go
index 9244f4445b5cb..594b075ab961c 100644
--- a/vendor/modernc.org/libc/ccgo_linux_ppc64le.go
+++ b/vendor/modernc.org/libc/ccgo_linux_ppc64le.go
@@ -178,6 +178,7 @@ const __DBL_DIG__ = 15
const __DBL_HAS_DENORM__ = 1
const __DBL_HAS_INFINITY__ = 1
const __DBL_HAS_QUIET_NAN__ = 1
+const __DBL_IS_IEC_60559__ = 1
const __DBL_MANT_DIG__ = 53
const __DBL_MAX_10_EXP__ = 308
const __DBL_MAX_EXP__ = 1024
@@ -218,6 +219,7 @@ const __FLT128_EPSILON__ = 0
const __FLT128_HAS_DENORM__ = 1
const __FLT128_HAS_INFINITY__ = 1
const __FLT128_HAS_QUIET_NAN__ = 1
+const __FLT128_IS_IEC_60559__ = 1
const __FLT128_MANT_DIG__ = 113
const __FLT128_MAX_10_EXP__ = 4932
const __FLT128_MAX_EXP__ = 16384
@@ -233,6 +235,7 @@ const __FLT32X_EPSILON__ = 0
const __FLT32X_HAS_DENORM__ = 1
const __FLT32X_HAS_INFINITY__ = 1
const __FLT32X_HAS_QUIET_NAN__ = 1
+const __FLT32X_IS_IEC_60559__ = 1
const __FLT32X_MANT_DIG__ = 53
const __FLT32X_MAX_10_EXP__ = 308
const __FLT32X_MAX_EXP__ = 1024
@@ -248,6 +251,7 @@ const __FLT32_EPSILON__ = 0
const __FLT32_HAS_DENORM__ = 1
const __FLT32_HAS_INFINITY__ = 1
const __FLT32_HAS_QUIET_NAN__ = 1
+const __FLT32_IS_IEC_60559__ = 1
const __FLT32_MANT_DIG__ = 24
const __FLT32_MAX_10_EXP__ = 38
const __FLT32_MAX_EXP__ = 128
@@ -263,6 +267,7 @@ const __FLT64X_EPSILON__ = 0
const __FLT64X_HAS_DENORM__ = 1
const __FLT64X_HAS_INFINITY__ = 1
const __FLT64X_HAS_QUIET_NAN__ = 1
+const __FLT64X_IS_IEC_60559__ = 1
const __FLT64X_MANT_DIG__ = 113
const __FLT64X_MAX_10_EXP__ = 4932
const __FLT64X_MAX_EXP__ = 16384
@@ -278,6 +283,7 @@ const __FLT64_EPSILON__ = 0
const __FLT64_HAS_DENORM__ = 1
const __FLT64_HAS_INFINITY__ = 1
const __FLT64_HAS_QUIET_NAN__ = 1
+const __FLT64_IS_IEC_60559__ = 1
const __FLT64_MANT_DIG__ = 53
const __FLT64_MAX_10_EXP__ = 308
const __FLT64_MAX_EXP__ = 1024
@@ -295,6 +301,7 @@ const __FLT_EVAL_METHOD__ = 0
const __FLT_HAS_DENORM__ = 1
const __FLT_HAS_INFINITY__ = 1
const __FLT_HAS_QUIET_NAN__ = 1
+const __FLT_IS_IEC_60559__ = 1
const __FLT_MANT_DIG__ = 24
const __FLT_MAX_10_EXP__ = 38
const __FLT_MAX_EXP__ = 128
@@ -330,14 +337,15 @@ const __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
const __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1
const __GCC_IEC_559 = 2
const __GCC_IEC_559_COMPLEX = 2
+const __GNUC_EXECUTION_CHARSET_NAME = "UTF-8"
const __GNUC_MINOR__ = 2
-const __GNUC_PATCHLEVEL__ = 1
+const __GNUC_PATCHLEVEL__ = 0
const __GNUC_STDC_INLINE__ = 1
-const __GNUC__ = 10
-const __GXX_ABI_VERSION = 1014
+const __GNUC_WIDE_EXECUTION_CHARSET_NAME = "UTF-32LE"
+const __GNUC__ = 14
+const __GXX_ABI_VERSION = 1019
const __HAVE_BSWAP__ = 1
const __HAVE_SPECULATION_SAFE_VALUE = 1
-const __HTM__ = 1
const __INT16_MAX__ = 32767
const __INT32_MAX__ = 2147483647
const __INT32_TYPE__ = 0
@@ -373,6 +381,7 @@ const __LDBL_EPSILON__ = 0
const __LDBL_HAS_DENORM__ = 1
const __LDBL_HAS_INFINITY__ = 1
const __LDBL_HAS_QUIET_NAN__ = 1
+const __LDBL_IS_IEC_60559__ = 1
const __LDBL_MANT_DIG__ = 53
const __LDBL_MAX_10_EXP__ = 308
const __LDBL_MAX_EXP__ = 1024
@@ -411,6 +420,7 @@ const __RSQRTEF__ = 1
const __RSQRTE__ = 1
const __SCHAR_MAX__ = 127
const __SCHAR_WIDTH__ = 8
+const __SET_FPSCR_RN_RETURNS_FPSCR__ = 1
const __SHRT_MAX__ = 32767
const __SHRT_WIDTH__ = 16
const __SIG_ATOMIC_MAX__ = 2147483647
@@ -418,7 +428,9 @@ const __SIG_ATOMIC_MIN__ = -2147483648
const __SIG_ATOMIC_TYPE__ = 0
const __SIG_ATOMIC_WIDTH__ = 32
const __SIZEOF_DOUBLE__ = 8
+const __SIZEOF_FLOAT128__ = 16
const __SIZEOF_FLOAT__ = 4
+const __SIZEOF_IEEE128__ = 16
const __SIZEOF_INT128__ = 16
const __SIZEOF_INT__ = 4
const __SIZEOF_LONG_DOUBLE__ = 8
@@ -437,7 +449,6 @@ const __STDC_VERSION__ = 199901
const __STDC__ = 1
const __STRICT_ANSI__ = 1
const __STRUCT_PARM_ALIGN__ = 16
-const __TM_FENCE__ = 1
const __UINT16_MAX__ = 65535
const __UINT32_MAX__ = 4294967295
const __UINT64_MAX__ = 18446744073709551615
@@ -455,7 +466,7 @@ const __UINT_LEAST8_MAX__ = 255
const __USE_TIME_BITS64 = 1
const __VEC_ELEMENT_REG_ORDER__ = 1234
const __VEC__ = 10206
-const __VERSION__ = "10.2.1 20210110"
+const __VERSION__ = "14.2.0"
const __VSX__ = 1
const __WCHAR_MAX__ = 2147483647
const __WCHAR_MIN__ = -2147483648
@@ -25053,9 +25064,13 @@ func Xrewinddir(tls *TLS, dir uintptr) {
___unlock(tls, dir+20)
}
-func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r int32) {
+type t__ccgo_fp__Xscandir_2 = func(*TLS, uintptr) int32
+
+type t__ccgo_fp__Xscandir_3 = func(*TLS, uintptr, uintptr) int32
+
+func Xscandir(tls *TLS, path uintptr, res uintptr, __ccgo_fp_sel uintptr, __ccgo_fp_cmp uintptr) (r int32) {
if __ccgo_strace {
- trc("tls=%v path=%v res=%v sel=%v cmp=%v, (%v:)", tls, path, res, sel, cmp, origin(2))
+ trc("tls=%v path=%v res=%v __ccgo_fp_sel=%v __ccgo_fp_cmp=%v, (%v:)", tls, path, res, __ccgo_fp_sel, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var cnt, len1, v2, v3 Tsize_t
@@ -25077,7 +25092,7 @@ func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r
if !(v1 != 0) {
break
}
- if sel != 0 && !((*(*func(*TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{sel})))(tls, de) != 0) {
+ if __ccgo_fp_sel != 0 && !((*(*func(*TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_sel})))(tls, de) != 0) {
continue
}
if cnt >= len1 {
@@ -25115,8 +25130,8 @@ func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r
return -int32(1)
}
*(*int32)(unsafe.Pointer(X__errno_location(tls))) = old_errno
- if cmp != 0 {
- Xqsort(tls, names, cnt, uint64(8), cmp)
+ if __ccgo_fp_cmp != 0 {
+ Xqsort(tls, names, cnt, uint64(8), __ccgo_fp_cmp)
}
*(*uintptr)(unsafe.Pointer(res)) = names
return Int32FromUint64(cnt)
@@ -25863,9 +25878,11 @@ func X__funcs_on_quick_exit(tls *TLS) {
}
}
-func Xat_quick_exit(tls *TLS, func1 uintptr) (r1 int32) {
+type t__ccgo_fp__Xat_quick_exit_0 = func(*TLS)
+
+func Xat_quick_exit(tls *TLS, __ccgo_fp_func uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v func1=%v, (%v:)", tls, func1, origin(2))
+ trc("tls=%v __ccgo_fp_func=%v, (%v:)", tls, __ccgo_fp_func, origin(2))
defer func() { trc("-> %v", r1) }()
}
var r, v1 int32
@@ -25877,7 +25894,7 @@ func Xat_quick_exit(tls *TLS, func1 uintptr) (r1 int32) {
} else {
v1 = _count
_count++
- _funcs[v1] = func1
+ _funcs[v1] = __ccgo_fp_func
}
___unlock(tls, uintptr(unsafe.Pointer(&_lock)))
return r
@@ -28398,15 +28415,17 @@ type TFTW = struct {
Flevel int32
}
-func Xftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32) (r int32) {
+type t__ccgo_fp__Xftw_1 = func(*TLS, uintptr, uintptr, int32) int32
+
+func Xftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32) (r int32) {
if __ccgo_strace {
- trc("tls=%v path=%v fn=%v fd_limit=%v, (%v:)", tls, path, fn, fd_limit, origin(2))
+ trc("tls=%v path=%v __ccgo_fp_fn=%v fd_limit=%v, (%v:)", tls, path, __ccgo_fp_fn, fd_limit, origin(2))
defer func() { trc("-> %v", r) }()
}
/* The following cast assumes that calling a function with one
* argument more than it needs behaves as expected. This is
* actually undefined, but works on all real-world machines. */
- return Xnftw(tls, path, fn, fd_limit, int32(FTW_PHYS))
+ return Xnftw(tls, path, __ccgo_fp_fn, fd_limit, int32(FTW_PHYS))
}
const STATX_ALL = 4095
@@ -31343,14 +31362,6 @@ func Xfremovexattr(tls *TLS, fd int32, name uintptr) (r int32) {
return int32(X__syscall_ret(tls, Uint64FromInt64(X__syscall2(tls, int64(SYS_fremovexattr), int64(fd), int64(name)))))
}
-type Tucontext_t2 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_sigmask Tsigset_t
- Fuc_mcontext Tmcontext_t
-}
-
func _dummy4(tls *TLS, msg uintptr, lm uintptr) (r uintptr) {
return msg
}
@@ -114310,15 +114321,7 @@ func Xgethostid(tls *TLS) (r int64) {
const optpos = 0
-type Tucontext_t3 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_sigmask Tsigset_t
- Fuc_mcontext Tmcontext_t1
-}
-
-type t__ucontext1 = Tucontext_t3
+type t__ucontext1 = Tucontext_t1
func X__getopt_msg(tls *TLS, a uintptr, b uintptr, c uintptr, l Tsize_t) {
if __ccgo_strace {
@@ -115466,7 +115469,7 @@ type Thistory = struct {
Fbase int32
}
-func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h uintptr) (r1 int32) {
+func _do_nftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32, flags int32, h uintptr) (r1 int32) {
bp := tls.Alloc(192)
defer tls.Free(192)
var d, de, v10 uintptr
@@ -115572,7 +115575,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
}
if v8 = !(flags&Int32FromInt32(FTW_DEPTH) != 0); v8 {
- v7 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{fn})))(tls, path, bp, type1, bp+176)
+ v7 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_fn})))(tls, path, bp, type1, bp+176)
r = v7
}
if v8 && v7 != 0 {
@@ -115613,7 +115616,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
*(*uint8)(unsafe.Pointer(path + uintptr(j))) = uint8('/')
Xstrcpy(tls, path+uintptr(j)+uintptr(1), de+19)
- v11 = _do_nftw(tls, path, fn, fd_limit-int32(1), flags, bp+144)
+ v11 = _do_nftw(tls, path, __ccgo_fp_fn, fd_limit-int32(1), flags, bp+144)
r = v11
if v11 != 0 {
Xclosedir(tls, d)
@@ -115628,7 +115631,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
*(*uint8)(unsafe.Pointer(path + uintptr(l))) = uint8(0)
if v13 = flags&int32(FTW_DEPTH) != 0; v13 {
- v12 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{fn})))(tls, path, bp, type1, bp+176)
+ v12 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_fn})))(tls, path, bp, type1, bp+176)
r = v12
}
if v13 && v12 != 0 {
@@ -115637,9 +115640,11 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
return 0
}
-func Xnftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32) (r1 int32) {
+type t__ccgo_fp__Xnftw_1 = func(*TLS, uintptr, uintptr, int32, uintptr) int32
+
+func Xnftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32, flags int32) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v path=%v fn=%v fd_limit=%v flags=%v, (%v:)", tls, path, fn, fd_limit, flags, origin(2))
+ trc("tls=%v path=%v __ccgo_fp_fn=%v fd_limit=%v flags=%v, (%v:)", tls, path, __ccgo_fp_fn, fd_limit, flags, origin(2))
defer func() { trc("-> %v", r1) }()
}
bp := tls.Alloc(4112)
@@ -115659,7 +115664,7 @@ func Xnftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32) (r1
}
Xmemcpy(tls, bp+4, path, l+uint64(1))
_pthread_setcancelstate(tls, int32(PTHREAD_CANCEL_DISABLE), bp)
- r = _do_nftw(tls, bp+4, fn, fd_limit, flags, UintptrFromInt32(0))
+ r = _do_nftw(tls, bp+4, __ccgo_fp_fn, fd_limit, flags, UintptrFromInt32(0))
_pthread_setcancelstate(tls, *(*int32)(unsafe.Pointer(bp)), uintptr(0))
return r
}
@@ -116439,8 +116444,6 @@ type Tsockaddr_storage = struct {
F__ss_align uint64
}
-type t__ucontext2 = Tucontext_t2
-
var _lock2 [1]int32
var _log_ident [32]uint8
var _log_opt int32
@@ -116878,14 +116881,6 @@ const SA = 194
const SB = 244
const bittab = 0
-type Tucontext_t4 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_sigmask Tsigset_t
- Fuc_mcontext Tmcontext_t
-}
-
func Xbtowc(tls *TLS, c int32) (r Twint_t) {
if __ccgo_strace {
trc("tls=%v c=%v, (%v:)", tls, c, origin(2))
@@ -118701,13 +118696,6 @@ const _ns_uop_delete = 0
const _ns_uop_add = 1
const _ns_uop_max = 2
-type Tns_tsig_key1 = struct {
- Fname [1025]uint8
- Falg [1025]uint8
- Fdata uintptr
- Flen1 int32
-}
-
type Tns_tsig_key = struct {
Fname [1025]uint8
Falg [1025]uint8
@@ -118715,14 +118703,6 @@ type Tns_tsig_key = struct {
Flen1 int32
}
-type Tns_tcp_tsig_state1 = struct {
- Fcounter int32
- Fkey uintptr
- Fctx uintptr
- Fsig [512]uint8
- Fsiglen int32
-}
-
type Tns_tcp_tsig_state = struct {
Fcounter int32
Fkey uintptr
@@ -119372,9 +119352,11 @@ type Tresolvconf = struct {
Ftimeout uint32
}
-func X__dns_parse(tls *TLS, r uintptr, rlen int32, callback uintptr, ctx uintptr) (r1 int32) {
+type t__ccgo_fp__X__dns_parse_2 = func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32
+
+func X__dns_parse(tls *TLS, r uintptr, rlen int32, __ccgo_fp_callback uintptr, ctx uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v r=%v rlen=%v callback=%v ctx=%v, (%v:)", tls, r, rlen, callback, ctx, origin(2))
+ trc("tls=%v r=%v rlen=%v __ccgo_fp_callback=%v ctx=%v, (%v:)", tls, r, rlen, __ccgo_fp_callback, ctx, origin(2))
defer func() { trc("-> %v", r1) }()
}
var ancount, len1, qdcount, v1, v2 int32
@@ -119420,7 +119402,7 @@ func X__dns_parse(tls *TLS, r uintptr, rlen int32, callback uintptr, ctx uintptr
if int64(len1+int32(10)) > int64(r+uintptr(rlen))-int64(p) {
return -int32(1)
}
- if (*(*func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{callback})))(tls, ctx, Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 1))), p+uintptr(10), len1, r, rlen) < 0 {
+ if (*(*func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_callback})))(tls, ctx, Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 1))), p+uintptr(10), len1, r, rlen) < 0 {
return -int32(1)
}
p += uintptr(int32(10) + len1)
@@ -121638,18 +121620,6 @@ func Xherror(tls *TLS, msg uintptr) {
Xfprintf(tls, uintptr(unsafe.Pointer(&X__stderr_FILE)), __ccgo_ts+1114, VaList(bp+8, v1, v2, Xhstrerror(tls, *(*int32)(unsafe.Pointer(X__h_errno_location(tls))))))
}
-type Tcpu_set_t1 = struct {
- F__bits [16]uint64
-}
-
-type Tucontext_t5 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_sigmask Tsigset_t
- Fuc_mcontext Tmcontext_t1
-}
-
var _msgs1 = [84]uint8{'H', 'o', 's', 't', ' ', 'n', 'o', 't', ' ', 'f', 'o', 'u', 'n', 'd', 0, 'T', 'r', 'y', ' ', 'a', 'g', 'a', 'i', 'n', 0, 'N', 'o', 'n', '-', 'r', 'e', 'c', 'o', 'v', 'e', 'r', 'a', 'b', 'l', 'e', ' ', 'e', 'r', 'r', 'o', 'r', 0, 'A', 'd', 'd', 'r', 'e', 's', 's', ' ', 'n', 'o', 't', ' ', 'a', 'v', 'a', 'i', 'l', 'a', 'b', 'l', 'e', 0, 0, 'U', 'n', 'k', 'n', 'o', 'w', 'n', ' ', 'e', 'r', 'r', 'o', 'r'}
func Xhstrerror(tls *TLS, ecode int32) (r uintptr) {
@@ -123461,7 +123431,7 @@ func X__lookup_serv(tls *TLS, buf uintptr, name uintptr, proto int32, socktype i
return v22
}
-func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32, cb uintptr, ctx uintptr) (r1 int32) {
+func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32, __ccgo_fp_cb uintptr, ctx uintptr) (r1 int32) {
bp := tls.Alloc(8192)
defer tls.Free(8192)
var h uintptr
@@ -123551,7 +123521,7 @@ func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32,
if Int32FromUint16((*Tnlmsghdr)(unsafe.Pointer(h)).Fnlmsg_type) == int32(NLMSG_ERROR) {
return -int32(1)
}
- ret = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cb})))(tls, ctx, h)
+ ret = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cb})))(tls, ctx, h)
if ret != 0 {
return ret
}
@@ -123564,9 +123534,11 @@ func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32,
return r1
}
-func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, cb uintptr, ctx uintptr) (r1 int32) {
+type t__ccgo_fp__X__rtnetlink_enumerate_2 = func(*TLS, uintptr, uintptr) int32
+
+func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, __ccgo_fp_cb uintptr, ctx uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v link_af=%v addr_af=%v cb=%v ctx=%v, (%v:)", tls, link_af, addr_af, cb, ctx, origin(2))
+ trc("tls=%v link_af=%v addr_af=%v __ccgo_fp_cb=%v ctx=%v, (%v:)", tls, link_af, addr_af, __ccgo_fp_cb, ctx, origin(2))
defer func() { trc("-> %v", r1) }()
}
var fd, r int32
@@ -123575,9 +123547,9 @@ func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, cb uintptr,
if fd < 0 {
return -int32(1)
}
- r = ___netlink_enumerate(tls, fd, uint32(1), int32(RTM_GETLINK), link_af, cb, ctx)
+ r = ___netlink_enumerate(tls, fd, uint32(1), int32(RTM_GETLINK), link_af, __ccgo_fp_cb, ctx)
if !(r != 0) {
- r = ___netlink_enumerate(tls, fd, uint32(2), int32(RTM_GETADDR), addr_af, cb, ctx)
+ r = ___netlink_enumerate(tls, fd, uint32(2), int32(RTM_GETADDR), addr_af, __ccgo_fp_cb, ctx)
}
X__syscall1(tls, int64(SYS_close), int64(fd))
return r
@@ -128958,7 +128930,7 @@ func _append(tls *TLS, tail uintptr, name uintptr, len1 Tsize_t, mark int32) (r
return 0
}
-func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flags int32, errfunc uintptr, tail uintptr) (r1 int32) {
+func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flags int32, __ccgo_fp_errfunc uintptr, tail uintptr) (r1 int32) {
bp := tls.Alloc(144)
defer tls.Free(144)
var de, dir, p, p2, v11, v2, v7, v8 uintptr
@@ -129067,7 +129039,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
}
}
if !(type1 != 0) && Xlstat(tls, buf, bp) != 0 {
- if *(*int32)(unsafe.Pointer(X__errno_location(tls))) != int32(ENOENT) && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
+ if *(*int32)(unsafe.Pointer(X__errno_location(tls))) != int32(ENOENT) && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
return int32(GLOB_ABORTED)
}
return 0
@@ -129104,7 +129076,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
}
dir = Xopendir(tls, v7)
if !(dir != 0) {
- if (*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0 {
+ if (*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0 {
return int32(GLOB_ABORTED)
}
return 0
@@ -129156,7 +129128,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
} else {
v11 = __ccgo_ts
}
- r = _do_glob(tls, buf, pos+l, Int32FromUint8((*Tdirent)(unsafe.Pointer(de)).Fd_type), v11, flags, errfunc, tail)
+ r = _do_glob(tls, buf, pos+l, Int32FromUint8((*Tdirent)(unsafe.Pointer(de)).Fd_type), v11, flags, __ccgo_fp_errfunc, tail)
if r != 0 {
Xclosedir(tls, dir)
return r
@@ -129167,7 +129139,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
*(*uint8)(unsafe.Pointer(p2)) = saved_sep
}
Xclosedir(tls, dir)
- if readerr != 0 && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
+ if readerr != 0 && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
return int32(GLOB_ABORTED)
}
*(*int32)(unsafe.Pointer(X__errno_location(tls))) = old_errno
@@ -129279,9 +129251,11 @@ func _expand_tilde(tls *TLS, pat uintptr, buf uintptr, pos uintptr) (r int32) {
return 0
}
-func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r int32) {
+type t__ccgo_fp__Xglob_2 = func(*TLS, uintptr, int32) int32
+
+func Xglob(tls *TLS, pat uintptr, flags int32, __ccgo_fp_errfunc uintptr, g uintptr) (r int32) {
if __ccgo_strace {
- trc("tls=%v pat=%v flags=%v errfunc=%v g=%v, (%v:)", tls, pat, flags, errfunc, g, origin(2))
+ trc("tls=%v pat=%v flags=%v __ccgo_fp_errfunc=%v g=%v, (%v:)", tls, pat, flags, __ccgo_fp_errfunc, g, origin(2))
defer func() { trc("-> %v", r) }()
}
bp := tls.Alloc(4128)
@@ -129307,8 +129281,8 @@ func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r in
}
offs = v1
error1 = 0
- if !(errfunc != 0) {
- errfunc = __ccgo_fp(_ignore_err)
+ if !(__ccgo_fp_errfunc != 0) {
+ __ccgo_fp_errfunc = __ccgo_fp(_ignore_err)
}
if !(flags&Int32FromInt32(GLOB_APPEND) != 0) {
(*Tglob_t)(unsafe.Pointer(g)).Fgl_offs = offs
@@ -129327,7 +129301,7 @@ func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r in
error1 = _expand_tilde(tls, bp+4120, bp+16, bp+4112)
}
if !(error1 != 0) {
- error1 = _do_glob(tls, bp+16, *(*Tsize_t)(unsafe.Pointer(bp + 4112)), 0, *(*uintptr)(unsafe.Pointer(bp + 4120)), flags, errfunc, bp+8)
+ error1 = _do_glob(tls, bp+16, *(*Tsize_t)(unsafe.Pointer(bp + 4112)), 0, *(*uintptr)(unsafe.Pointer(bp + 4120)), flags, __ccgo_fp_errfunc, bp+8)
}
Xfree(tls, p)
}
@@ -134551,9 +134525,11 @@ func Xremque(tls *TLS, element uintptr) {
}
}
-func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr) {
+type t__ccgo_fp__Xlsearch_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nelp=%v width=%v compar=%v, (%v:)", tls, key, base, nelp, width, compar, origin(2))
+ trc("tls=%v key=%v base=%v nelp=%v width=%v __ccgo_fp_compar=%v, (%v:)", tls, key, base, nelp, width, __ccgo_fp_compar, origin(2))
defer func() { trc("-> %v", r) }()
}
var i, n Tsize_t
@@ -134569,7 +134545,7 @@ func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t,
if !(i < n) {
break
}
- if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
+ if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
return p + uintptr(i)*uintptr(v1)
}
goto _2
@@ -134581,9 +134557,11 @@ func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t,
return Xmemcpy(tls, p+uintptr(n)*uintptr(v1), key, width)
}
-func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr) {
+type t__ccgo_fp__Xlfind_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nelp=%v width=%v compar=%v, (%v:)", tls, key, base, nelp, width, compar, origin(2))
+ trc("tls=%v key=%v base=%v nelp=%v width=%v __ccgo_fp_compar=%v, (%v:)", tls, key, base, nelp, width, __ccgo_fp_compar, origin(2))
defer func() { trc("-> %v", r) }()
}
var i, n Tsize_t
@@ -134599,7 +134577,7 @@ func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, co
if !(i < n) {
break
}
- if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
+ if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
return p + uintptr(i)*uintptr(v1)
}
goto _2
@@ -134618,9 +134596,11 @@ type Tnode1 = struct {
Fh int32
}
-func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xtdelete_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtdelete(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var a [97]uintptr
@@ -134644,7 +134624,7 @@ func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
if !(n != 0) {
return uintptr(0)
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
break
}
@@ -134689,9 +134669,11 @@ func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
return parent
}
-func Xtdestroy(tls *TLS, root uintptr, freekey uintptr) {
+type t__ccgo_fp__Xtdestroy_1 = func(*TLS, uintptr)
+
+func Xtdestroy(tls *TLS, root uintptr, __ccgo_fp_freekey uintptr) {
if __ccgo_strace {
- trc("tls=%v root=%v freekey=%v, (%v:)", tls, root, freekey, origin(2))
+ trc("tls=%v root=%v __ccgo_fp_freekey=%v, (%v:)", tls, root, __ccgo_fp_freekey, origin(2))
}
var r uintptr
_ = r
@@ -134699,17 +134681,19 @@ func Xtdestroy(tls *TLS, root uintptr, freekey uintptr) {
if r == uintptr(0) {
return
}
- Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8)), freekey)
- Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), freekey)
- if freekey != 0 {
- (*(*func(*TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{freekey})))(tls, (*Tnode1)(unsafe.Pointer(r)).Fkey)
+ Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8)), __ccgo_fp_freekey)
+ Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), __ccgo_fp_freekey)
+ if __ccgo_fp_freekey != 0 {
+ (*(*func(*TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_freekey})))(tls, (*Tnode1)(unsafe.Pointer(r)).Fkey)
}
Xfree(tls, r)
}
-func Xtfind(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xtfind_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtfind(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var c int32
@@ -134723,7 +134707,7 @@ func Xtfind(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
if !(n != 0) {
break
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
break
}
@@ -134811,9 +134795,11 @@ func X__tsearch_balance(tls *TLS, p uintptr) (r int32) {
return _rot(tls, p, n, BoolInt32(h0 < h1))
}
-func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
+type t__ccgo_fp__Xtsearch_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtsearch(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r1 uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r1) }()
}
var a [96]uintptr
@@ -134833,7 +134819,7 @@ func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
if !(n != 0) {
break
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
return n
}
@@ -134869,26 +134855,28 @@ func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
return r
}
-func _walk(tls *TLS, r uintptr, action uintptr, d int32) {
+func _walk(tls *TLS, r uintptr, __ccgo_fp_action uintptr, d int32) {
if !(r != 0) {
return
}
if (*Tnode1)(unsafe.Pointer(r)).Fh == int32(1) {
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_leaf), d)
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_leaf), d)
} else {
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_preorder), d)
- _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8)), action, d+int32(1))
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_postorder), d)
- _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), action, d+int32(1))
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_endorder), d)
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_preorder), d)
+ _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8)), __ccgo_fp_action, d+int32(1))
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_postorder), d)
+ _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), __ccgo_fp_action, d+int32(1))
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_endorder), d)
}
}
-func Xtwalk(tls *TLS, root uintptr, action uintptr) {
+type t__ccgo_fp__Xtwalk_1 = func(*TLS, uintptr, int32, int32)
+
+func Xtwalk(tls *TLS, root uintptr, __ccgo_fp_action uintptr) {
if __ccgo_strace {
- trc("tls=%v root=%v action=%v, (%v:)", tls, root, action, origin(2))
+ trc("tls=%v root=%v __ccgo_fp_action=%v, (%v:)", tls, root, __ccgo_fp_action, origin(2))
}
- _walk(tls, root, action, 0)
+ _walk(tls, root, __ccgo_fp_action, 0)
}
func Xpoll(tls *TLS, fds uintptr, n Tnfds_t, timeout int32) (r int32) {
@@ -134899,8 +134887,6 @@ func Xpoll(tls *TLS, fds uintptr, n Tnfds_t, timeout int32) (r int32) {
return int32(X__syscall_ret(tls, Uint64FromInt64(___syscall_cp(tls, int64(SYS_poll), int64(fds), Int64FromUint64(n), int64(timeout), 0, 0, 0))))
}
-type t__ucontext3 = Tucontext_t5
-
func Xppoll(tls *TLS, fds uintptr, n Tnfds_t, to uintptr, mask uintptr) (r int32) {
if __ccgo_strace {
trc("tls=%v fds=%v n=%v to=%v mask=%v, (%v:)", tls, fds, n, to, mask, origin(2))
@@ -134936,8 +134922,6 @@ func Xppoll(tls *TLS, fds uintptr, n Tnfds_t, to uintptr, mask uintptr) (r int32
return int32(X__syscall_ret(tls, Uint64FromInt64(___syscall_cp(tls, int64(SYS_ppoll), int64(fds), Int64FromUint64(n), int64(v3), int64(mask), int64(Int32FromInt32(_NSIG)/Int32FromInt32(8)), 0))))
}
-type t__ucontext4 = Tucontext_t4
-
func Xpselect(tls *TLS, n int32, rfds uintptr, wfds uintptr, efds uintptr, ts uintptr, mask uintptr) (r int32) {
if __ccgo_strace {
trc("tls=%v n=%v rfds=%v wfds=%v efds=%v ts=%v mask=%v, (%v:)", tls, n, rfds, wfds, efds, ts, mask, origin(2))
@@ -134978,14 +134962,6 @@ func Xpselect(tls *TLS, n int32, rfds uintptr, wfds uintptr, efds uintptr, ts ui
return int32(X__syscall_ret(tls, Uint64FromInt64(___syscall_cp(tls, int64(SYS_pselect6), int64(n), int64(rfds), int64(wfds), int64(efds), int64(v3), int64(bp+16)))))
}
-type Tucontext_t6 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_sigmask Tsigset_t
- Fuc_mcontext Tmcontext_t
-}
-
func Xselect(tls *TLS, n int32, rfds uintptr, wfds uintptr, efds uintptr, tv uintptr) (r int32) {
if __ccgo_strace {
trc("tls=%v n=%v rfds=%v wfds=%v efds=%v tv=%v, (%v:)", tls, n, rfds, wfds, efds, tv, origin(2))
@@ -135505,14 +135481,6 @@ func Xsigaltstack(tls *TLS, ss uintptr, old uintptr) (r int32) {
const SST_SIZE = 8
-type Tucontext_t7 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_sigmask Tsigset_t
- Fuc_mcontext Tmcontext_t1
-}
-
func Xsigandset(tls *TLS, dest uintptr, left uintptr, right uintptr) (r1 int32) {
if __ccgo_strace {
trc("tls=%v dest=%v left=%v right=%v, (%v:)", tls, dest, left, right, origin(2))
@@ -144886,9 +144854,11 @@ func Xatoll(tls *TLS, s uintptr) (r int64) {
return v5
}
-func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xbsearch_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nel=%v width=%v cmp=%v, (%v:)", tls, key, base, nel, width, cmp, origin(2))
+ trc("tls=%v key=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, base, nel, width, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var sign int32
@@ -144896,7 +144866,7 @@ func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, c
_, _ = sign, try
for nel > uint64(0) {
try = base + uintptr(width*(nel/uint64(2)))
- sign = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, try)
+ sign = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, try)
if sign < 0 {
nel /= uint64(2)
} else {
@@ -145166,7 +145136,7 @@ func _shr(tls *TLS, p uintptr, n int32) {
*(*Tsize_t)(unsafe.Pointer(p + 1*8)) >>= Uint64FromInt32(n)
}
-func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshift int32, lp uintptr) {
+func _sift(tls *TLS, head uintptr, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr, pshift int32, lp uintptr) {
bp := tls.Alloc(912)
defer tls.Free(912)
var i, v1, v2 int32
@@ -145178,10 +145148,10 @@ func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshi
for pshift > int32(1) {
rt = head - uintptr(width)
lf = head - uintptr(width) - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift-int32(2))*8)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], lf, arg) >= 0 && (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], rt, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], lf, arg) >= 0 && (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], rt, arg) >= 0 {
break
}
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, lf, rt, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, lf, rt, arg) >= 0 {
v1 = i
i++
(*(*[113]uintptr)(unsafe.Pointer(bp)))[v1] = lf
@@ -145198,7 +145168,7 @@ func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshi
_cycle(tls, width, bp, i)
}
-func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pp uintptr, pshift int32, trusty int32, lp uintptr) {
+func _trinkle(tls *TLS, head uintptr, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr, pp uintptr, pshift int32, trusty int32, lp uintptr) {
bp := tls.Alloc(928)
defer tls.Free(928)
var i, trail, v1 int32
@@ -145212,13 +145182,13 @@ func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, p
(*(*[113]uintptr)(unsafe.Pointer(bp + 16)))[0] = head
for (*(*[2]Tsize_t)(unsafe.Pointer(bp)))[0] != uint64(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp)))[int32(1)] != uint64(0) {
stepson = head - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift)*8)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, stepson, (*(*[113]uintptr)(unsafe.Pointer(bp + 16)))[0], arg) <= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, stepson, (*(*[113]uintptr)(unsafe.Pointer(bp + 16)))[0], arg) <= 0 {
break
}
if !(trusty != 0) && pshift > int32(1) {
rt = head - uintptr(width)
lf = head - uintptr(width) - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift-int32(2))*8)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, rt, stepson, arg) >= 0 || (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, lf, stepson, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, rt, stepson, arg) >= 0 || (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, lf, stepson, arg) >= 0 {
break
}
}
@@ -145233,13 +145203,15 @@ func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, p
}
if !(trusty != 0) {
_cycle(tls, width, bp+16, i)
- _sift(tls, head, width, cmp, arg, pshift, lp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, lp)
}
}
-func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun, arg uintptr) {
+type t__ccgo_fp__X__qsort_r_3 = func(*TLS, uintptr, uintptr, uintptr) int32
+
+func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v arg=%v, (%v:)", tls, base, nel, width, cmp, arg, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v arg=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, arg, origin(2))
}
bp := tls.Alloc(784)
defer tls.Free(784)
@@ -145277,14 +145249,14 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
}
for head < high {
if (*(*[2]Tsize_t)(unsafe.Pointer(bp + 768)))[0]&uint64(3) == uint64(3) {
- _sift(tls, head, width, cmp, arg, pshift, bp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, bp)
_shr(tls, bp+768, int32(2))
pshift += int32(2)
} else {
if (*(*[96]Tsize_t)(unsafe.Pointer(bp)))[pshift-int32(1)] >= Uint64FromInt64(int64(high)-int64(head)) {
- _trinkle(tls, head, width, cmp, arg, bp+768, pshift, 0, bp)
+ _trinkle(tls, head, width, __ccgo_fp_cmp, arg, bp+768, pshift, 0, bp)
} else {
- _sift(tls, head, width, cmp, arg, pshift, bp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, bp)
}
if pshift == int32(1) {
_shl(tls, bp+768, int32(1))
@@ -145297,7 +145269,7 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
*(*Tsize_t)(unsafe.Pointer(bp + 768)) |= uint64(1)
head += uintptr(width)
}
- _trinkle(tls, head, width, cmp, arg, bp+768, pshift, 0, bp)
+ _trinkle(tls, head, width, __ccgo_fp_cmp, arg, bp+768, pshift, 0, bp)
for pshift != int32(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp + 768)))[0] != uint64(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp + 768)))[int32(1)] != uint64(0) {
if pshift <= int32(1) {
trail = _pntz(tls, bp+768)
@@ -145308,31 +145280,35 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
pshift -= int32(2)
*(*Tsize_t)(unsafe.Pointer(bp + 768)) ^= uint64(7)
_shr(tls, bp+768, int32(1))
- _trinkle(tls, head-uintptr((*(*[96]Tsize_t)(unsafe.Pointer(bp)))[pshift])-uintptr(width), width, cmp, arg, bp+768, pshift+int32(1), int32(1), bp)
+ _trinkle(tls, head-uintptr((*(*[96]Tsize_t)(unsafe.Pointer(bp)))[pshift])-uintptr(width), width, __ccgo_fp_cmp, arg, bp+768, pshift+int32(1), int32(1), bp)
_shl(tls, bp+768, int32(1))
*(*Tsize_t)(unsafe.Pointer(bp + 768)) |= uint64(1)
- _trinkle(tls, head-uintptr(width), width, cmp, arg, bp+768, pshift, int32(1), bp)
+ _trinkle(tls, head-uintptr(width), width, __ccgo_fp_cmp, arg, bp+768, pshift, int32(1), bp)
}
head -= uintptr(width)
}
}
-func Xqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun, arg uintptr) {
+type t__ccgo_fp__Xqsort_r_3 = func(*TLS, uintptr, uintptr, uintptr) int32
+
+func Xqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v arg=%v, (%v:)", tls, base, nel, width, cmp, arg, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v arg=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, arg, origin(2))
}
- X__qsort_r(tls, base, nel, width, cmp, arg)
+ X__qsort_r(tls, base, nel, width, __ccgo_fp_cmp, arg)
}
func _wrapper_cmp(tls *TLS, v1 uintptr, v2 uintptr, cmp uintptr) (r int32) {
return (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, v1, v2)
}
-func Xqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun) {
+type t__ccgo_fp__Xqsort_3 = func(*TLS, uintptr, uintptr) int32
+
+func Xqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v, (%v:)", tls, base, nel, width, cmp, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, origin(2))
}
- X__qsort_r(tls, base, nel, width, __ccgo_fp(_wrapper_cmp), cmp)
+ X__qsort_r(tls, base, nel, width, __ccgo_fp(_wrapper_cmp), __ccgo_fp_cmp)
}
func _strtox(tls *TLS, s uintptr, p uintptr, prec int32) (r float64) {
diff --git a/vendor/modernc.org/libc/ccgo_linux_riscv64.go b/vendor/modernc.org/libc/ccgo_linux_riscv64.go
index 7a0edb178e5fb..5d28c7f72dd6c 100644
--- a/vendor/modernc.org/libc/ccgo_linux_riscv64.go
+++ b/vendor/modernc.org/libc/ccgo_linux_riscv64.go
@@ -24811,9 +24811,13 @@ func Xrewinddir(tls *TLS, dir uintptr) {
___unlock(tls, dir+20)
}
-func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r int32) {
+type t__ccgo_fp__Xscandir_2 = func(*TLS, uintptr) int32
+
+type t__ccgo_fp__Xscandir_3 = func(*TLS, uintptr, uintptr) int32
+
+func Xscandir(tls *TLS, path uintptr, res uintptr, __ccgo_fp_sel uintptr, __ccgo_fp_cmp uintptr) (r int32) {
if __ccgo_strace {
- trc("tls=%v path=%v res=%v sel=%v cmp=%v, (%v:)", tls, path, res, sel, cmp, origin(2))
+ trc("tls=%v path=%v res=%v __ccgo_fp_sel=%v __ccgo_fp_cmp=%v, (%v:)", tls, path, res, __ccgo_fp_sel, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var cnt, len1, v2, v3 Tsize_t
@@ -24835,7 +24839,7 @@ func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r
if !(v1 != 0) {
break
}
- if sel != 0 && !((*(*func(*TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{sel})))(tls, de) != 0) {
+ if __ccgo_fp_sel != 0 && !((*(*func(*TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_sel})))(tls, de) != 0) {
continue
}
if cnt >= len1 {
@@ -24873,8 +24877,8 @@ func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r
return -int32(1)
}
*(*int32)(unsafe.Pointer(X__errno_location(tls))) = old_errno
- if cmp != 0 {
- Xqsort(tls, names, cnt, uint64(8), cmp)
+ if __ccgo_fp_cmp != 0 {
+ Xqsort(tls, names, cnt, uint64(8), __ccgo_fp_cmp)
}
*(*uintptr)(unsafe.Pointer(res)) = names
return Int32FromUint64(cnt)
@@ -25620,9 +25624,11 @@ func X__funcs_on_quick_exit(tls *TLS) {
}
}
-func Xat_quick_exit(tls *TLS, func1 uintptr) (r1 int32) {
+type t__ccgo_fp__Xat_quick_exit_0 = func(*TLS)
+
+func Xat_quick_exit(tls *TLS, __ccgo_fp_func uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v func1=%v, (%v:)", tls, func1, origin(2))
+ trc("tls=%v __ccgo_fp_func=%v, (%v:)", tls, __ccgo_fp_func, origin(2))
defer func() { trc("-> %v", r1) }()
}
var r, v1 int32
@@ -25634,7 +25640,7 @@ func Xat_quick_exit(tls *TLS, func1 uintptr) (r1 int32) {
} else {
v1 = _count
_count++
- _funcs[v1] = func1
+ _funcs[v1] = __ccgo_fp_func
}
___unlock(tls, uintptr(unsafe.Pointer(&_lock)))
return r
@@ -28198,15 +28204,17 @@ type TFTW = struct {
Flevel int32
}
-func Xftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32) (r int32) {
+type t__ccgo_fp__Xftw_1 = func(*TLS, uintptr, uintptr, int32) int32
+
+func Xftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32) (r int32) {
if __ccgo_strace {
- trc("tls=%v path=%v fn=%v fd_limit=%v, (%v:)", tls, path, fn, fd_limit, origin(2))
+ trc("tls=%v path=%v __ccgo_fp_fn=%v fd_limit=%v, (%v:)", tls, path, __ccgo_fp_fn, fd_limit, origin(2))
defer func() { trc("-> %v", r) }()
}
/* The following cast assumes that calling a function with one
* argument more than it needs behaves as expected. This is
* actually undefined, but works on all real-world machines. */
- return Xnftw(tls, path, fn, fd_limit, int32(FTW_PHYS))
+ return Xnftw(tls, path, __ccgo_fp_fn, fd_limit, int32(FTW_PHYS))
}
const STATX_ALL = 4095
@@ -115234,7 +115242,7 @@ type Thistory = struct {
Fbase int32
}
-func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h uintptr) (r1 int32) {
+func _do_nftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32, flags int32, h uintptr) (r1 int32) {
bp := tls.Alloc(176)
defer tls.Free(176)
var d, de, v10 uintptr
@@ -115340,7 +115348,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
}
if v8 = !(flags&Int32FromInt32(FTW_DEPTH) != 0); v8 {
- v7 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{fn})))(tls, path, bp, type1, bp+160)
+ v7 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_fn})))(tls, path, bp, type1, bp+160)
r = v7
}
if v8 && v7 != 0 {
@@ -115381,7 +115389,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
*(*uint8)(unsafe.Pointer(path + uintptr(j))) = uint8('/')
Xstrcpy(tls, path+uintptr(j)+uintptr(1), de+19)
- v11 = _do_nftw(tls, path, fn, fd_limit-int32(1), flags, bp+128)
+ v11 = _do_nftw(tls, path, __ccgo_fp_fn, fd_limit-int32(1), flags, bp+128)
r = v11
if v11 != 0 {
Xclosedir(tls, d)
@@ -115396,7 +115404,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
*(*uint8)(unsafe.Pointer(path + uintptr(l))) = uint8(0)
if v13 = flags&int32(FTW_DEPTH) != 0; v13 {
- v12 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{fn})))(tls, path, bp, type1, bp+160)
+ v12 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_fn})))(tls, path, bp, type1, bp+160)
r = v12
}
if v13 && v12 != 0 {
@@ -115405,9 +115413,11 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
return 0
}
-func Xnftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32) (r1 int32) {
+type t__ccgo_fp__Xnftw_1 = func(*TLS, uintptr, uintptr, int32, uintptr) int32
+
+func Xnftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32, flags int32) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v path=%v fn=%v fd_limit=%v flags=%v, (%v:)", tls, path, fn, fd_limit, flags, origin(2))
+ trc("tls=%v path=%v __ccgo_fp_fn=%v fd_limit=%v flags=%v, (%v:)", tls, path, __ccgo_fp_fn, fd_limit, flags, origin(2))
defer func() { trc("-> %v", r1) }()
}
bp := tls.Alloc(4112)
@@ -115427,7 +115437,7 @@ func Xnftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32) (r1
}
Xmemcpy(tls, bp+4, path, l+uint64(1))
_pthread_setcancelstate(tls, int32(PTHREAD_CANCEL_DISABLE), bp)
- r = _do_nftw(tls, bp+4, fn, fd_limit, flags, UintptrFromInt32(0))
+ r = _do_nftw(tls, bp+4, __ccgo_fp_fn, fd_limit, flags, UintptrFromInt32(0))
_pthread_setcancelstate(tls, *(*int32)(unsafe.Pointer(bp)), uintptr(0))
return r
}
@@ -118363,13 +118373,6 @@ const _ns_uop_delete = 0
const _ns_uop_add = 1
const _ns_uop_max = 2
-type Tns_tsig_key1 = struct {
- Fname [1025]uint8
- Falg [1025]uint8
- Fdata uintptr
- Flen1 int32
-}
-
type Tns_tsig_key = struct {
Fname [1025]uint8
Falg [1025]uint8
@@ -118377,14 +118380,6 @@ type Tns_tsig_key = struct {
Flen1 int32
}
-type Tns_tcp_tsig_state1 = struct {
- Fcounter int32
- Fkey uintptr
- Fctx uintptr
- Fsig [512]uint8
- Fsiglen int32
-}
-
type Tns_tcp_tsig_state = struct {
Fcounter int32
Fkey uintptr
@@ -119034,9 +119029,11 @@ type Tresolvconf = struct {
Ftimeout uint32
}
-func X__dns_parse(tls *TLS, r uintptr, rlen int32, callback uintptr, ctx uintptr) (r1 int32) {
+type t__ccgo_fp__X__dns_parse_2 = func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32
+
+func X__dns_parse(tls *TLS, r uintptr, rlen int32, __ccgo_fp_callback uintptr, ctx uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v r=%v rlen=%v callback=%v ctx=%v, (%v:)", tls, r, rlen, callback, ctx, origin(2))
+ trc("tls=%v r=%v rlen=%v __ccgo_fp_callback=%v ctx=%v, (%v:)", tls, r, rlen, __ccgo_fp_callback, ctx, origin(2))
defer func() { trc("-> %v", r1) }()
}
var ancount, len1, qdcount, v1, v2 int32
@@ -119082,7 +119079,7 @@ func X__dns_parse(tls *TLS, r uintptr, rlen int32, callback uintptr, ctx uintptr
if int64(len1+int32(10)) > int64(r+uintptr(rlen))-int64(p) {
return -int32(1)
}
- if (*(*func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{callback})))(tls, ctx, Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 1))), p+uintptr(10), len1, r, rlen) < 0 {
+ if (*(*func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_callback})))(tls, ctx, Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 1))), p+uintptr(10), len1, r, rlen) < 0 {
return -int32(1)
}
p += uintptr(int32(10) + len1)
@@ -121186,10 +121183,6 @@ func Xherror(tls *TLS, msg uintptr) {
Xfprintf(tls, uintptr(unsafe.Pointer(&X__stderr_FILE)), __ccgo_ts+1111, VaList(bp+8, v1, v2, Xhstrerror(tls, *(*int32)(unsafe.Pointer(X__h_errno_location(tls))))))
}
-type Tcpu_set_t1 = struct {
- F__bits [16]uint64
-}
-
var _msgs1 = [84]uint8{'H', 'o', 's', 't', ' ', 'n', 'o', 't', ' ', 'f', 'o', 'u', 'n', 'd', 0, 'T', 'r', 'y', ' ', 'a', 'g', 'a', 'i', 'n', 0, 'N', 'o', 'n', '-', 'r', 'e', 'c', 'o', 'v', 'e', 'r', 'a', 'b', 'l', 'e', ' ', 'e', 'r', 'r', 'o', 'r', 0, 'A', 'd', 'd', 'r', 'e', 's', 's', ' ', 'n', 'o', 't', ' ', 'a', 'v', 'a', 'i', 'l', 'a', 'b', 'l', 'e', 0, 0, 'U', 'n', 'k', 'n', 'o', 'w', 'n', ' ', 'e', 'r', 'r', 'o', 'r'}
func Xhstrerror(tls *TLS, ecode int32) (r uintptr) {
@@ -122977,7 +122970,7 @@ func X__lookup_serv(tls *TLS, buf uintptr, name uintptr, proto int32, socktype i
return v22
}
-func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32, cb uintptr, ctx uintptr) (r1 int32) {
+func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32, __ccgo_fp_cb uintptr, ctx uintptr) (r1 int32) {
bp := tls.Alloc(8192)
defer tls.Free(8192)
var h uintptr
@@ -123067,7 +123060,7 @@ func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32,
if Int32FromUint16((*Tnlmsghdr)(unsafe.Pointer(h)).Fnlmsg_type) == int32(NLMSG_ERROR) {
return -int32(1)
}
- ret = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cb})))(tls, ctx, h)
+ ret = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cb})))(tls, ctx, h)
if ret != 0 {
return ret
}
@@ -123080,9 +123073,11 @@ func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32,
return r1
}
-func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, cb uintptr, ctx uintptr) (r1 int32) {
+type t__ccgo_fp__X__rtnetlink_enumerate_2 = func(*TLS, uintptr, uintptr) int32
+
+func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, __ccgo_fp_cb uintptr, ctx uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v link_af=%v addr_af=%v cb=%v ctx=%v, (%v:)", tls, link_af, addr_af, cb, ctx, origin(2))
+ trc("tls=%v link_af=%v addr_af=%v __ccgo_fp_cb=%v ctx=%v, (%v:)", tls, link_af, addr_af, __ccgo_fp_cb, ctx, origin(2))
defer func() { trc("-> %v", r1) }()
}
var fd, r int32
@@ -123091,9 +123086,9 @@ func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, cb uintptr,
if fd < 0 {
return -int32(1)
}
- r = ___netlink_enumerate(tls, fd, uint32(1), int32(RTM_GETLINK), link_af, cb, ctx)
+ r = ___netlink_enumerate(tls, fd, uint32(1), int32(RTM_GETLINK), link_af, __ccgo_fp_cb, ctx)
if !(r != 0) {
- r = ___netlink_enumerate(tls, fd, uint32(2), int32(RTM_GETADDR), addr_af, cb, ctx)
+ r = ___netlink_enumerate(tls, fd, uint32(2), int32(RTM_GETADDR), addr_af, __ccgo_fp_cb, ctx)
}
X__syscall1(tls, int64(SYS_close), int64(fd))
return r
@@ -128200,7 +128195,7 @@ func _append(tls *TLS, tail uintptr, name uintptr, len1 Tsize_t, mark int32) (r
return 0
}
-func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flags int32, errfunc uintptr, tail uintptr) (r1 int32) {
+func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flags int32, __ccgo_fp_errfunc uintptr, tail uintptr) (r1 int32) {
bp := tls.Alloc(128)
defer tls.Free(128)
var de, dir, p, p2, v11, v2, v7, v8 uintptr
@@ -128309,7 +128304,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
}
}
if !(type1 != 0) && Xlstat(tls, buf, bp) != 0 {
- if *(*int32)(unsafe.Pointer(X__errno_location(tls))) != int32(ENOENT) && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
+ if *(*int32)(unsafe.Pointer(X__errno_location(tls))) != int32(ENOENT) && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
return int32(GLOB_ABORTED)
}
return 0
@@ -128346,7 +128341,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
}
dir = Xopendir(tls, v7)
if !(dir != 0) {
- if (*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0 {
+ if (*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0 {
return int32(GLOB_ABORTED)
}
return 0
@@ -128398,7 +128393,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
} else {
v11 = __ccgo_ts
}
- r = _do_glob(tls, buf, pos+l, Int32FromUint8((*Tdirent)(unsafe.Pointer(de)).Fd_type), v11, flags, errfunc, tail)
+ r = _do_glob(tls, buf, pos+l, Int32FromUint8((*Tdirent)(unsafe.Pointer(de)).Fd_type), v11, flags, __ccgo_fp_errfunc, tail)
if r != 0 {
Xclosedir(tls, dir)
return r
@@ -128409,7 +128404,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
*(*uint8)(unsafe.Pointer(p2)) = saved_sep
}
Xclosedir(tls, dir)
- if readerr != 0 && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
+ if readerr != 0 && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
return int32(GLOB_ABORTED)
}
*(*int32)(unsafe.Pointer(X__errno_location(tls))) = old_errno
@@ -128521,9 +128516,11 @@ func _expand_tilde(tls *TLS, pat uintptr, buf uintptr, pos uintptr) (r int32) {
return 0
}
-func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r int32) {
+type t__ccgo_fp__Xglob_2 = func(*TLS, uintptr, int32) int32
+
+func Xglob(tls *TLS, pat uintptr, flags int32, __ccgo_fp_errfunc uintptr, g uintptr) (r int32) {
if __ccgo_strace {
- trc("tls=%v pat=%v flags=%v errfunc=%v g=%v, (%v:)", tls, pat, flags, errfunc, g, origin(2))
+ trc("tls=%v pat=%v flags=%v __ccgo_fp_errfunc=%v g=%v, (%v:)", tls, pat, flags, __ccgo_fp_errfunc, g, origin(2))
defer func() { trc("-> %v", r) }()
}
bp := tls.Alloc(4128)
@@ -128549,8 +128546,8 @@ func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r in
}
offs = v1
error1 = 0
- if !(errfunc != 0) {
- errfunc = __ccgo_fp(_ignore_err)
+ if !(__ccgo_fp_errfunc != 0) {
+ __ccgo_fp_errfunc = __ccgo_fp(_ignore_err)
}
if !(flags&Int32FromInt32(GLOB_APPEND) != 0) {
(*Tglob_t)(unsafe.Pointer(g)).Fgl_offs = offs
@@ -128569,7 +128566,7 @@ func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r in
error1 = _expand_tilde(tls, bp+4120, bp+16, bp+4112)
}
if !(error1 != 0) {
- error1 = _do_glob(tls, bp+16, *(*Tsize_t)(unsafe.Pointer(bp + 4112)), 0, *(*uintptr)(unsafe.Pointer(bp + 4120)), flags, errfunc, bp+8)
+ error1 = _do_glob(tls, bp+16, *(*Tsize_t)(unsafe.Pointer(bp + 4112)), 0, *(*uintptr)(unsafe.Pointer(bp + 4120)), flags, __ccgo_fp_errfunc, bp+8)
}
Xfree(tls, p)
}
@@ -133793,9 +133790,11 @@ func Xremque(tls *TLS, element uintptr) {
}
}
-func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr) {
+type t__ccgo_fp__Xlsearch_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nelp=%v width=%v compar=%v, (%v:)", tls, key, base, nelp, width, compar, origin(2))
+ trc("tls=%v key=%v base=%v nelp=%v width=%v __ccgo_fp_compar=%v, (%v:)", tls, key, base, nelp, width, __ccgo_fp_compar, origin(2))
defer func() { trc("-> %v", r) }()
}
var i, n Tsize_t
@@ -133811,7 +133810,7 @@ func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t,
if !(i < n) {
break
}
- if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
+ if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
return p + uintptr(i)*uintptr(v1)
}
goto _2
@@ -133823,9 +133822,11 @@ func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t,
return Xmemcpy(tls, p+uintptr(n)*uintptr(v1), key, width)
}
-func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr) {
+type t__ccgo_fp__Xlfind_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nelp=%v width=%v compar=%v, (%v:)", tls, key, base, nelp, width, compar, origin(2))
+ trc("tls=%v key=%v base=%v nelp=%v width=%v __ccgo_fp_compar=%v, (%v:)", tls, key, base, nelp, width, __ccgo_fp_compar, origin(2))
defer func() { trc("-> %v", r) }()
}
var i, n Tsize_t
@@ -133841,7 +133842,7 @@ func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, co
if !(i < n) {
break
}
- if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
+ if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
return p + uintptr(i)*uintptr(v1)
}
goto _2
@@ -133860,9 +133861,11 @@ type Tnode1 = struct {
Fh int32
}
-func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xtdelete_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtdelete(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var a [97]uintptr
@@ -133886,7 +133889,7 @@ func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
if !(n != 0) {
return uintptr(0)
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
break
}
@@ -133931,9 +133934,11 @@ func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
return parent
}
-func Xtdestroy(tls *TLS, root uintptr, freekey uintptr) {
+type t__ccgo_fp__Xtdestroy_1 = func(*TLS, uintptr)
+
+func Xtdestroy(tls *TLS, root uintptr, __ccgo_fp_freekey uintptr) {
if __ccgo_strace {
- trc("tls=%v root=%v freekey=%v, (%v:)", tls, root, freekey, origin(2))
+ trc("tls=%v root=%v __ccgo_fp_freekey=%v, (%v:)", tls, root, __ccgo_fp_freekey, origin(2))
}
var r uintptr
_ = r
@@ -133941,17 +133946,19 @@ func Xtdestroy(tls *TLS, root uintptr, freekey uintptr) {
if r == uintptr(0) {
return
}
- Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8)), freekey)
- Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), freekey)
- if freekey != 0 {
- (*(*func(*TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{freekey})))(tls, (*Tnode1)(unsafe.Pointer(r)).Fkey)
+ Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8)), __ccgo_fp_freekey)
+ Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), __ccgo_fp_freekey)
+ if __ccgo_fp_freekey != 0 {
+ (*(*func(*TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_freekey})))(tls, (*Tnode1)(unsafe.Pointer(r)).Fkey)
}
Xfree(tls, r)
}
-func Xtfind(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xtfind_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtfind(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var c int32
@@ -133965,7 +133972,7 @@ func Xtfind(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
if !(n != 0) {
break
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
break
}
@@ -134053,9 +134060,11 @@ func X__tsearch_balance(tls *TLS, p uintptr) (r int32) {
return _rot(tls, p, n, BoolInt32(h0 < h1))
}
-func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
+type t__ccgo_fp__Xtsearch_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtsearch(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r1 uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r1) }()
}
var a [96]uintptr
@@ -134075,7 +134084,7 @@ func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
if !(n != 0) {
break
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
return n
}
@@ -134111,26 +134120,28 @@ func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
return r
}
-func _walk(tls *TLS, r uintptr, action uintptr, d int32) {
+func _walk(tls *TLS, r uintptr, __ccgo_fp_action uintptr, d int32) {
if !(r != 0) {
return
}
if (*Tnode1)(unsafe.Pointer(r)).Fh == int32(1) {
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_leaf), d)
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_leaf), d)
} else {
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_preorder), d)
- _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8)), action, d+int32(1))
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_postorder), d)
- _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), action, d+int32(1))
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_endorder), d)
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_preorder), d)
+ _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8)), __ccgo_fp_action, d+int32(1))
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_postorder), d)
+ _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), __ccgo_fp_action, d+int32(1))
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_endorder), d)
}
}
-func Xtwalk(tls *TLS, root uintptr, action uintptr) {
+type t__ccgo_fp__Xtwalk_1 = func(*TLS, uintptr, int32, int32)
+
+func Xtwalk(tls *TLS, root uintptr, __ccgo_fp_action uintptr) {
if __ccgo_strace {
- trc("tls=%v root=%v action=%v, (%v:)", tls, root, action, origin(2))
+ trc("tls=%v root=%v __ccgo_fp_action=%v, (%v:)", tls, root, __ccgo_fp_action, origin(2))
}
- _walk(tls, root, action, 0)
+ _walk(tls, root, __ccgo_fp_action, 0)
}
func Xpoll(tls *TLS, fds uintptr, n Tnfds_t, timeout int32) (r int32) {
@@ -143819,9 +143830,11 @@ func Xatoll(tls *TLS, s uintptr) (r int64) {
return v5
}
-func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xbsearch_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nel=%v width=%v cmp=%v, (%v:)", tls, key, base, nel, width, cmp, origin(2))
+ trc("tls=%v key=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, base, nel, width, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var sign int32
@@ -143829,7 +143842,7 @@ func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, c
_, _ = sign, try
for nel > uint64(0) {
try = base + uintptr(width*(nel/uint64(2)))
- sign = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, try)
+ sign = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, try)
if sign < 0 {
nel /= uint64(2)
} else {
@@ -144090,7 +144103,7 @@ func _shr(tls *TLS, p uintptr, n int32) {
*(*Tsize_t)(unsafe.Pointer(p + 1*8)) >>= Uint64FromInt32(n)
}
-func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshift int32, lp uintptr) {
+func _sift(tls *TLS, head uintptr, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr, pshift int32, lp uintptr) {
bp := tls.Alloc(912)
defer tls.Free(912)
var i, v1, v2 int32
@@ -144102,10 +144115,10 @@ func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshi
for pshift > int32(1) {
rt = head - uintptr(width)
lf = head - uintptr(width) - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift-int32(2))*8)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], lf, arg) >= 0 && (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], rt, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], lf, arg) >= 0 && (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], rt, arg) >= 0 {
break
}
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, lf, rt, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, lf, rt, arg) >= 0 {
v1 = i
i++
(*(*[113]uintptr)(unsafe.Pointer(bp)))[v1] = lf
@@ -144122,7 +144135,7 @@ func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshi
_cycle(tls, width, bp, i)
}
-func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pp uintptr, pshift int32, trusty int32, lp uintptr) {
+func _trinkle(tls *TLS, head uintptr, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr, pp uintptr, pshift int32, trusty int32, lp uintptr) {
bp := tls.Alloc(928)
defer tls.Free(928)
var i, trail, v1 int32
@@ -144136,13 +144149,13 @@ func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, p
(*(*[113]uintptr)(unsafe.Pointer(bp + 16)))[0] = head
for (*(*[2]Tsize_t)(unsafe.Pointer(bp)))[0] != uint64(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp)))[int32(1)] != uint64(0) {
stepson = head - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift)*8)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, stepson, (*(*[113]uintptr)(unsafe.Pointer(bp + 16)))[0], arg) <= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, stepson, (*(*[113]uintptr)(unsafe.Pointer(bp + 16)))[0], arg) <= 0 {
break
}
if !(trusty != 0) && pshift > int32(1) {
rt = head - uintptr(width)
lf = head - uintptr(width) - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift-int32(2))*8)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, rt, stepson, arg) >= 0 || (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, lf, stepson, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, rt, stepson, arg) >= 0 || (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, lf, stepson, arg) >= 0 {
break
}
}
@@ -144157,13 +144170,15 @@ func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, p
}
if !(trusty != 0) {
_cycle(tls, width, bp+16, i)
- _sift(tls, head, width, cmp, arg, pshift, lp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, lp)
}
}
-func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun, arg uintptr) {
+type t__ccgo_fp__X__qsort_r_3 = func(*TLS, uintptr, uintptr, uintptr) int32
+
+func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v arg=%v, (%v:)", tls, base, nel, width, cmp, arg, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v arg=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, arg, origin(2))
}
bp := tls.Alloc(784)
defer tls.Free(784)
@@ -144201,14 +144216,14 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
}
for head < high {
if (*(*[2]Tsize_t)(unsafe.Pointer(bp + 768)))[0]&uint64(3) == uint64(3) {
- _sift(tls, head, width, cmp, arg, pshift, bp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, bp)
_shr(tls, bp+768, int32(2))
pshift += int32(2)
} else {
if (*(*[96]Tsize_t)(unsafe.Pointer(bp)))[pshift-int32(1)] >= Uint64FromInt64(int64(high)-int64(head)) {
- _trinkle(tls, head, width, cmp, arg, bp+768, pshift, 0, bp)
+ _trinkle(tls, head, width, __ccgo_fp_cmp, arg, bp+768, pshift, 0, bp)
} else {
- _sift(tls, head, width, cmp, arg, pshift, bp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, bp)
}
if pshift == int32(1) {
_shl(tls, bp+768, int32(1))
@@ -144221,7 +144236,7 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
*(*Tsize_t)(unsafe.Pointer(bp + 768)) |= uint64(1)
head += uintptr(width)
}
- _trinkle(tls, head, width, cmp, arg, bp+768, pshift, 0, bp)
+ _trinkle(tls, head, width, __ccgo_fp_cmp, arg, bp+768, pshift, 0, bp)
for pshift != int32(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp + 768)))[0] != uint64(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp + 768)))[int32(1)] != uint64(0) {
if pshift <= int32(1) {
trail = _pntz(tls, bp+768)
@@ -144232,31 +144247,35 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
pshift -= int32(2)
*(*Tsize_t)(unsafe.Pointer(bp + 768)) ^= uint64(7)
_shr(tls, bp+768, int32(1))
- _trinkle(tls, head-uintptr((*(*[96]Tsize_t)(unsafe.Pointer(bp)))[pshift])-uintptr(width), width, cmp, arg, bp+768, pshift+int32(1), int32(1), bp)
+ _trinkle(tls, head-uintptr((*(*[96]Tsize_t)(unsafe.Pointer(bp)))[pshift])-uintptr(width), width, __ccgo_fp_cmp, arg, bp+768, pshift+int32(1), int32(1), bp)
_shl(tls, bp+768, int32(1))
*(*Tsize_t)(unsafe.Pointer(bp + 768)) |= uint64(1)
- _trinkle(tls, head-uintptr(width), width, cmp, arg, bp+768, pshift, int32(1), bp)
+ _trinkle(tls, head-uintptr(width), width, __ccgo_fp_cmp, arg, bp+768, pshift, int32(1), bp)
}
head -= uintptr(width)
}
}
-func Xqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun, arg uintptr) {
+type t__ccgo_fp__Xqsort_r_3 = func(*TLS, uintptr, uintptr, uintptr) int32
+
+func Xqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v arg=%v, (%v:)", tls, base, nel, width, cmp, arg, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v arg=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, arg, origin(2))
}
- X__qsort_r(tls, base, nel, width, cmp, arg)
+ X__qsort_r(tls, base, nel, width, __ccgo_fp_cmp, arg)
}
func _wrapper_cmp(tls *TLS, v1 uintptr, v2 uintptr, cmp uintptr) (r int32) {
return (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, v1, v2)
}
-func Xqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun) {
+type t__ccgo_fp__Xqsort_3 = func(*TLS, uintptr, uintptr) int32
+
+func Xqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v, (%v:)", tls, base, nel, width, cmp, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, origin(2))
}
- X__qsort_r(tls, base, nel, width, __ccgo_fp(_wrapper_cmp), cmp)
+ X__qsort_r(tls, base, nel, width, __ccgo_fp(_wrapper_cmp), __ccgo_fp_cmp)
}
func _strtox(tls *TLS, s uintptr, p uintptr, prec int32) (r float64) {
diff --git a/vendor/modernc.org/libc/ccgo_linux_s390x.go b/vendor/modernc.org/libc/ccgo_linux_s390x.go
index 9adb2e4c8b73b..99415271883a7 100644
--- a/vendor/modernc.org/libc/ccgo_linux_s390x.go
+++ b/vendor/modernc.org/libc/ccgo_linux_s390x.go
@@ -24882,9 +24882,13 @@ func Xrewinddir(tls *TLS, dir uintptr) {
___unlock(tls, dir+20)
}
-func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r int32) {
+type t__ccgo_fp__Xscandir_2 = func(*TLS, uintptr) int32
+
+type t__ccgo_fp__Xscandir_3 = func(*TLS, uintptr, uintptr) int32
+
+func Xscandir(tls *TLS, path uintptr, res uintptr, __ccgo_fp_sel uintptr, __ccgo_fp_cmp uintptr) (r int32) {
if __ccgo_strace {
- trc("tls=%v path=%v res=%v sel=%v cmp=%v, (%v:)", tls, path, res, sel, cmp, origin(2))
+ trc("tls=%v path=%v res=%v __ccgo_fp_sel=%v __ccgo_fp_cmp=%v, (%v:)", tls, path, res, __ccgo_fp_sel, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var cnt, len1, v2, v3 Tsize_t
@@ -24906,7 +24910,7 @@ func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r
if !(v1 != 0) {
break
}
- if sel != 0 && !((*(*func(*TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{sel})))(tls, de) != 0) {
+ if __ccgo_fp_sel != 0 && !((*(*func(*TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_sel})))(tls, de) != 0) {
continue
}
if cnt >= len1 {
@@ -24944,8 +24948,8 @@ func Xscandir(tls *TLS, path uintptr, res uintptr, sel uintptr, cmp uintptr) (r
return -int32(1)
}
*(*int32)(unsafe.Pointer(X__errno_location(tls))) = old_errno
- if cmp != 0 {
- Xqsort(tls, names, cnt, uint64(8), cmp)
+ if __ccgo_fp_cmp != 0 {
+ Xqsort(tls, names, cnt, uint64(8), __ccgo_fp_cmp)
}
*(*uintptr)(unsafe.Pointer(res)) = names
return Int32FromUint64(cnt)
@@ -25692,9 +25696,11 @@ func X__funcs_on_quick_exit(tls *TLS) {
}
}
-func Xat_quick_exit(tls *TLS, func1 uintptr) (r1 int32) {
+type t__ccgo_fp__Xat_quick_exit_0 = func(*TLS)
+
+func Xat_quick_exit(tls *TLS, __ccgo_fp_func uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v func1=%v, (%v:)", tls, func1, origin(2))
+ trc("tls=%v __ccgo_fp_func=%v, (%v:)", tls, __ccgo_fp_func, origin(2))
defer func() { trc("-> %v", r1) }()
}
var r, v1 int32
@@ -25706,7 +25712,7 @@ func Xat_quick_exit(tls *TLS, func1 uintptr) (r1 int32) {
} else {
v1 = _count
_count++
- _funcs[v1] = func1
+ _funcs[v1] = __ccgo_fp_func
}
___unlock(tls, uintptr(unsafe.Pointer(&_lock)))
return r
@@ -28199,15 +28205,17 @@ type TFTW = struct {
Flevel int32
}
-func Xftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32) (r int32) {
+type t__ccgo_fp__Xftw_1 = func(*TLS, uintptr, uintptr, int32) int32
+
+func Xftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32) (r int32) {
if __ccgo_strace {
- trc("tls=%v path=%v fn=%v fd_limit=%v, (%v:)", tls, path, fn, fd_limit, origin(2))
+ trc("tls=%v path=%v __ccgo_fp_fn=%v fd_limit=%v, (%v:)", tls, path, __ccgo_fp_fn, fd_limit, origin(2))
defer func() { trc("-> %v", r) }()
}
/* The following cast assumes that calling a function with one
* argument more than it needs behaves as expected. This is
* actually undefined, but works on all real-world machines. */
- return Xnftw(tls, path, fn, fd_limit, int32(FTW_PHYS))
+ return Xnftw(tls, path, __ccgo_fp_fn, fd_limit, int32(FTW_PHYS))
}
const STATX_ALL = 4095
@@ -31109,14 +31117,6 @@ func Xfremovexattr(tls *TLS, fd int32, name uintptr) (r int32) {
return int32(X__syscall_ret(tls, Uint64FromInt64(X__syscall2(tls, int64(SYS_fremovexattr), int64(fd), int64(name)))))
}
-type Tucontext_t2 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t
- Fuc_sigmask Tsigset_t
-}
-
func _dummy4(tls *TLS, msg uintptr, lm uintptr) (r uintptr) {
return msg
}
@@ -114017,15 +114017,7 @@ func Xgethostid(tls *TLS) (r int64) {
const optpos = 0
-type Tucontext_t3 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t1
- Fuc_sigmask Tsigset_t
-}
-
-type t__ucontext1 = Tucontext_t3
+type t__ucontext1 = Tucontext_t1
func X__getopt_msg(tls *TLS, a uintptr, b uintptr, c uintptr, l Tsize_t) {
if __ccgo_strace {
@@ -115173,7 +115165,7 @@ type Thistory = struct {
Fbase int32
}
-func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h uintptr) (r1 int32) {
+func _do_nftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32, flags int32, h uintptr) (r1 int32) {
bp := tls.Alloc(192)
defer tls.Free(192)
var d, de, v10 uintptr
@@ -115279,7 +115271,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
}
if v8 = !(flags&Int32FromInt32(FTW_DEPTH) != 0); v8 {
- v7 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{fn})))(tls, path, bp, type1, bp+176)
+ v7 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_fn})))(tls, path, bp, type1, bp+176)
r = v7
}
if v8 && v7 != 0 {
@@ -115320,7 +115312,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
*(*uint8)(unsafe.Pointer(path + uintptr(j))) = uint8('/')
Xstrcpy(tls, path+uintptr(j)+uintptr(1), de+19)
- v11 = _do_nftw(tls, path, fn, fd_limit-int32(1), flags, bp+144)
+ v11 = _do_nftw(tls, path, __ccgo_fp_fn, fd_limit-int32(1), flags, bp+144)
r = v11
if v11 != 0 {
Xclosedir(tls, d)
@@ -115335,7 +115327,7 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
}
*(*uint8)(unsafe.Pointer(path + uintptr(l))) = uint8(0)
if v13 = flags&int32(FTW_DEPTH) != 0; v13 {
- v12 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{fn})))(tls, path, bp, type1, bp+176)
+ v12 = (*(*func(*TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_fn})))(tls, path, bp, type1, bp+176)
r = v12
}
if v13 && v12 != 0 {
@@ -115344,9 +115336,11 @@ func _do_nftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32, h
return 0
}
-func Xnftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32) (r1 int32) {
+type t__ccgo_fp__Xnftw_1 = func(*TLS, uintptr, uintptr, int32, uintptr) int32
+
+func Xnftw(tls *TLS, path uintptr, __ccgo_fp_fn uintptr, fd_limit int32, flags int32) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v path=%v fn=%v fd_limit=%v flags=%v, (%v:)", tls, path, fn, fd_limit, flags, origin(2))
+ trc("tls=%v path=%v __ccgo_fp_fn=%v fd_limit=%v flags=%v, (%v:)", tls, path, __ccgo_fp_fn, fd_limit, flags, origin(2))
defer func() { trc("-> %v", r1) }()
}
bp := tls.Alloc(4112)
@@ -115366,7 +115360,7 @@ func Xnftw(tls *TLS, path uintptr, fn uintptr, fd_limit int32, flags int32) (r1
}
Xmemcpy(tls, bp+4, path, l+uint64(1))
_pthread_setcancelstate(tls, int32(PTHREAD_CANCEL_DISABLE), bp)
- r = _do_nftw(tls, bp+4, fn, fd_limit, flags, UintptrFromInt32(0))
+ r = _do_nftw(tls, bp+4, __ccgo_fp_fn, fd_limit, flags, UintptrFromInt32(0))
_pthread_setcancelstate(tls, *(*int32)(unsafe.Pointer(bp)), uintptr(0))
return r
}
@@ -116146,8 +116140,6 @@ type Tsockaddr_storage = struct {
F__ss_align uint64
}
-type t__ucontext2 = Tucontext_t2
-
var _lock2 [1]int32
var _log_ident [32]uint8
var _log_opt int32
@@ -116551,14 +116543,6 @@ const SA = 194
const SB = 244
const bittab = 0
-type Tucontext_t4 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t
- Fuc_sigmask Tsigset_t
-}
-
func Xbtowc(tls *TLS, c int32) (r Twint_t) {
if __ccgo_strace {
trc("tls=%v c=%v, (%v:)", tls, c, origin(2))
@@ -118374,13 +118358,6 @@ const _ns_uop_delete = 0
const _ns_uop_add = 1
const _ns_uop_max = 2
-type Tns_tsig_key1 = struct {
- Fname [1025]uint8
- Falg [1025]uint8
- Fdata uintptr
- Flen1 int32
-}
-
type Tns_tsig_key = struct {
Fname [1025]uint8
Falg [1025]uint8
@@ -118388,14 +118365,6 @@ type Tns_tsig_key = struct {
Flen1 int32
}
-type Tns_tcp_tsig_state1 = struct {
- Fcounter int32
- Fkey uintptr
- Fctx uintptr
- Fsig [512]uint8
- Fsiglen int32
-}
-
type Tns_tcp_tsig_state = struct {
Fcounter int32
Fkey uintptr
@@ -119045,9 +119014,11 @@ type Tresolvconf = struct {
Ftimeout uint32
}
-func X__dns_parse(tls *TLS, r uintptr, rlen int32, callback uintptr, ctx uintptr) (r1 int32) {
+type t__ccgo_fp__X__dns_parse_2 = func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32
+
+func X__dns_parse(tls *TLS, r uintptr, rlen int32, __ccgo_fp_callback uintptr, ctx uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v r=%v rlen=%v callback=%v ctx=%v, (%v:)", tls, r, rlen, callback, ctx, origin(2))
+ trc("tls=%v r=%v rlen=%v __ccgo_fp_callback=%v ctx=%v, (%v:)", tls, r, rlen, __ccgo_fp_callback, ctx, origin(2))
defer func() { trc("-> %v", r1) }()
}
var ancount, len1, qdcount, v1, v2 int32
@@ -119093,7 +119064,7 @@ func X__dns_parse(tls *TLS, r uintptr, rlen int32, callback uintptr, ctx uintptr
if int64(len1+int32(10)) > int64(r+uintptr(rlen))-int64(p) {
return -int32(1)
}
- if (*(*func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{callback})))(tls, ctx, Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 1))), p+uintptr(10), len1, r, rlen) < 0 {
+ if (*(*func(*TLS, uintptr, int32, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_callback})))(tls, ctx, Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 1))), p+uintptr(10), len1, r, rlen) < 0 {
return -int32(1)
}
p += uintptr(int32(10) + len1)
@@ -121311,18 +121282,6 @@ func Xherror(tls *TLS, msg uintptr) {
Xfprintf(tls, uintptr(unsafe.Pointer(&X__stderr_FILE)), __ccgo_ts+1102, VaList(bp+8, v1, v2, Xhstrerror(tls, *(*int32)(unsafe.Pointer(X__h_errno_location(tls))))))
}
-type Tcpu_set_t1 = struct {
- F__bits [16]uint64
-}
-
-type Tucontext_t5 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t1
- Fuc_sigmask Tsigset_t
-}
-
var _msgs1 = [84]uint8{'H', 'o', 's', 't', ' ', 'n', 'o', 't', ' ', 'f', 'o', 'u', 'n', 'd', 0, 'T', 'r', 'y', ' ', 'a', 'g', 'a', 'i', 'n', 0, 'N', 'o', 'n', '-', 'r', 'e', 'c', 'o', 'v', 'e', 'r', 'a', 'b', 'l', 'e', ' ', 'e', 'r', 'r', 'o', 'r', 0, 'A', 'd', 'd', 'r', 'e', 's', 's', ' ', 'n', 'o', 't', ' ', 'a', 'v', 'a', 'i', 'l', 'a', 'b', 'l', 'e', 0, 0, 'U', 'n', 'k', 'n', 'o', 'w', 'n', ' ', 'e', 'r', 'r', 'o', 'r'}
func Xhstrerror(tls *TLS, ecode int32) (r uintptr) {
@@ -123134,7 +123093,7 @@ func X__lookup_serv(tls *TLS, buf uintptr, name uintptr, proto int32, socktype i
return v22
}
-func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32, cb uintptr, ctx uintptr) (r1 int32) {
+func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32, __ccgo_fp_cb uintptr, ctx uintptr) (r1 int32) {
bp := tls.Alloc(8192)
defer tls.Free(8192)
var h uintptr
@@ -123224,7 +123183,7 @@ func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32,
if Int32FromUint16((*Tnlmsghdr)(unsafe.Pointer(h)).Fnlmsg_type) == int32(NLMSG_ERROR) {
return -int32(1)
}
- ret = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cb})))(tls, ctx, h)
+ ret = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cb})))(tls, ctx, h)
if ret != 0 {
return ret
}
@@ -123237,9 +123196,11 @@ func ___netlink_enumerate(tls *TLS, fd int32, seq uint32, type1 int32, af int32,
return r1
}
-func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, cb uintptr, ctx uintptr) (r1 int32) {
+type t__ccgo_fp__X__rtnetlink_enumerate_2 = func(*TLS, uintptr, uintptr) int32
+
+func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, __ccgo_fp_cb uintptr, ctx uintptr) (r1 int32) {
if __ccgo_strace {
- trc("tls=%v link_af=%v addr_af=%v cb=%v ctx=%v, (%v:)", tls, link_af, addr_af, cb, ctx, origin(2))
+ trc("tls=%v link_af=%v addr_af=%v __ccgo_fp_cb=%v ctx=%v, (%v:)", tls, link_af, addr_af, __ccgo_fp_cb, ctx, origin(2))
defer func() { trc("-> %v", r1) }()
}
var fd, r int32
@@ -123248,9 +123209,9 @@ func X__rtnetlink_enumerate(tls *TLS, link_af int32, addr_af int32, cb uintptr,
if fd < 0 {
return -int32(1)
}
- r = ___netlink_enumerate(tls, fd, uint32(1), int32(RTM_GETLINK), link_af, cb, ctx)
+ r = ___netlink_enumerate(tls, fd, uint32(1), int32(RTM_GETLINK), link_af, __ccgo_fp_cb, ctx)
if !(r != 0) {
- r = ___netlink_enumerate(tls, fd, uint32(2), int32(RTM_GETADDR), addr_af, cb, ctx)
+ r = ___netlink_enumerate(tls, fd, uint32(2), int32(RTM_GETADDR), addr_af, __ccgo_fp_cb, ctx)
}
X__syscall1(tls, int64(SYS_close), int64(fd))
return r
@@ -128631,7 +128592,7 @@ func _append(tls *TLS, tail uintptr, name uintptr, len1 Tsize_t, mark int32) (r
return 0
}
-func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flags int32, errfunc uintptr, tail uintptr) (r1 int32) {
+func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flags int32, __ccgo_fp_errfunc uintptr, tail uintptr) (r1 int32) {
bp := tls.Alloc(144)
defer tls.Free(144)
var de, dir, p, p2, v11, v2, v7, v8 uintptr
@@ -128740,7 +128701,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
}
}
if !(type1 != 0) && Xlstat(tls, buf, bp) != 0 {
- if *(*int32)(unsafe.Pointer(X__errno_location(tls))) != int32(ENOENT) && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
+ if *(*int32)(unsafe.Pointer(X__errno_location(tls))) != int32(ENOENT) && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
return int32(GLOB_ABORTED)
}
return 0
@@ -128777,7 +128738,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
}
dir = Xopendir(tls, v7)
if !(dir != 0) {
- if (*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0 {
+ if (*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0 {
return int32(GLOB_ABORTED)
}
return 0
@@ -128829,7 +128790,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
} else {
v11 = __ccgo_ts
}
- r = _do_glob(tls, buf, pos+l, Int32FromUint8((*Tdirent)(unsafe.Pointer(de)).Fd_type), v11, flags, errfunc, tail)
+ r = _do_glob(tls, buf, pos+l, Int32FromUint8((*Tdirent)(unsafe.Pointer(de)).Fd_type), v11, flags, __ccgo_fp_errfunc, tail)
if r != 0 {
Xclosedir(tls, dir)
return r
@@ -128840,7 +128801,7 @@ func _do_glob(tls *TLS, buf uintptr, pos Tsize_t, type1 int32, pat uintptr, flag
*(*uint8)(unsafe.Pointer(p2)) = saved_sep
}
Xclosedir(tls, dir)
- if readerr != 0 && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
+ if readerr != 0 && ((*(*func(*TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_errfunc})))(tls, buf, *(*int32)(unsafe.Pointer(X__errno_location(tls)))) != 0 || flags&int32(GLOB_ERR) != 0) {
return int32(GLOB_ABORTED)
}
*(*int32)(unsafe.Pointer(X__errno_location(tls))) = old_errno
@@ -128952,9 +128913,11 @@ func _expand_tilde(tls *TLS, pat uintptr, buf uintptr, pos uintptr) (r int32) {
return 0
}
-func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r int32) {
+type t__ccgo_fp__Xglob_2 = func(*TLS, uintptr, int32) int32
+
+func Xglob(tls *TLS, pat uintptr, flags int32, __ccgo_fp_errfunc uintptr, g uintptr) (r int32) {
if __ccgo_strace {
- trc("tls=%v pat=%v flags=%v errfunc=%v g=%v, (%v:)", tls, pat, flags, errfunc, g, origin(2))
+ trc("tls=%v pat=%v flags=%v __ccgo_fp_errfunc=%v g=%v, (%v:)", tls, pat, flags, __ccgo_fp_errfunc, g, origin(2))
defer func() { trc("-> %v", r) }()
}
bp := tls.Alloc(4128)
@@ -128980,8 +128943,8 @@ func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r in
}
offs = v1
error1 = 0
- if !(errfunc != 0) {
- errfunc = __ccgo_fp(_ignore_err)
+ if !(__ccgo_fp_errfunc != 0) {
+ __ccgo_fp_errfunc = __ccgo_fp(_ignore_err)
}
if !(flags&Int32FromInt32(GLOB_APPEND) != 0) {
(*Tglob_t)(unsafe.Pointer(g)).Fgl_offs = offs
@@ -129000,7 +128963,7 @@ func Xglob(tls *TLS, pat uintptr, flags int32, errfunc uintptr, g uintptr) (r in
error1 = _expand_tilde(tls, bp+4120, bp+16, bp+4112)
}
if !(error1 != 0) {
- error1 = _do_glob(tls, bp+16, *(*Tsize_t)(unsafe.Pointer(bp + 4112)), 0, *(*uintptr)(unsafe.Pointer(bp + 4120)), flags, errfunc, bp+8)
+ error1 = _do_glob(tls, bp+16, *(*Tsize_t)(unsafe.Pointer(bp + 4112)), 0, *(*uintptr)(unsafe.Pointer(bp + 4120)), flags, __ccgo_fp_errfunc, bp+8)
}
Xfree(tls, p)
}
@@ -134224,9 +134187,11 @@ func Xremque(tls *TLS, element uintptr) {
}
}
-func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr) {
+type t__ccgo_fp__Xlsearch_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nelp=%v width=%v compar=%v, (%v:)", tls, key, base, nelp, width, compar, origin(2))
+ trc("tls=%v key=%v base=%v nelp=%v width=%v __ccgo_fp_compar=%v, (%v:)", tls, key, base, nelp, width, __ccgo_fp_compar, origin(2))
defer func() { trc("-> %v", r) }()
}
var i, n Tsize_t
@@ -134242,7 +134207,7 @@ func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t,
if !(i < n) {
break
}
- if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
+ if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
return p + uintptr(i)*uintptr(v1)
}
goto _2
@@ -134254,9 +134219,11 @@ func Xlsearch(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t,
return Xmemcpy(tls, p+uintptr(n)*uintptr(v1), key, width)
}
-func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, compar uintptr) (r uintptr) {
+type t__ccgo_fp__Xlfind_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, __ccgo_fp_compar uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nelp=%v width=%v compar=%v, (%v:)", tls, key, base, nelp, width, compar, origin(2))
+ trc("tls=%v key=%v base=%v nelp=%v width=%v __ccgo_fp_compar=%v, (%v:)", tls, key, base, nelp, width, __ccgo_fp_compar, origin(2))
defer func() { trc("-> %v", r) }()
}
var i, n Tsize_t
@@ -134272,7 +134239,7 @@ func Xlfind(tls *TLS, key uintptr, base uintptr, nelp uintptr, width Tsize_t, co
if !(i < n) {
break
}
- if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
+ if (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_compar})))(tls, key, p+uintptr(i)*uintptr(v1)) == 0 {
return p + uintptr(i)*uintptr(v1)
}
goto _2
@@ -134291,9 +134258,11 @@ type Tnode1 = struct {
Fh int32
}
-func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xtdelete_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtdelete(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var a [97]uintptr
@@ -134317,7 +134286,7 @@ func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
if !(n != 0) {
return uintptr(0)
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
break
}
@@ -134362,9 +134331,11 @@ func Xtdelete(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
return parent
}
-func Xtdestroy(tls *TLS, root uintptr, freekey uintptr) {
+type t__ccgo_fp__Xtdestroy_1 = func(*TLS, uintptr)
+
+func Xtdestroy(tls *TLS, root uintptr, __ccgo_fp_freekey uintptr) {
if __ccgo_strace {
- trc("tls=%v root=%v freekey=%v, (%v:)", tls, root, freekey, origin(2))
+ trc("tls=%v root=%v __ccgo_fp_freekey=%v, (%v:)", tls, root, __ccgo_fp_freekey, origin(2))
}
var r uintptr
_ = r
@@ -134372,17 +134343,19 @@ func Xtdestroy(tls *TLS, root uintptr, freekey uintptr) {
if r == uintptr(0) {
return
}
- Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8)), freekey)
- Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), freekey)
- if freekey != 0 {
- (*(*func(*TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{freekey})))(tls, (*Tnode1)(unsafe.Pointer(r)).Fkey)
+ Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8)), __ccgo_fp_freekey)
+ Xtdestroy(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), __ccgo_fp_freekey)
+ if __ccgo_fp_freekey != 0 {
+ (*(*func(*TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_freekey})))(tls, (*Tnode1)(unsafe.Pointer(r)).Fkey)
}
Xfree(tls, r)
}
-func Xtfind(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xtfind_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtfind(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var c int32
@@ -134396,7 +134369,7 @@ func Xtfind(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r uintptr) {
if !(n != 0) {
break
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
break
}
@@ -134484,9 +134457,11 @@ func X__tsearch_balance(tls *TLS, p uintptr) (r int32) {
return _rot(tls, p, n, BoolInt32(h0 < h1))
}
-func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
+type t__ccgo_fp__Xtsearch_2 = func(*TLS, uintptr, uintptr) int32
+
+func Xtsearch(tls *TLS, key uintptr, rootp uintptr, __ccgo_fp_cmp uintptr) (r1 uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v rootp=%v cmp=%v, (%v:)", tls, key, rootp, cmp, origin(2))
+ trc("tls=%v key=%v rootp=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, rootp, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r1) }()
}
var a [96]uintptr
@@ -134506,7 +134481,7 @@ func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
if !(n != 0) {
break
}
- c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
+ c = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, (*Tnode1)(unsafe.Pointer(n)).Fkey)
if !(c != 0) {
return n
}
@@ -134542,26 +134517,28 @@ func Xtsearch(tls *TLS, key uintptr, rootp uintptr, cmp uintptr) (r1 uintptr) {
return r
}
-func _walk(tls *TLS, r uintptr, action uintptr, d int32) {
+func _walk(tls *TLS, r uintptr, __ccgo_fp_action uintptr, d int32) {
if !(r != 0) {
return
}
if (*Tnode1)(unsafe.Pointer(r)).Fh == int32(1) {
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_leaf), d)
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_leaf), d)
} else {
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_preorder), d)
- _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8)), action, d+int32(1))
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_postorder), d)
- _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), action, d+int32(1))
- (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{action})))(tls, r, int32(_endorder), d)
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_preorder), d)
+ _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8)), __ccgo_fp_action, d+int32(1))
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_postorder), d)
+ _walk(tls, *(*uintptr)(unsafe.Pointer(r + 8 + 1*8)), __ccgo_fp_action, d+int32(1))
+ (*(*func(*TLS, uintptr, TVISIT, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_action})))(tls, r, int32(_endorder), d)
}
}
-func Xtwalk(tls *TLS, root uintptr, action uintptr) {
+type t__ccgo_fp__Xtwalk_1 = func(*TLS, uintptr, int32, int32)
+
+func Xtwalk(tls *TLS, root uintptr, __ccgo_fp_action uintptr) {
if __ccgo_strace {
- trc("tls=%v root=%v action=%v, (%v:)", tls, root, action, origin(2))
+ trc("tls=%v root=%v __ccgo_fp_action=%v, (%v:)", tls, root, __ccgo_fp_action, origin(2))
}
- _walk(tls, root, action, 0)
+ _walk(tls, root, __ccgo_fp_action, 0)
}
func Xpoll(tls *TLS, fds uintptr, n Tnfds_t, timeout int32) (r int32) {
@@ -134572,8 +134549,6 @@ func Xpoll(tls *TLS, fds uintptr, n Tnfds_t, timeout int32) (r int32) {
return int32(X__syscall_ret(tls, Uint64FromInt64(___syscall_cp(tls, int64(SYS_poll), int64(fds), Int64FromUint64(n), int64(timeout), 0, 0, 0))))
}
-type t__ucontext3 = Tucontext_t5
-
func Xppoll(tls *TLS, fds uintptr, n Tnfds_t, to uintptr, mask uintptr) (r int32) {
if __ccgo_strace {
trc("tls=%v fds=%v n=%v to=%v mask=%v, (%v:)", tls, fds, n, to, mask, origin(2))
@@ -134609,8 +134584,6 @@ func Xppoll(tls *TLS, fds uintptr, n Tnfds_t, to uintptr, mask uintptr) (r int32
return int32(X__syscall_ret(tls, Uint64FromInt64(___syscall_cp(tls, int64(SYS_ppoll), int64(fds), Int64FromUint64(n), int64(v3), int64(mask), int64(Int32FromInt32(_NSIG)/Int32FromInt32(8)), 0))))
}
-type t__ucontext4 = Tucontext_t4
-
func Xpselect(tls *TLS, n int32, rfds uintptr, wfds uintptr, efds uintptr, ts uintptr, mask uintptr) (r int32) {
if __ccgo_strace {
trc("tls=%v n=%v rfds=%v wfds=%v efds=%v ts=%v mask=%v, (%v:)", tls, n, rfds, wfds, efds, ts, mask, origin(2))
@@ -134651,14 +134624,6 @@ func Xpselect(tls *TLS, n int32, rfds uintptr, wfds uintptr, efds uintptr, ts ui
return int32(X__syscall_ret(tls, Uint64FromInt64(___syscall_cp(tls, int64(SYS_pselect6), int64(n), int64(rfds), int64(wfds), int64(efds), int64(v3), int64(bp+16)))))
}
-type Tucontext_t6 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t
- Fuc_sigmask Tsigset_t
-}
-
func Xselect(tls *TLS, n int32, rfds uintptr, wfds uintptr, efds uintptr, tv uintptr) (r int32) {
if __ccgo_strace {
trc("tls=%v n=%v rfds=%v wfds=%v efds=%v tv=%v, (%v:)", tls, n, rfds, wfds, efds, tv, origin(2))
@@ -135148,14 +135113,6 @@ func Xsigaltstack(tls *TLS, ss uintptr, old uintptr) (r int32) {
const SST_SIZE = 8
-type Tucontext_t7 = struct {
- Fuc_flags uint64
- Fuc_link uintptr
- Fuc_stack Tstack_t
- Fuc_mcontext Tmcontext_t1
- Fuc_sigmask Tsigset_t
-}
-
func Xsigandset(tls *TLS, dest uintptr, left uintptr, right uintptr) (r1 int32) {
if __ccgo_strace {
trc("tls=%v dest=%v left=%v right=%v, (%v:)", tls, dest, left, right, origin(2))
@@ -144285,9 +144242,11 @@ func Xatoll(tls *TLS, s uintptr) (r int64) {
return v5
}
-func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, cmp uintptr) (r uintptr) {
+type t__ccgo_fp__Xbsearch_4 = func(*TLS, uintptr, uintptr) int32
+
+func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp uintptr) (r uintptr) {
if __ccgo_strace {
- trc("tls=%v key=%v base=%v nel=%v width=%v cmp=%v, (%v:)", tls, key, base, nel, width, cmp, origin(2))
+ trc("tls=%v key=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v, (%v:)", tls, key, base, nel, width, __ccgo_fp_cmp, origin(2))
defer func() { trc("-> %v", r) }()
}
var sign int32
@@ -144295,7 +144254,7 @@ func Xbsearch(tls *TLS, key uintptr, base uintptr, nel Tsize_t, width Tsize_t, c
_, _ = sign, try
for nel > uint64(0) {
try = base + uintptr(width*(nel/uint64(2)))
- sign = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, key, try)
+ sign = (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, key, try)
if sign < 0 {
nel /= uint64(2)
} else {
@@ -144565,7 +144524,7 @@ func _shr(tls *TLS, p uintptr, n int32) {
*(*Tsize_t)(unsafe.Pointer(p + 1*8)) >>= Uint64FromInt32(n)
}
-func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshift int32, lp uintptr) {
+func _sift(tls *TLS, head uintptr, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr, pshift int32, lp uintptr) {
bp := tls.Alloc(912)
defer tls.Free(912)
var i, v1, v2 int32
@@ -144577,10 +144536,10 @@ func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshi
for pshift > int32(1) {
rt = head - uintptr(width)
lf = head - uintptr(width) - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift-int32(2))*8)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], lf, arg) >= 0 && (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], rt, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], lf, arg) >= 0 && (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, (*(*[113]uintptr)(unsafe.Pointer(bp)))[0], rt, arg) >= 0 {
break
}
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, lf, rt, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, lf, rt, arg) >= 0 {
v1 = i
i++
(*(*[113]uintptr)(unsafe.Pointer(bp)))[v1] = lf
@@ -144597,7 +144556,7 @@ func _sift(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pshi
_cycle(tls, width, bp, i)
}
-func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, pp uintptr, pshift int32, trusty int32, lp uintptr) {
+func _trinkle(tls *TLS, head uintptr, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr, pp uintptr, pshift int32, trusty int32, lp uintptr) {
bp := tls.Alloc(928)
defer tls.Free(928)
var i, trail, v1 int32
@@ -144611,13 +144570,13 @@ func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, p
(*(*[113]uintptr)(unsafe.Pointer(bp + 16)))[0] = head
for (*(*[2]Tsize_t)(unsafe.Pointer(bp)))[0] != uint64(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp)))[int32(1)] != uint64(0) {
stepson = head - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift)*8)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, stepson, (*(*[113]uintptr)(unsafe.Pointer(bp + 16)))[0], arg) <= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, stepson, (*(*[113]uintptr)(unsafe.Pointer(bp + 16)))[0], arg) <= 0 {
break
}
if !(trusty != 0) && pshift > int32(1) {
rt = head - uintptr(width)
lf = head - uintptr(width) - uintptr(*(*Tsize_t)(unsafe.Pointer(lp + uintptr(pshift-int32(2))*8)))
- if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, rt, stepson, arg) >= 0 || (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, lf, stepson, arg) >= 0 {
+ if (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, rt, stepson, arg) >= 0 || (*(*func(*TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_cmp})))(tls, lf, stepson, arg) >= 0 {
break
}
}
@@ -144632,13 +144591,15 @@ func _trinkle(tls *TLS, head uintptr, width Tsize_t, cmp Tcmpfun, arg uintptr, p
}
if !(trusty != 0) {
_cycle(tls, width, bp+16, i)
- _sift(tls, head, width, cmp, arg, pshift, lp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, lp)
}
}
-func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun, arg uintptr) {
+type t__ccgo_fp__X__qsort_r_3 = func(*TLS, uintptr, uintptr, uintptr) int32
+
+func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v arg=%v, (%v:)", tls, base, nel, width, cmp, arg, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v arg=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, arg, origin(2))
}
bp := tls.Alloc(784)
defer tls.Free(784)
@@ -144676,14 +144637,14 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
}
for head < high {
if (*(*[2]Tsize_t)(unsafe.Pointer(bp + 768)))[0]&uint64(3) == uint64(3) {
- _sift(tls, head, width, cmp, arg, pshift, bp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, bp)
_shr(tls, bp+768, int32(2))
pshift += int32(2)
} else {
if (*(*[96]Tsize_t)(unsafe.Pointer(bp)))[pshift-int32(1)] >= Uint64FromInt64(int64(high)-int64(head)) {
- _trinkle(tls, head, width, cmp, arg, bp+768, pshift, 0, bp)
+ _trinkle(tls, head, width, __ccgo_fp_cmp, arg, bp+768, pshift, 0, bp)
} else {
- _sift(tls, head, width, cmp, arg, pshift, bp)
+ _sift(tls, head, width, __ccgo_fp_cmp, arg, pshift, bp)
}
if pshift == int32(1) {
_shl(tls, bp+768, int32(1))
@@ -144696,7 +144657,7 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
*(*Tsize_t)(unsafe.Pointer(bp + 768)) |= uint64(1)
head += uintptr(width)
}
- _trinkle(tls, head, width, cmp, arg, bp+768, pshift, 0, bp)
+ _trinkle(tls, head, width, __ccgo_fp_cmp, arg, bp+768, pshift, 0, bp)
for pshift != int32(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp + 768)))[0] != uint64(1) || (*(*[2]Tsize_t)(unsafe.Pointer(bp + 768)))[int32(1)] != uint64(0) {
if pshift <= int32(1) {
trail = _pntz(tls, bp+768)
@@ -144707,31 +144668,35 @@ func X__qsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun,
pshift -= int32(2)
*(*Tsize_t)(unsafe.Pointer(bp + 768)) ^= uint64(7)
_shr(tls, bp+768, int32(1))
- _trinkle(tls, head-uintptr((*(*[96]Tsize_t)(unsafe.Pointer(bp)))[pshift])-uintptr(width), width, cmp, arg, bp+768, pshift+int32(1), int32(1), bp)
+ _trinkle(tls, head-uintptr((*(*[96]Tsize_t)(unsafe.Pointer(bp)))[pshift])-uintptr(width), width, __ccgo_fp_cmp, arg, bp+768, pshift+int32(1), int32(1), bp)
_shl(tls, bp+768, int32(1))
*(*Tsize_t)(unsafe.Pointer(bp + 768)) |= uint64(1)
- _trinkle(tls, head-uintptr(width), width, cmp, arg, bp+768, pshift, int32(1), bp)
+ _trinkle(tls, head-uintptr(width), width, __ccgo_fp_cmp, arg, bp+768, pshift, int32(1), bp)
}
head -= uintptr(width)
}
}
-func Xqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun, arg uintptr) {
+type t__ccgo_fp__Xqsort_r_3 = func(*TLS, uintptr, uintptr, uintptr) int32
+
+func Xqsort_r(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun, arg uintptr) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v arg=%v, (%v:)", tls, base, nel, width, cmp, arg, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v arg=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, arg, origin(2))
}
- X__qsort_r(tls, base, nel, width, cmp, arg)
+ X__qsort_r(tls, base, nel, width, __ccgo_fp_cmp, arg)
}
func _wrapper_cmp(tls *TLS, v1 uintptr, v2 uintptr, cmp uintptr) (r int32) {
return (*(*func(*TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{cmp})))(tls, v1, v2)
}
-func Xqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, cmp Tcmpfun) {
+type t__ccgo_fp__Xqsort_3 = func(*TLS, uintptr, uintptr) int32
+
+func Xqsort(tls *TLS, base uintptr, nel Tsize_t, width Tsize_t, __ccgo_fp_cmp Tcmpfun) {
if __ccgo_strace {
- trc("tls=%v base=%v nel=%v width=%v cmp=%v, (%v:)", tls, base, nel, width, cmp, origin(2))
+ trc("tls=%v base=%v nel=%v width=%v __ccgo_fp_cmp=%v, (%v:)", tls, base, nel, width, __ccgo_fp_cmp, origin(2))
}
- X__qsort_r(tls, base, nel, width, __ccgo_fp(_wrapper_cmp), cmp)
+ X__qsort_r(tls, base, nel, width, __ccgo_fp(_wrapper_cmp), __ccgo_fp_cmp)
}
func _strtox(tls *TLS, s uintptr, p uintptr, prec int32) (r float64) {
diff --git a/vendor/modernc.org/libc/libc.go b/vendor/modernc.org/libc/libc.go
index dab50ebf3c3ca..6dfcd57a08dd1 100644
--- a/vendor/modernc.org/libc/libc.go
+++ b/vendor/modernc.org/libc/libc.go
@@ -4,9 +4,9 @@
//go:build !linux || mips64le
-// go.generate echo package libc > ccgo.go
-//
-//go:generate go fmt -l -s -w ./...
+///go.generate echo package libc > ccgo.go
+///go:generate go fmt -l -s -w ./...
+
package libc // import "modernc.org/libc"
//TODO use O_RDONLY etc. from fcntl header
diff --git a/vendor/modernc.org/libc/libc_all.go b/vendor/modernc.org/libc/libc_all.go
index 001687e3ca06d..0e20d95e2f36f 100644
--- a/vendor/modernc.org/libc/libc_all.go
+++ b/vendor/modernc.org/libc/libc_all.go
@@ -6,6 +6,7 @@
package libc // import "modernc.org/libc"
import (
+ "math"
"sync/atomic"
"unsafe"
@@ -51,3 +52,28 @@ func GoString(s uintptr) string {
func GoBytes(s uintptr, len int) []byte {
return unsafe.Slice((*byte)(unsafe.Pointer(s)), len)
}
+
+func X__isfinitef(tls *TLS, f float32) int32 {
+ d := float64(f)
+ if !math.IsInf(d, 0) && !math.IsNaN(d) {
+ return 1
+ }
+
+ return 0
+}
+
+func X__isfinite(tls *TLS, d float64) int32 {
+ if !math.IsInf(d, 0) && !math.IsNaN(d) {
+ return 1
+ }
+
+ return 0
+}
+
+func X__isfinitel(tls *TLS, d float64) int32 {
+ if !math.IsInf(d, 0) && !math.IsNaN(d) {
+ return 1
+ }
+
+ return 0
+}
diff --git a/vendor/modernc.org/libc/libc_freebsd.go b/vendor/modernc.org/libc/libc_freebsd.go
index d177340ce95d6..259325ff60f7a 100644
--- a/vendor/modernc.org/libc/libc_freebsd.go
+++ b/vendor/modernc.org/libc/libc_freebsd.go
@@ -2250,14 +2250,6 @@ __3:
return Xtolower(tls, int32(*(*uint8)(unsafe.Pointer(l)))) - Xtolower(tls, int32(*(*uint8)(unsafe.Pointer(r))))
}
-func X__isfinite(tls *TLS, d float64) int32 {
- if !math.IsInf(d, 0) && !math.IsNaN(d) {
- return 1
- }
-
- return 0
-}
-
func X__signbit(tls *TLS, x float64) (r int32) {
return int32(math.Float64bits(x) >> 63)
}
diff --git a/vendor/modernc.org/libc/tls_linux_amd64.go b/vendor/modernc.org/libc/tls_linux_amd64.go
index d001bada00dfe..cba2c4437e8ad 100644
--- a/vendor/modernc.org/libc/tls_linux_amd64.go
+++ b/vendor/modernc.org/libc/tls_linux_amd64.go
@@ -10,6 +10,12 @@ func TLSAlloc(p0 *TLS, p1 int) uintptr
//go:noescape
func TLSFree(p0 *TLS, p1 int)
+//go:noescape
+func TLSAllocaEntry(p0 *TLS)
+
+//go:noescape
+func TLSAllocaExit(p0 *TLS)
+
func tlsAlloc(tls *TLS, n int) uintptr {
return tls.Alloc(n)
}
@@ -17,3 +23,11 @@ func tlsAlloc(tls *TLS, n int) uintptr {
func tlsFree(tls *TLS, n int) {
tls.Free(n)
}
+
+func tlsAllocaEntry(tls *TLS) {
+ tls.AllocaEntry()
+}
+
+func tlsAllocaExit(tls *TLS) {
+ tls.AllocaExit()
+}
diff --git a/vendor/modernc.org/libc/tls_linux_amd64.s b/vendor/modernc.org/libc/tls_linux_amd64.s
index 9d55f5f04c95c..d7267878846da 100644
--- a/vendor/modernc.org/libc/tls_linux_amd64.s
+++ b/vendor/modernc.org/libc/tls_linux_amd64.s
@@ -22,3 +22,19 @@ TEXT ·TLSFree(SB),$16-16
MOVQ AX, 8(SP)
CALL ·tlsFree(SB)
RET
+
+TEXT ·TLSAllocaEntry(SB),$8-8
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ p0+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·tlsAllocaEntry(SB)
+ RET
+
+TEXT ·TLSAllocaExit(SB),$8-8
+ GO_ARGS
+ NO_LOCAL_POINTERS
+ MOVQ p0+0(FP), AX
+ MOVQ AX, 0(SP)
+ CALL ·tlsAllocaExit(SB)
+ RET
diff --git a/vendor/modernc.org/sqlite/AUTHORS b/vendor/modernc.org/sqlite/AUTHORS
index 61af343a18b2d..268498a3b2953 100644
--- a/vendor/modernc.org/sqlite/AUTHORS
+++ b/vendor/modernc.org/sqlite/AUTHORS
@@ -15,6 +15,7 @@ Dan Peterson
David Walton
Davsk Ltd Co
FerretDB Inc.
+Harald Albrecht
Jaap Aarts
Jan Mercl <0xjnml@gmail.com>
Josh Bleecher Snyder
diff --git a/vendor/modernc.org/sqlite/CONTRIBUTORS b/vendor/modernc.org/sqlite/CONTRIBUTORS
index e9ea3aff56e23..625b7dcd2c2c4 100644
--- a/vendor/modernc.org/sqlite/CONTRIBUTORS
+++ b/vendor/modernc.org/sqlite/CONTRIBUTORS
@@ -17,6 +17,8 @@ David Walton
Elle Mouton
FlyingOnion <731677080@qq.com>
Gleb Sakhnov
+Guénaël Muller
+Harald Albrecht
Jaap Aarts
Jan Mercl <0xjnml@gmail.com>
Josh Bleecher Snyder
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_darwin_amd64.go b/vendor/modernc.org/sqlite/lib/sqlite_darwin_amd64.go
index c8f5e6d9121b5..1079f5fdd1d08 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_darwin_amd64.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_darwin_amd64.go
@@ -3082,7 +3082,7 @@ const SQLITE_SHM_SHARED = 4
const SQLITE_SHM_UNLOCK = 1
const SQLITE_SORTER_PMASZ = 250
const SQLITE_SOUNDEX = 1
-const SQLITE_SOURCE_ID = "2025-07-17 13:25:10 3ce993b8657d6d9deda380a93cdd6404a8c8ba1b185b2bc423703e41ae5f2543"
+const SQLITE_SOURCE_ID = "2025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3"
const SQLITE_SO_ASC = 0
const SQLITE_SO_DESC = 1
const SQLITE_SO_UNDEFINED = -1
@@ -3192,8 +3192,8 @@ const SQLITE_UTF16LE = 2
const SQLITE_UTF16NATIVE = 2
const SQLITE_UTF16_ALIGNED = 8
const SQLITE_UTF8 = 1
-const SQLITE_VERSION = "3.50.3"
-const SQLITE_VERSION_NUMBER = 3050003
+const SQLITE_VERSION = "3.50.4"
+const SQLITE_VERSION_NUMBER = 3050004
const SQLITE_VTABRISK_High = 2
const SQLITE_VTABRISK_Low = 0
const SQLITE_VTABRISK_Normal = 1
@@ -5468,12 +5468,6 @@ type Tsqlite3_file = struct {
type sqlite3_file = Tsqlite3_file
-type Tsqlite3_file1 = struct {
- FpMethods uintptr
-}
-
-type sqlite3_file1 = Tsqlite3_file1
-
// C documentation
//
// /*
@@ -5602,30 +5596,6 @@ type Tsqlite3_io_methods = struct {
type sqlite3_io_methods = Tsqlite3_io_methods
-type Tsqlite3_io_methods1 = struct {
- FiVersion int32
- FxClose uintptr
- FxRead uintptr
- FxWrite uintptr
- FxTruncate uintptr
- FxSync uintptr
- FxFileSize uintptr
- FxLock uintptr
- FxUnlock uintptr
- FxCheckReservedLock uintptr
- FxFileControl uintptr
- FxSectorSize uintptr
- FxDeviceCharacteristics uintptr
- FxShmMap uintptr
- FxShmLock uintptr
- FxShmBarrier uintptr
- FxShmUnmap uintptr
- FxFetch uintptr
- FxUnfetch uintptr
-}
-
-type sqlite3_io_methods1 = Tsqlite3_io_methods1
-
// C documentation
//
// /*
@@ -6138,33 +6108,6 @@ type Tsqlite3_syscall_ptr = uintptr
type sqlite3_syscall_ptr = Tsqlite3_syscall_ptr
-type Tsqlite3_vfs1 = struct {
- FiVersion int32
- FszOsFile int32
- FmxPathname int32
- FpNext uintptr
- FzName uintptr
- FpAppData uintptr
- FxOpen uintptr
- FxDelete uintptr
- FxAccess uintptr
- FxFullPathname uintptr
- FxDlOpen uintptr
- FxDlError uintptr
- FxDlSym uintptr
- FxDlClose uintptr
- FxRandomness uintptr
- FxSleep uintptr
- FxCurrentTime uintptr
- FxGetLastError uintptr
- FxCurrentTimeInt64 uintptr
- FxSetSystemCall uintptr
- FxGetSystemCall uintptr
- FxNextSystemCall uintptr
-}
-
-type sqlite3_vfs1 = Tsqlite3_vfs1
-
// C documentation
//
// /*
@@ -6243,19 +6186,6 @@ type Tsqlite3_mem_methods = struct {
type sqlite3_mem_methods = Tsqlite3_mem_methods
-type Tsqlite3_mem_methods1 = struct {
- FxMalloc uintptr
- FxFree uintptr
- FxRealloc uintptr
- FxSize uintptr
- FxRoundup uintptr
- FxInit uintptr
- FxShutdown uintptr
- FpAppData uintptr
-}
-
-type sqlite3_mem_methods1 = Tsqlite3_mem_methods1
-
// C documentation
//
// /*
@@ -6431,223 +6361,6 @@ type Tsqlite3_module = struct {
type sqlite3_module = Tsqlite3_module
-/*
-** CAPI3REF: Virtual Table Object
-** KEYWORDS: sqlite3_module {virtual table module}
-**
-** This structure, sometimes called a "virtual table module",
-** defines the implementation of a [virtual table].
-** This structure consists mostly of methods for the module.
-**
-** ^A virtual table module is created by filling in a persistent
-** instance of this structure and passing a pointer to that instance
-** to [sqlite3_create_module()] or [sqlite3_create_module_v2()].
-** ^The registration remains valid until it is replaced by a different
-** module or until the [database connection] closes. The content
-** of this structure must not change while it is registered with
-** any database connection.
- */
-type Tsqlite3_module1 = struct {
- FiVersion int32
- FxCreate uintptr
- FxConnect uintptr
- FxBestIndex uintptr
- FxDisconnect uintptr
- FxDestroy uintptr
- FxOpen uintptr
- FxClose uintptr
- FxFilter uintptr
- FxNext uintptr
- FxEof uintptr
- FxColumn uintptr
- FxRowid uintptr
- FxUpdate uintptr
- FxBegin uintptr
- FxSync uintptr
- FxCommit uintptr
- FxRollback uintptr
- FxFindFunction uintptr
- FxRename uintptr
- FxSavepoint uintptr
- FxRelease uintptr
- FxRollbackTo uintptr
- FxShadowName uintptr
- FxIntegrity uintptr
-}
-
-type sqlite3_module1 = Tsqlite3_module1
-
-/*
-** CAPI3REF: Virtual Table Indexing Information
-** KEYWORDS: sqlite3_index_info
-**
-** The sqlite3_index_info structure and its substructures is used as part
-** of the [virtual table] interface to
-** pass information into and receive the reply from the [xBestIndex]
-** method of a [virtual table module]. The fields under **Inputs** are the
-** inputs to xBestIndex and are read-only. xBestIndex inserts its
-** results into the **Outputs** fields.
-**
-** ^(The aConstraint[] array records WHERE clause constraints of the form:
-**
-** column OP expr
-**
-** where OP is =, <, <=, >, or >=.)^ ^(The particular operator is
-** stored in aConstraint[].op using one of the
-** [SQLITE_INDEX_CONSTRAINT_EQ | SQLITE_INDEX_CONSTRAINT_ values].)^
-** ^(The index of the column is stored in
-** aConstraint[].iColumn.)^ ^(aConstraint[].usable is TRUE if the
-** expr on the right-hand side can be evaluated (and thus the constraint
-** is usable) and false if it cannot.)^
-**
-** ^The optimizer automatically inverts terms of the form "expr OP column"
-** and makes other simplifications to the WHERE clause in an attempt to
-** get as many WHERE clause terms into the form shown above as possible.
-** ^The aConstraint[] array only reports WHERE clause terms that are
-** relevant to the particular virtual table being queried.
-**
-** ^Information about the ORDER BY clause is stored in aOrderBy[].
-** ^Each term of aOrderBy records a column of the ORDER BY clause.
-**
-** The colUsed field indicates which columns of the virtual table may be
-** required by the current scan. Virtual table columns are numbered from
-** zero in the order in which they appear within the CREATE TABLE statement
-** passed to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62),
-** the corresponding bit is set within the colUsed mask if the column may be
-** required by SQLite. If the table has at least 64 columns and any column
-** to the right of the first 63 is required, then bit 63 of colUsed is also
-** set. In other words, column iCol may be required if the expression
-** (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) evaluates to
-** non-zero.
-**
-** The [xBestIndex] method must fill aConstraintUsage[] with information
-** about what parameters to pass to xFilter. ^If argvIndex>0 then
-** the right-hand side of the corresponding aConstraint[] is evaluated
-** and becomes the argvIndex-th entry in argv. ^(If aConstraintUsage[].omit
-** is true, then the constraint is assumed to be fully handled by the
-** virtual table and might not be checked again by the byte code.)^ ^(The
-** aConstraintUsage[].omit flag is an optimization hint. When the omit flag
-** is left in its default setting of false, the constraint will always be
-** checked separately in byte code. If the omit flag is changed to true, then
-** the constraint may or may not be checked in byte code. In other words,
-** when the omit flag is true there is no guarantee that the constraint will
-** not be checked again using byte code.)^
-**
-** ^The idxNum and idxStr values are recorded and passed into the
-** [xFilter] method.
-** ^[sqlite3_free()] is used to free idxStr if and only if
-** needToFreeIdxStr is true.
-**
-** ^The orderByConsumed means that output from [xFilter]/[xNext] will occur in
-** the correct order to satisfy the ORDER BY clause so that no separate
-** sorting step is required.
-**
-** ^The estimatedCost value is an estimate of the cost of a particular
-** strategy. A cost of N indicates that the cost of the strategy is similar
-** to a linear scan of an SQLite table with N rows. A cost of log(N)
-** indicates that the expense of the operation is similar to that of a
-** binary search on a unique indexed field of an SQLite table with N rows.
-**
-** ^The estimatedRows value is an estimate of the number of rows that
-** will be returned by the strategy.
-**
-** The xBestIndex method may optionally populate the idxFlags field with a
-** mask of SQLITE_INDEX_SCAN_* flags. One such flag is
-** [SQLITE_INDEX_SCAN_HEX], which if set causes the [EXPLAIN QUERY PLAN]
-** output to show the idxNum as hex instead of as decimal. Another flag is
-** SQLITE_INDEX_SCAN_UNIQUE, which if set indicates that the query plan will
-** return at most one row.
-**
-** Additionally, if xBestIndex sets the SQLITE_INDEX_SCAN_UNIQUE flag, then
-** SQLite also assumes that if a call to the xUpdate() method is made as
-** part of the same statement to delete or update a virtual table row and the
-** implementation returns SQLITE_CONSTRAINT, then there is no need to rollback
-** any database changes. In other words, if the xUpdate() returns
-** SQLITE_CONSTRAINT, the database contents must be exactly as they were
-** before xUpdate was called. By contrast, if SQLITE_INDEX_SCAN_UNIQUE is not
-** set and xUpdate returns SQLITE_CONSTRAINT, any database changes made by
-** the xUpdate method are automatically rolled back by SQLite.
-**
-** IMPORTANT: The estimatedRows field was added to the sqlite3_index_info
-** structure for SQLite [version 3.8.2] ([dateof:3.8.2]).
-** If a virtual table extension is
-** used with an SQLite version earlier than 3.8.2, the results of attempting
-** to read or write the estimatedRows field are undefined (but are likely
-** to include crashing the application). The estimatedRows field should
-** therefore only be used if [sqlite3_libversion_number()] returns a
-** value greater than or equal to 3008002. Similarly, the idxFlags field
-** was added for [version 3.9.0] ([dateof:3.9.0]).
-** It may therefore only be used if
-** sqlite3_libversion_number() returns a value greater than or equal to
-** 3009000.
- */
-type Tsqlite3_index_info1 = struct {
- FnConstraint int32
- FaConstraint uintptr
- FnOrderBy int32
- FaOrderBy uintptr
- FaConstraintUsage uintptr
- FidxNum int32
- FidxStr uintptr
- FneedToFreeIdxStr int32
- ForderByConsumed int32
- FestimatedCost float64
- FestimatedRows Tsqlite3_int64
- FidxFlags int32
- FcolUsed Tsqlite3_uint64
-}
-
-type sqlite3_index_info1 = Tsqlite3_index_info1
-
-/*
-** CAPI3REF: Virtual Table Instance Object
-** KEYWORDS: sqlite3_vtab
-**
-** Every [virtual table module] implementation uses a subclass
-** of this object to describe a particular instance
-** of the [virtual table]. Each subclass will
-** be tailored to the specific needs of the module implementation.
-** The purpose of this superclass is to define certain fields that are
-** common to all module implementations.
-**
-** ^Virtual tables methods can set an error message by assigning a
-** string obtained from [sqlite3_mprintf()] to zErrMsg. The method should
-** take care that any prior string is freed by a call to [sqlite3_free()]
-** prior to assigning a new string to zErrMsg. ^After the error message
-** is delivered up to the client application, the string will be automatically
-** freed by sqlite3_free() and the zErrMsg field will be zeroed.
- */
-type Tsqlite3_vtab1 = struct {
- FpModule uintptr
- FnRef int32
- FzErrMsg uintptr
-}
-
-type sqlite3_vtab1 = Tsqlite3_vtab1
-
-/*
-** CAPI3REF: Virtual Table Cursor Object
-** KEYWORDS: sqlite3_vtab_cursor {virtual table cursor}
-**
-** Every [virtual table module] implementation uses a subclass of the
-** following structure to describe cursors that point into the
-** [virtual table] and are used
-** to loop through the virtual table. Cursors are created using the
-** [sqlite3_module.xOpen | xOpen] method of the module and are destroyed
-** by the [sqlite3_module.xClose | xClose] method. Cursors are used
-** by the [xFilter], [xNext], [xEof], [xColumn], and [xRowid] methods
-** of the module. Each module implementation will define
-** the content of a cursor structure to suit its own needs.
-**
-** This superclass exists in order to define fields of the cursor that
-** are common to all implementations.
- */
-type Tsqlite3_vtab_cursor1 = struct {
- FpVtab uintptr
-}
-
-type sqlite3_vtab_cursor1 = Tsqlite3_vtab_cursor1
-
// C documentation
//
// /*
@@ -6729,20 +6442,6 @@ type Tsqlite3_mutex_methods = struct {
type sqlite3_mutex_methods = Tsqlite3_mutex_methods
-type Tsqlite3_mutex_methods1 = struct {
- FxMutexInit uintptr
- FxMutexEnd uintptr
- FxMutexAlloc uintptr
- FxMutexFree uintptr
- FxMutexEnter uintptr
- FxMutexTry uintptr
- FxMutexLeave uintptr
- FxMutexHeld uintptr
- FxMutexNotheld uintptr
-}
-
-type sqlite3_mutex_methods1 = Tsqlite3_mutex_methods1
-
// C documentation
//
// /*
@@ -6792,13 +6491,6 @@ type Tsqlite3_pcache_page = struct {
type sqlite3_pcache_page = Tsqlite3_pcache_page
-type Tsqlite3_pcache_page1 = struct {
- FpBuf uintptr
- FpExtra uintptr
-}
-
-type sqlite3_pcache_page1 = Tsqlite3_pcache_page1
-
// C documentation
//
// /*
@@ -6978,24 +6670,6 @@ type Tsqlite3_pcache_methods2 = struct {
type sqlite3_pcache_methods2 = Tsqlite3_pcache_methods2
-type Tsqlite3_pcache_methods21 = struct {
- FiVersion int32
- FpArg uintptr
- FxInit uintptr
- FxShutdown uintptr
- FxCreate uintptr
- FxCachesize uintptr
- FxPagecount uintptr
- FxFetch uintptr
- FxUnpin uintptr
- FxRekey uintptr
- FxTruncate uintptr
- FxDestroy uintptr
- FxShrink uintptr
-}
-
-type sqlite3_pcache_methods21 = Tsqlite3_pcache_methods21
-
// C documentation
//
// /*
@@ -7019,22 +6693,6 @@ type Tsqlite3_pcache_methods = struct {
type sqlite3_pcache_methods = Tsqlite3_pcache_methods
-type Tsqlite3_pcache_methods1 = struct {
- FpArg uintptr
- FxInit uintptr
- FxShutdown uintptr
- FxCreate uintptr
- FxCachesize uintptr
- FxPagecount uintptr
- FxFetch uintptr
- FxUnpin uintptr
- FxRekey uintptr
- FxTruncate uintptr
- FxDestroy uintptr
-}
-
-type sqlite3_pcache_methods1 = Tsqlite3_pcache_methods1
-
// C documentation
//
// /*
@@ -7175,50 +6833,6 @@ type Tsqlite3_rtree_dbl = float64
type sqlite3_rtree_dbl = Tsqlite3_rtree_dbl
-/*
-** A pointer to a structure of the following type is passed as the first
-** argument to callbacks registered using rtree_geometry_callback().
- */
-type Tsqlite3_rtree_geometry1 = struct {
- FpContext uintptr
- FnParam int32
- FaParam uintptr
- FpUser uintptr
- FxDelUser uintptr
-}
-
-type sqlite3_rtree_geometry1 = Tsqlite3_rtree_geometry1
-
-/*
-** A pointer to a structure of the following type is passed as the
-** argument to scored geometry callback registered using
-** sqlite3_rtree_query_callback().
-**
-** Note that the first 5 fields of this structure are identical to
-** sqlite3_rtree_geometry. This structure is a subclass of
-** sqlite3_rtree_geometry.
- */
-type Tsqlite3_rtree_query_info1 = struct {
- FpContext uintptr
- FnParam int32
- FaParam uintptr
- FpUser uintptr
- FxDelUser uintptr
- FaCoord uintptr
- FanQueue uintptr
- FnCoord int32
- FiLevel int32
- FmxLevel int32
- FiRowid Tsqlite3_int64
- FrParentScore Tsqlite3_rtree_dbl
- FeParentWithin int32
- FeWithin int32
- FrScore Tsqlite3_rtree_dbl
- FapSqlParam uintptr
-}
-
-type sqlite3_rtree_query_info1 = Tsqlite3_rtree_query_info1
-
/*
** Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin.
*/
@@ -7615,340 +7229,6 @@ type Tfts5_extension_function = uintptr
type fts5_extension_function = Tfts5_extension_function
-type TFts5PhraseIter1 = struct {
- Fa uintptr
- Fb uintptr
-}
-
-type Fts5PhraseIter1 = TFts5PhraseIter1
-
-/*
-** EXTENSION API FUNCTIONS
-**
-** xUserData(pFts):
-** Return a copy of the pUserData pointer passed to the xCreateFunction()
-** API when the extension function was registered.
-**
-** xColumnTotalSize(pFts, iCol, pnToken):
-** If parameter iCol is less than zero, set output variable *pnToken
-** to the total number of tokens in the FTS5 table. Or, if iCol is
-** non-negative but less than the number of columns in the table, return
-** the total number of tokens in column iCol, considering all rows in
-** the FTS5 table.
-**
-** If parameter iCol is greater than or equal to the number of columns
-** in the table, SQLITE_RANGE is returned. Or, if an error occurs (e.g.
-** an OOM condition or IO error), an appropriate SQLite error code is
-** returned.
-**
-** xColumnCount(pFts):
-** Return the number of columns in the table.
-**
-** xColumnSize(pFts, iCol, pnToken):
-** If parameter iCol is less than zero, set output variable *pnToken
-** to the total number of tokens in the current row. Or, if iCol is
-** non-negative but less than the number of columns in the table, set
-** *pnToken to the number of tokens in column iCol of the current row.
-**
-** If parameter iCol is greater than or equal to the number of columns
-** in the table, SQLITE_RANGE is returned. Or, if an error occurs (e.g.
-** an OOM condition or IO error), an appropriate SQLite error code is
-** returned.
-**
-** This function may be quite inefficient if used with an FTS5 table
-** created with the "columnsize=0" option.
-**
-** xColumnText:
-** If parameter iCol is less than zero, or greater than or equal to the
-** number of columns in the table, SQLITE_RANGE is returned.
-**
-** Otherwise, this function attempts to retrieve the text of column iCol of
-** the current document. If successful, (*pz) is set to point to a buffer
-** containing the text in utf-8 encoding, (*pn) is set to the size in bytes
-** (not characters) of the buffer and SQLITE_OK is returned. Otherwise,
-** if an error occurs, an SQLite error code is returned and the final values
-** of (*pz) and (*pn) are undefined.
-**
-** xPhraseCount:
-** Returns the number of phrases in the current query expression.
-**
-** xPhraseSize:
-** If parameter iCol is less than zero, or greater than or equal to the
-** number of phrases in the current query, as returned by xPhraseCount,
-** 0 is returned. Otherwise, this function returns the number of tokens in
-** phrase iPhrase of the query. Phrases are numbered starting from zero.
-**
-** xInstCount:
-** Set *pnInst to the total number of occurrences of all phrases within
-** the query within the current row. Return SQLITE_OK if successful, or
-** an error code (i.e. SQLITE_NOMEM) if an error occurs.
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option. If the FTS5 table is created
-** with either "detail=none" or "detail=column" and "content=" option
-** (i.e. if it is a contentless table), then this API always returns 0.
-**
-** xInst:
-** Query for the details of phrase match iIdx within the current row.
-** Phrase matches are numbered starting from zero, so the iIdx argument
-** should be greater than or equal to zero and smaller than the value
-** output by xInstCount(). If iIdx is less than zero or greater than
-** or equal to the value returned by xInstCount(), SQLITE_RANGE is returned.
-**
-** Otherwise, output parameter *piPhrase is set to the phrase number, *piCol
-** to the column in which it occurs and *piOff the token offset of the
-** first token of the phrase. SQLITE_OK is returned if successful, or an
-** error code (i.e. SQLITE_NOMEM) if an error occurs.
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option.
-**
-** xRowid:
-** Returns the rowid of the current row.
-**
-** xTokenize:
-** Tokenize text using the tokenizer belonging to the FTS5 table.
-**
-** xQueryPhrase(pFts5, iPhrase, pUserData, xCallback):
-** This API function is used to query the FTS table for phrase iPhrase
-** of the current query. Specifically, a query equivalent to:
-**
-** ... FROM ftstable WHERE ftstable MATCH $p ORDER BY rowid
-**
-** with $p set to a phrase equivalent to the phrase iPhrase of the
-** current query is executed. Any column filter that applies to
-** phrase iPhrase of the current query is included in $p. For each
-** row visited, the callback function passed as the fourth argument
-** is invoked. The context and API objects passed to the callback
-** function may be used to access the properties of each matched row.
-** Invoking Api.xUserData() returns a copy of the pointer passed as
-** the third argument to pUserData.
-**
-** If parameter iPhrase is less than zero, or greater than or equal to
-** the number of phrases in the query, as returned by xPhraseCount(),
-** this function returns SQLITE_RANGE.
-**
-** If the callback function returns any value other than SQLITE_OK, the
-** query is abandoned and the xQueryPhrase function returns immediately.
-** If the returned value is SQLITE_DONE, xQueryPhrase returns SQLITE_OK.
-** Otherwise, the error code is propagated upwards.
-**
-** If the query runs to completion without incident, SQLITE_OK is returned.
-** Or, if some error occurs before the query completes or is aborted by
-** the callback, an SQLite error code is returned.
-**
-**
-** xSetAuxdata(pFts5, pAux, xDelete)
-**
-** Save the pointer passed as the second argument as the extension function's
-** "auxiliary data". The pointer may then be retrieved by the current or any
-** future invocation of the same fts5 extension function made as part of
-** the same MATCH query using the xGetAuxdata() API.
-**
-** Each extension function is allocated a single auxiliary data slot for
-** each FTS query (MATCH expression). If the extension function is invoked
-** more than once for a single FTS query, then all invocations share a
-** single auxiliary data context.
-**
-** If there is already an auxiliary data pointer when this function is
-** invoked, then it is replaced by the new pointer. If an xDelete callback
-** was specified along with the original pointer, it is invoked at this
-** point.
-**
-** The xDelete callback, if one is specified, is also invoked on the
-** auxiliary data pointer after the FTS5 query has finished.
-**
-** If an error (e.g. an OOM condition) occurs within this function,
-** the auxiliary data is set to NULL and an error code returned. If the
-** xDelete parameter was not NULL, it is invoked on the auxiliary data
-** pointer before returning.
-**
-**
-** xGetAuxdata(pFts5, bClear)
-**
-** Returns the current auxiliary data pointer for the fts5 extension
-** function. See the xSetAuxdata() method for details.
-**
-** If the bClear argument is non-zero, then the auxiliary data is cleared
-** (set to NULL) before this function returns. In this case the xDelete,
-** if any, is not invoked.
-**
-**
-** xRowCount(pFts5, pnRow)
-**
-** This function is used to retrieve the total number of rows in the table.
-** In other words, the same value that would be returned by:
-**
-** SELECT count(*) FROM ftstable;
-**
-** xPhraseFirst()
-** This function is used, along with type Fts5PhraseIter and the xPhraseNext
-** method, to iterate through all instances of a single query phrase within
-** the current row. This is the same information as is accessible via the
-** xInstCount/xInst APIs. While the xInstCount/xInst APIs are more convenient
-** to use, this API may be faster under some circumstances. To iterate
-** through instances of phrase iPhrase, use the following code:
-**
-** Fts5PhraseIter iter;
-** int iCol, iOff;
-** for(pApi->xPhraseFirst(pFts, iPhrase, &iter, &iCol, &iOff);
-** iCol>=0;
-** pApi->xPhraseNext(pFts, &iter, &iCol, &iOff)
-** ){
-** // An instance of phrase iPhrase at offset iOff of column iCol
-** }
-**
-** The Fts5PhraseIter structure is defined above. Applications should not
-** modify this structure directly - it should only be used as shown above
-** with the xPhraseFirst() and xPhraseNext() API methods (and by
-** xPhraseFirstColumn() and xPhraseNextColumn() as illustrated below).
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option. If the FTS5 table is created
-** with either "detail=none" or "detail=column" and "content=" option
-** (i.e. if it is a contentless table), then this API always iterates
-** through an empty set (all calls to xPhraseFirst() set iCol to -1).
-**
-** In all cases, matches are visited in (column ASC, offset ASC) order.
-** i.e. all those in column 0, sorted by offset, followed by those in
-** column 1, etc.
-**
-** xPhraseNext()
-** See xPhraseFirst above.
-**
-** xPhraseFirstColumn()
-** This function and xPhraseNextColumn() are similar to the xPhraseFirst()
-** and xPhraseNext() APIs described above. The difference is that instead
-** of iterating through all instances of a phrase in the current row, these
-** APIs are used to iterate through the set of columns in the current row
-** that contain one or more instances of a specified phrase. For example:
-**
-** Fts5PhraseIter iter;
-** int iCol;
-** for(pApi->xPhraseFirstColumn(pFts, iPhrase, &iter, &iCol);
-** iCol>=0;
-** pApi->xPhraseNextColumn(pFts, &iter, &iCol)
-** ){
-** // Column iCol contains at least one instance of phrase iPhrase
-** }
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" option. If the FTS5 table is created with either
-** "detail=none" "content=" option (i.e. if it is a contentless table),
-** then this API always iterates through an empty set (all calls to
-** xPhraseFirstColumn() set iCol to -1).
-**
-** The information accessed using this API and its companion
-** xPhraseFirstColumn() may also be obtained using xPhraseFirst/xPhraseNext
-** (or xInst/xInstCount). The chief advantage of this API is that it is
-** significantly more efficient than those alternatives when used with
-** "detail=column" tables.
-**
-** xPhraseNextColumn()
-** See xPhraseFirstColumn above.
-**
-** xQueryToken(pFts5, iPhrase, iToken, ppToken, pnToken)
-** This is used to access token iToken of phrase iPhrase of the current
-** query. Before returning, output parameter *ppToken is set to point
-** to a buffer containing the requested token, and *pnToken to the
-** size of this buffer in bytes.
-**
-** If iPhrase or iToken are less than zero, or if iPhrase is greater than
-** or equal to the number of phrases in the query as reported by
-** xPhraseCount(), or if iToken is equal to or greater than the number of
-** tokens in the phrase, SQLITE_RANGE is returned and *ppToken and *pnToken
-
- are both zeroed.
-
-**
-** The output text is not a copy of the query text that specified the
-** token. It is the output of the tokenizer module. For tokendata=1
-** tables, this includes any embedded 0x00 and trailing data.
-**
-** xInstToken(pFts5, iIdx, iToken, ppToken, pnToken)
-** This is used to access token iToken of phrase hit iIdx within the
-** current row. If iIdx is less than zero or greater than or equal to the
-** value returned by xInstCount(), SQLITE_RANGE is returned. Otherwise,
-** output variable (*ppToken) is set to point to a buffer containing the
-** matching document token, and (*pnToken) to the size of that buffer in
-** bytes.
-**
-** The output text is not a copy of the document text that was tokenized.
-** It is the output of the tokenizer module. For tokendata=1 tables, this
-** includes any embedded 0x00 and trailing data.
-**
-** This API may be slow in some cases if the token identified by parameters
-** iIdx and iToken matched a prefix token in the query. In most cases, the
-** first call to this API for each prefix token in the query is forced
-** to scan the portion of the full-text index that matches the prefix
-** token to collect the extra data required by this API. If the prefix
-** token matches a large number of token instances in the document set,
-** this may be a performance problem.
-**
-** If the user knows in advance that a query may use this API for a
-** prefix token, FTS5 may be configured to collect all required data as part
-** of the initial querying of the full-text index, avoiding the second scan
-** entirely. This also causes prefix queries that do not use this API to
-** run more slowly and use more memory. FTS5 may be configured in this way
-** either on a per-table basis using the [FTS5 insttoken | 'insttoken']
-** option, or on a per-query basis using the
-** [fts5_insttoken | fts5_insttoken()] user function.
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option.
-**
-** xColumnLocale(pFts5, iIdx, pzLocale, pnLocale)
-** If parameter iCol is less than zero, or greater than or equal to the
-** number of columns in the table, SQLITE_RANGE is returned.
-**
-** Otherwise, this function attempts to retrieve the locale associated
-** with column iCol of the current row. Usually, there is no associated
-** locale, and output parameters (*pzLocale) and (*pnLocale) are set
-** to NULL and 0, respectively. However, if the fts5_locale() function
-** was used to associate a locale with the value when it was inserted
-** into the fts5 table, then (*pzLocale) is set to point to a nul-terminated
-** buffer containing the name of the locale in utf-8 encoding. (*pnLocale)
-** is set to the size in bytes of the buffer, not including the
-** nul-terminator.
-**
-** If successful, SQLITE_OK is returned. Or, if an error occurs, an
-** SQLite error code is returned. The final value of the output parameters
-** is undefined in this case.
-**
-** xTokenize_v2:
-** Tokenize text using the tokenizer belonging to the FTS5 table. This
-** API is the same as the xTokenize() API, except that it allows a tokenizer
-** locale to be specified.
-*/
-type TFts5ExtensionApi1 = struct {
- FiVersion int32
- FxUserData uintptr
- FxColumnCount uintptr
- FxRowCount uintptr
- FxColumnTotalSize uintptr
- FxTokenize uintptr
- FxPhraseCount uintptr
- FxPhraseSize uintptr
- FxInstCount uintptr
- FxInst uintptr
- FxRowid uintptr
- FxColumnText uintptr
- FxColumnSize uintptr
- FxQueryPhrase uintptr
- FxSetAuxdata uintptr
- FxGetAuxdata uintptr
- FxPhraseFirst uintptr
- FxPhraseNext uintptr
- FxPhraseFirstColumn uintptr
- FxPhraseNextColumn uintptr
- FxQueryToken uintptr
- FxInstToken uintptr
- FxColumnLocale uintptr
- FxTokenize_v2 uintptr
-}
-
-type Fts5ExtensionApi1 = TFts5ExtensionApi1
-
type Tfts5_tokenizer_v2 = struct {
FiVersion int32
FxCreate uintptr
@@ -7958,15 +7238,6 @@ type Tfts5_tokenizer_v2 = struct {
type fts5_tokenizer_v2 = Tfts5_tokenizer_v2
-type Tfts5_tokenizer_v21 = struct {
- FiVersion int32
- FxCreate uintptr
- FxDelete uintptr
- FxTokenize uintptr
-}
-
-type fts5_tokenizer_v21 = Tfts5_tokenizer_v21
-
// C documentation
//
// /*
@@ -7982,14 +7253,6 @@ type Tfts5_tokenizer = struct {
type fts5_tokenizer = Tfts5_tokenizer
-type Tfts5_tokenizer1 = struct {
- FxCreate uintptr
- FxDelete uintptr
- FxTokenize uintptr
-}
-
-type fts5_tokenizer1 = Tfts5_tokenizer1
-
/* Flags that may be passed as the third argument to xTokenize() */
/* Flags that may be passed by the tokenizer implementation back to FTS5
@@ -8015,17 +7278,6 @@ type Tfts5_api = struct {
type fts5_api = Tfts5_api
-type Tfts5_api1 = struct {
- FiVersion int32
- FxCreateTokenizer uintptr
- FxFindTokenizer uintptr
- FxCreateFunction uintptr
- FxCreateTokenizer_v2 uintptr
- FxFindTokenizer_v2 uintptr
-}
-
-type fts5_api1 = Tfts5_api1
-
/*
** END OF REGISTRATION API
*************************************************************************/
@@ -8469,52 +7721,6 @@ type THashElem = struct {
type HashElem = THashElem
-/* A complete hash table is an instance of the following structure.
-** The internals of this structure are intended to be opaque -- client
-** code should not attempt to access or modify the fields of this structure
-** directly. Change this structure only by using the routines below.
-** However, some of the "procedures" and "functions" for modifying and
-** accessing this structure are really macros, so we can't really make
-** this structure opaque.
-**
-** All elements of the hash table are on a single doubly-linked list.
-** Hash.first points to the head of this list.
-**
-** There are Hash.htsize buckets. Each bucket points to a spot in
-** the global doubly-linked list. The contents of the bucket are the
-** element pointed to plus the next _ht.count-1 elements in the list.
-**
-** Hash.htsize and Hash.ht may be zero. In that case lookup is done
-** by a linear search of the global list. For small tables, the
-** Hash.ht table is never allocated because if there are few elements
-** in the table, it is faster to do a linear search than to manage
-** the hash table.
- */
-type THash1 = struct {
- Fhtsize uint32
- Fcount uint32
- Ffirst uintptr
- Fht uintptr
-}
-
-type Hash1 = THash1
-
-/* Each element in the hash table is an instance of the following
-** structure. All elements are stored on a single doubly-linked list.
-**
-** Again, this structure is intended to be opaque, but it can't really
-** be opaque because it is used by macros.
- */
-type THashElem1 = struct {
- Fnext uintptr
- Fprev uintptr
- Fdata uintptr
- FpKey uintptr
- Fh uint32
-}
-
-type HashElem1 = THashElem1
-
type t__int8_t = int8
type t__uint8_t = uint8
@@ -10340,14 +9546,6 @@ type TBusyHandler = struct {
type BusyHandler = TBusyHandler
-type TBusyHandler1 = struct {
- FxBusyHandler uintptr
- FpBusyArg uintptr
- FnBusy int32
-}
-
-type BusyHandler1 = TBusyHandler1
-
/*
** Name of table that holds the database schema.
**
@@ -10592,6 +9790,7 @@ type TExpr = struct {
FpAggInfo uintptr
Fy struct {
FpWin [0]uintptr
+ FnReg [0]int32
Fsub [0]struct {
FiAddr int32
FregReturn int32
@@ -11077,10 +10276,6 @@ type TStrAccum = struct {
type StrAccum = TStrAccum
-type Tsqlite3_str1 = TStrAccum
-
-type sqlite3_str1 = Tsqlite3_str1
-
/* Internal alias for sqlite3_str */
type TTable = struct {
FzName uintptr
@@ -11509,9 +10704,9 @@ type DbPage = TDbPage
// /*
// ** Handle type for pages.
// */
-type TPgHdr2 = TDbPage
+type TPgHdr = TDbPage
-type PgHdr2 = TPgHdr2
+type PgHdr = TPgHdr
/* Functions to support testing and debugging. */
@@ -11638,53 +10833,6 @@ type TBtreePayload = struct {
type BtreePayload = TBtreePayload
-/* Allowed flags for sqlite3BtreeDelete() and sqlite3BtreeInsert() */
-
-/* An instance of the BtreePayload object describes the content of a single
-** entry in either an index or table btree.
-**
-** Index btrees (used for indexes and also WITHOUT ROWID tables) contain
-** an arbitrary key and no data. These btrees have pKey,nKey set to the
-** key and the pData,nData,nZero fields are uninitialized. The aMem,nMem
-** fields give an array of Mem objects that are a decomposition of the key.
-** The nMem field might be zero, indicating that no decomposition is available.
-**
-** Table btrees (used for rowid tables) contain an integer rowid used as
-** the key and passed in the nKey field. The pKey field is zero.
-** pData,nData hold the content of the new entry. nZero extra zero bytes
-** are appended to the end of the content when constructing the entry.
-** The aMem,nMem fields are uninitialized for table btrees.
-**
-** Field usage summary:
-**
-** Table BTrees Index Btrees
-**
-** pKey always NULL encoded key
-** nKey the ROWID length of pKey
-** pData data not used
-** aMem not used decomposed key value
-** nMem not used entries in aMem
-** nData length of pData not used
-** nZero extra zeros after pData not used
-**
-** This object is used to pass information into sqlite3BtreeInsert(). The
-** same information used to be passed as five separate parameters. But placing
-** the information into this object helps to keep the interface more
-** organized and understandable, and it also helps the resulting code to
-** run a little faster by using fewer registers for parameter passing.
- */
-type TBtreePayload1 = struct {
- FpKey uintptr
- FnKey Tsqlite3_int64
- FpData uintptr
- FaMem uintptr
- FnMem Tu16
- FnData int32
- FnZero int32
-}
-
-type BtreePayload1 = TBtreePayload1
-
/************** End of btree.h ***********************************************/
/************** Continuing where we left off in sqliteInt.h ******************/
/************** Include vdbe.h in the middle of sqliteInt.h ******************/
@@ -11788,16 +10936,6 @@ type TMem = struct {
type Mem = TMem
-// C documentation
-//
-// /*
-// ** The names of the following types declared in vdbeInt.h are required
-// ** for the VdbeOp definition.
-// */
-type Tsqlite3_value1 = TMem
-
-type sqlite3_value1 = Tsqlite3_value1
-
type TSubProgram = struct {
FaOp uintptr
FnOp int32
@@ -11821,38 +10959,11 @@ type TSubrtnSig = struct {
type SubrtnSig = TSubrtnSig
-/*
-** A signature for a reusable subroutine that materializes the RHS of
-** an IN operator.
- */
-type TSubrtnSig1 = struct {
- FselId int32
- FbComplete Tu8
- FzAff uintptr
- FiTable int32
- FiAddr int32
- FregReturn int32
-}
-
-type SubrtnSig1 = TSubrtnSig1
-
/*
** A single instruction of the virtual machine has an opcode
** and as many as three operands. The instruction is recorded
** as an instance of the following structure:
*/
-type TVdbeOp1 = struct {
- Fopcode Tu8
- Fp4type int8
- Fp5 Tu16
- Fp1 int32
- Fp2 int32
- Fp3 int32
- Fp4 Tp4union
-}
-
-type VdbeOp1 = TVdbeOp1
-
type TVdbeOp = struct {
Fopcode Tu8
Fp4type int8
@@ -11865,34 +10976,10 @@ type TVdbeOp = struct {
type VdbeOp = TVdbeOp
-/*
-** A sub-routine used to implement a trigger program.
- */
-type TSubProgram1 = struct {
- FaOp uintptr
- FnOp int32
- FnMem int32
- FnCsr int32
- FaOnce uintptr
- Ftoken uintptr
- FpNext uintptr
-}
-
-type SubProgram1 = TSubProgram1
-
/*
** A smaller version of VdbeOp used for the VdbeAddOpList() function because
** it takes up less space.
*/
-type TVdbeOpList1 = struct {
- Fopcode Tu8
- Fp1 int8
- Fp2 int8
- Fp3 int8
-}
-
-type VdbeOpList1 = TVdbeOpList1
-
type TVdbeOpList = struct {
Fopcode Tu8
Fp1 int8
@@ -11906,90 +10993,6 @@ type TRecordCompare = uintptr
type RecordCompare = TRecordCompare
-/* Use SQLITE_ENABLE_EXPLAIN_COMMENTS to enable generation of extra
-** comments on each VDBE opcode.
-**
-** Use the SQLITE_ENABLE_MODULE_COMMENTS macro to see some extra no-op
-** comments in VDBE programs that show key decision points in the code
-** generator.
- */
-
-/*
-** The VdbeCoverage macros are used to set a coverage testing point
-** for VDBE branch instructions. The coverage testing points are line
-** numbers in the sqlite3.c source file. VDBE branch coverage testing
-** only works with an amalgamation build. That's ok since a VDBE branch
-** coverage build designed for testing the test suite only. No application
-** should ever ship with VDBE branch coverage measuring turned on.
-**
-** VdbeCoverage(v) // Mark the previously coded instruction
-** // as a branch
-**
-** VdbeCoverageIf(v, conditional) // Mark previous if conditional true
-**
-** VdbeCoverageAlwaysTaken(v) // Previous branch is always taken
-**
-** VdbeCoverageNeverTaken(v) // Previous branch is never taken
-**
-** VdbeCoverageNeverNull(v) // Previous three-way branch is only
-** // taken on the first two ways. The
-** // NULL option is not possible
-**
-** VdbeCoverageEqNe(v) // Previous OP_Jump is only interested
-** // in distinguishing equal and not-equal.
-**
-** Every VDBE branch operation must be tagged with one of the macros above.
-** If not, then when "make test" is run with -DSQLITE_VDBE_COVERAGE and
-** -DSQLITE_DEBUG then an ALWAYS() will fail in the vdbeTakeBranch()
-** routine in vdbe.c, alerting the developer to the missed tag.
-**
-** During testing, the test application will invoke
-** sqlite3_test_control(SQLITE_TESTCTRL_VDBE_COVERAGE,...) to set a callback
-** routine that is invoked as each bytecode branch is taken. The callback
-** contains the sqlite3.c source line number of the VdbeCoverage macro and
-** flags to indicate whether or not the branch was taken. The test application
-** is responsible for keeping track of this and reporting byte-code branches
-** that are never taken.
-**
-** See the VdbeBranchTaken() macro and vdbeTakeBranch() function in the
-** vdbe.c source file for additional information.
- */
-
-/************** End of vdbe.h ************************************************/
-/************** Continuing where we left off in sqliteInt.h ******************/
-/************** Include pcache.h in the middle of sqliteInt.h ****************/
-/************** Begin file pcache.h ******************************************/
-/*
-** 2008 August 05
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This header file defines the interface that the sqlite page cache
-** subsystem.
- */
-
-type TPgHdr = struct {
- FpPage uintptr
- FpData uintptr
- FpExtra uintptr
- FpCache uintptr
- FpDirty uintptr
- FpPager uintptr
- Fpgno TPgno
- Fflags Tu16
- FnRef Ti64
- FpDirtyNext uintptr
- FpDirtyPrev uintptr
-}
-
-type PgHdr = TPgHdr
-
type TPCache = struct {
FpDirty uintptr
FpDirtyTail uintptr
@@ -12008,187 +11011,6 @@ type TPCache = struct {
type PCache = TPCache
-/************** End of mutex.h ***********************************************/
-/************** Continuing where we left off in sqliteInt.h ******************/
-
-/* The SQLITE_EXTRA_DURABLE compile-time option used to set the default
-** synchronous setting to EXTRA. It is no longer supported.
- */
-
-/*
-** Default synchronous levels.
-**
-** Note that (for historical reasons) the PAGER_SYNCHRONOUS_* macros differ
-** from the SQLITE_DEFAULT_SYNCHRONOUS value by 1.
-**
-** PAGER_SYNCHRONOUS DEFAULT_SYNCHRONOUS
-** OFF 1 0
-** NORMAL 2 1
-** FULL 3 2
-** EXTRA 4 3
-**
-** The "PRAGMA synchronous" statement also uses the zero-based numbers.
-** In other words, the zero-based numbers are used for all external interfaces
-** and the one-based values are used internally.
- */
-
-/*
-** Each database file to be accessed by the system is an instance
-** of the following structure. There are normally two of these structures
-** in the sqlite.aDb[] array. aDb[0] is the main database file and
-** aDb[1] is the database file used to hold temporary tables. Additional
-** databases may be attached.
- */
-type TDb1 = struct {
- FzDbSName uintptr
- FpBt uintptr
- Fsafety_level Tu8
- FbSyncSet Tu8
- FpSchema uintptr
-}
-
-type Db1 = TDb1
-
-/*
-** An instance of the following structure stores a database schema.
-**
-** Most Schema objects are associated with a Btree. The exception is
-** the Schema for the TEMP database (sqlite3.aDb[1]) which is free-standing.
-** In shared cache mode, a single Schema object can be shared by multiple
-** Btrees that refer to the same underlying BtShared object.
-**
-** Schema objects are automatically deallocated when the last Btree that
-** references them is destroyed. The TEMP Schema is manually freed by
-** sqlite3_close().
-*
-** A thread must be holding a mutex on the corresponding Btree in order
-** to access Schema content. This implies that the thread must also be
-** holding a mutex on the sqlite3 connection pointer that owns the Btree.
-** For a TEMP Schema, only the connection mutex is required.
- */
-type TSchema1 = struct {
- Fschema_cookie int32
- FiGeneration int32
- FtblHash THash
- FidxHash THash
- FtrigHash THash
- FfkeyHash THash
- FpSeqTab uintptr
- Ffile_format Tu8
- Fenc Tu8
- FschemaFlags Tu16
- Fcache_size int32
-}
-
-type Schema1 = TSchema1
-
-/*
-** These macros can be used to test, set, or clear bits in the
-** Db.pSchema->flags field.
- */
-
-/*
-** Allowed values for the DB.pSchema->flags field.
-**
-** The DB_SchemaLoaded flag is set after the database schema has been
-** read into internal hash tables.
-**
-** DB_UnresetViews means that one or more views have column names that
-** have been filled out. If the schema changes, these column names might
-** changes and so the view will need to be reset.
- */
-
-/*
-** The number of different kinds of things that can be limited
-** using the sqlite3_limit() interface.
- */
-
-/*
-** Lookaside malloc is a set of fixed-size buffers that can be used
-** to satisfy small transient memory allocation requests for objects
-** associated with a particular database connection. The use of
-** lookaside malloc provides a significant performance enhancement
-** (approx 10%) by avoiding numerous malloc/free requests while parsing
-** SQL statements.
-**
-** The Lookaside structure holds configuration information about the
-** lookaside malloc subsystem. Each available memory allocation in
-** the lookaside subsystem is stored on a linked list of LookasideSlot
-** objects.
-**
-** Lookaside allocations are only allowed for objects that are associated
-** with a particular database connection. Hence, schema information cannot
-** be stored in lookaside because in shared cache mode the schema information
-** is shared by multiple database connections. Therefore, while parsing
-** schema information, the Lookaside.bEnabled flag is cleared so that
-** lookaside allocations are not used to construct the schema objects.
-**
-** New lookaside allocations are only allowed if bDisable==0. When
-** bDisable is greater than zero, sz is set to zero which effectively
-** disables lookaside without adding a new test for the bDisable flag
-** in a performance-critical path. sz should be set by to szTrue whenever
-** bDisable changes back to zero.
-**
-** Lookaside buffers are initially held on the pInit list. As they are
-** used and freed, they are added back to the pFree list. New allocations
-** come off of pFree first, then pInit as a fallback. This dual-list
-** allows use to compute a high-water mark - the maximum number of allocations
-** outstanding at any point in the past - by subtracting the number of
-** allocations on the pInit list from the total number of allocations.
-**
-** Enhancement on 2019-12-12: Two-size-lookaside
-** The default lookaside configuration is 100 slots of 1200 bytes each.
-** The larger slot sizes are important for performance, but they waste
-** a lot of space, as most lookaside allocations are less than 128 bytes.
-** The two-size-lookaside enhancement breaks up the lookaside allocation
-** into two pools: One of 128-byte slots and the other of the default size
-** (1200-byte) slots. Allocations are filled from the small-pool first,
-** failing over to the full-size pool if that does not work. Thus more
-** lookaside slots are available while also using less memory.
-** This enhancement can be omitted by compiling with
-** SQLITE_OMIT_TWOSIZE_LOOKASIDE.
- */
-type TLookaside1 = struct {
- FbDisable Tu32
- Fsz Tu16
- FszTrue Tu16
- FbMalloced Tu8
- FnSlot Tu32
- FanStat [3]Tu32
- FpInit uintptr
- FpFree uintptr
- FpSmallInit uintptr
- FpSmallFree uintptr
- FpMiddle uintptr
- FpStart uintptr
- FpEnd uintptr
- FpTrueEnd uintptr
-}
-
-type Lookaside1 = TLookaside1
-
-type TLookasideSlot1 = struct {
- FpNext uintptr
-}
-
-type LookasideSlot1 = TLookasideSlot1
-
-/* Size of the smaller allocations in two-size lookaside */
-
-/*
-** A hash table for built-in function definitions. (Application-defined
-** functions use a regular table table from hash.h.)
-**
-** Hash each FuncDef structure into one of the FuncDefHash.a[] slots.
-** Collisions are on the FuncDef.u.pHash chain. Use the SQLITE_FUNC_HASH()
-** macro to compute a hash on the function name.
- */
-type TFuncDefHash1 = struct {
- Fa [23]uintptr
-}
-
-type FuncDefHash1 = TFuncDefHash1
-
// C documentation
//
// /*
@@ -12198,917 +11020,6 @@ type Tsqlite3_xauth = uintptr
type sqlite3_xauth = Tsqlite3_xauth
-/* This is an extra SQLITE_TRACE macro that indicates "legacy" tracing
-** in the style of sqlite3_trace()
- */
-
-/*
-** Maximum number of sqlite3.aDb[] entries. This is the number of attached
-** databases plus 2 for "main" and "temp".
- */
-
-/*
-** Each database connection is an instance of the following structure.
- */
-type Tsqlite31 = struct {
- FpVfs uintptr
- FpVdbe uintptr
- FpDfltColl uintptr
- Fmutex uintptr
- FaDb uintptr
- FnDb int32
- FmDbFlags Tu32
- Fflags Tu64
- FlastRowid Ti64
- FszMmap Ti64
- FnSchemaLock Tu32
- FopenFlags uint32
- FerrCode int32
- FerrByteOffset int32
- FerrMask int32
- FiSysErrno int32
- FdbOptFlags Tu32
- Fenc Tu8
- FautoCommit Tu8
- Ftemp_store Tu8
- FmallocFailed Tu8
- FbBenignMalloc Tu8
- FdfltLockMode Tu8
- FnextAutovac int8
- FsuppressErr Tu8
- FvtabOnConflict Tu8
- FisTransactionSavepoint Tu8
- FmTrace Tu8
- FnoSharedCache Tu8
- FnSqlExec Tu8
- FeOpenState Tu8
- FnextPagesize int32
- FnChange Ti64
- FnTotalChange Ti64
- FaLimit [12]int32
- FnMaxSorterMmap int32
- Finit1 Tsqlite3InitInfo
- FnVdbeActive int32
- FnVdbeRead int32
- FnVdbeWrite int32
- FnVdbeExec int32
- FnVDestroy int32
- FnExtension int32
- FaExtension uintptr
- Ftrace struct {
- FxV2 [0]uintptr
- FxLegacy uintptr
- }
- FpTraceArg uintptr
- FxProfile uintptr
- FpProfileArg uintptr
- FpCommitArg uintptr
- FxCommitCallback uintptr
- FpRollbackArg uintptr
- FxRollbackCallback uintptr
- FpUpdateArg uintptr
- FxUpdateCallback uintptr
- FpAutovacPagesArg uintptr
- FxAutovacDestr uintptr
- FxAutovacPages uintptr
- FpParse uintptr
- FpPreUpdateArg uintptr
- FxPreUpdateCallback uintptr
- FpPreUpdate uintptr
- FxWalCallback uintptr
- FpWalArg uintptr
- FxCollNeeded uintptr
- FxCollNeeded16 uintptr
- FpCollNeededArg uintptr
- FpErr uintptr
- Fu1 struct {
- FnotUsed1 [0]float64
- FisInterrupted int32
- F__ccgo_pad2 [4]byte
- }
- Flookaside TLookaside
- FxAuth Tsqlite3_xauth
- FpAuthArg uintptr
- FxProgress uintptr
- FpProgressArg uintptr
- FnProgressOps uint32
- FnVTrans int32
- FaModule THash
- FpVtabCtx uintptr
- FaVTrans uintptr
- FpDisconnect uintptr
- FaFunc THash
- FaCollSeq THash
- FbusyHandler TBusyHandler
- FaDbStatic [2]TDb
- FpSavepoint uintptr
- FnAnalysisLimit int32
- FbusyTimeout int32
- FnSavepoint int32
- FnStatement int32
- FnDeferredCons Ti64
- FnDeferredImmCons Ti64
- FpnBytesFreed uintptr
- FpDbData uintptr
- FpBlockingConnection uintptr
- FpUnlockConnection uintptr
- FpUnlockArg uintptr
- FxUnlockNotify uintptr
- FpNextBlocked uintptr
-}
-
-type sqlite31 = Tsqlite31
-
-/*
-** A macro to discover the encoding of a database.
- */
-
-/*
-** A u64 constant where the lower 32 bits are all zeros. Only the
-** upper 32 bits are included in the argument. Necessary because some
-** C-compilers still do not accept LL integer literals.
- */
-
-/*
-** Possible values for the sqlite3.flags.
-**
-** Value constraints (enforced via assert()):
-** SQLITE_FullFSync == PAGER_FULLFSYNC
-** SQLITE_CkptFullFSync == PAGER_CKPT_FULLFSYNC
-** SQLITE_CacheSpill == PAGER_CACHE_SPILL
- */
-/* result set is empty */
-/* DELETE, or UPDATE and return */
-/* the count using a callback. */
-
-/* Flags used only if debugging */
-
-/*
-** Allowed values for sqlite3.mDbFlags
- */
-
-/*
-** Bits of the sqlite3.dbOptFlags field that are used by the
-** sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS,...) interface to
-** selectively disable various optimizations.
- */
-/* TH3 expects this value ^^^^^^^^^^ to be 0x0000800. Don't change it */
-/* TH3 expects this value ^^^^^^^^^^ to be 0x40000. Coordinate any change */
-/* TH3 expects this value ^^^^^^^^^^ See flatten04.test */
-
-/*
-** Macros for testing whether or not optimizations are enabled or disabled.
- */
-
-/*
-** Return true if it OK to factor constant expressions into the initialization
-** code. The argument is a Parse object for the code generator.
- */
-
-/* Possible values for the sqlite3.eOpenState field.
-** The numbers are randomly selected such that a minimum of three bits must
-** change to convert any number to another or to zero
- */
-
-/*
-** Each SQL function is defined by an instance of the following
-** structure. For global built-in functions (ex: substr(), max(), count())
-** a pointer to this structure is held in the sqlite3BuiltinFunctions object.
-** For per-connection application-defined functions, a pointer to this
-** structure is held in the db->aHash hash table.
-**
-** The u.pHash field is used by the global built-ins. The u.pDestructor
-** field is used by per-connection app-def functions.
- */
-type TFuncDef1 = struct {
- FnArg Ti16
- FfuncFlags Tu32
- FpUserData uintptr
- FpNext uintptr
- FxSFunc uintptr
- FxFinalize uintptr
- FxValue uintptr
- FxInverse uintptr
- FzName uintptr
- Fu struct {
- FpDestructor [0]uintptr
- FpHash uintptr
- }
-}
-
-type FuncDef1 = TFuncDef1
-
-/*
-** This structure encapsulates a user-function destructor callback (as
-** configured using create_function_v2()) and a reference counter. When
-** create_function_v2() is called to create a function with a destructor,
-** a single object of this type is allocated. FuncDestructor.nRef is set to
-** the number of FuncDef objects created (either 1 or 3, depending on whether
-** or not the specified encoding is SQLITE_ANY). The FuncDef.pDestructor
-** member of each of the new FuncDef objects is set to point to the allocated
-** FuncDestructor.
-**
-** Thereafter, when one of the FuncDef objects is deleted, the reference
-** count on this object is decremented. When it reaches 0, the destructor
-** is invoked and the FuncDestructor structure freed.
- */
-type TFuncDestructor1 = struct {
- FnRef int32
- FxDestroy uintptr
- FpUserData uintptr
-}
-
-type FuncDestructor1 = TFuncDestructor1
-
-/*
-** Possible values for FuncDef.flags. Note that the _LENGTH and _TYPEOF
-** values must correspond to OPFLAG_LENGTHARG and OPFLAG_TYPEOFARG. And
-** SQLITE_FUNC_CONSTANT must be the same as SQLITE_DETERMINISTIC. There
-** are assert() statements in the code to verify this.
-**
-** Value constraints (enforced via assert()):
-** SQLITE_FUNC_MINMAX == NC_MinMaxAgg == SF_MinMaxAgg
-** SQLITE_FUNC_ANYORDER == NC_OrderAgg == SF_OrderByReqd
-** SQLITE_FUNC_LENGTH == OPFLAG_LENGTHARG
-** SQLITE_FUNC_TYPEOF == OPFLAG_TYPEOFARG
-** SQLITE_FUNC_BYTELEN == OPFLAG_BYTELENARG
-** SQLITE_FUNC_CONSTANT == SQLITE_DETERMINISTIC from the API
-** SQLITE_FUNC_DIRECT == SQLITE_DIRECTONLY from the API
-** SQLITE_FUNC_UNSAFE == SQLITE_INNOCUOUS -- opposite meanings!!!
-** SQLITE_FUNC_ENCMASK depends on SQLITE_UTF* macros in the API
-**
-** Note that even though SQLITE_FUNC_UNSAFE and SQLITE_INNOCUOUS have the
-** same bit value, their meanings are inverted. SQLITE_FUNC_UNSAFE is
-** used internally and if set means that the function has side effects.
-** SQLITE_INNOCUOUS is used by application code and means "not unsafe".
-** See multiple instances of tag-20230109-1.
- */
-/* 0x0200 -- available for reuse */
-/* SQLITE_SUBTYPE 0x00100000 // Consumer of subtypes */
-/* SQLITE_RESULT_SUBTYPE 0x01000000 // Generator of subtypes */
-
-/* Identifier numbers for each in-line function */
-
-/*
-** The following three macros, FUNCTION(), LIKEFUNC() and AGGREGATE() are
-** used to create the initializers for the FuncDef structures.
-**
-** FUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Used to create a scalar function definition of a function zName
-** implemented by C function xFunc that accepts nArg arguments. The
-** value passed as iArg is cast to a (void*) and made available
-** as the user-data (sqlite3_user_data()) for the function. If
-** argument bNC is true, then the SQLITE_FUNC_NEEDCOLL flag is set.
-**
-** VFUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Like FUNCTION except it omits the SQLITE_FUNC_CONSTANT flag.
-**
-** SFUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Like FUNCTION except it omits the SQLITE_FUNC_CONSTANT flag and
-** adds the SQLITE_DIRECTONLY flag.
-**
-** INLINE_FUNC(zName, nArg, iFuncId, mFlags)
-** zName is the name of a function that is implemented by in-line
-** byte code rather than by the usual callbacks. The iFuncId
-** parameter determines the function id. The mFlags parameter is
-** optional SQLITE_FUNC_ flags for this function.
-**
-** TEST_FUNC(zName, nArg, iFuncId, mFlags)
-** zName is the name of a test-only function implemented by in-line
-** byte code rather than by the usual callbacks. The iFuncId
-** parameter determines the function id. The mFlags parameter is
-** optional SQLITE_FUNC_ flags for this function.
-**
-** DFUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Like FUNCTION except it omits the SQLITE_FUNC_CONSTANT flag and
-** adds the SQLITE_FUNC_SLOCHNG flag. Used for date & time functions
-** and functions like sqlite_version() that can change, but not during
-** a single query. The iArg is ignored. The user-data is always set
-** to a NULL pointer. The bNC parameter is not used.
-**
-** MFUNCTION(zName, nArg, xPtr, xFunc)
-** For math-library functions. xPtr is an arbitrary pointer.
-**
-** PURE_DATE(zName, nArg, iArg, bNC, xFunc)
-** Used for "pure" date/time functions, this macro is like DFUNCTION
-** except that it does set the SQLITE_FUNC_CONSTANT flags. iArg is
-** ignored and the user-data for these functions is set to an
-** arbitrary non-NULL pointer. The bNC parameter is not used.
-**
-** AGGREGATE(zName, nArg, iArg, bNC, xStep, xFinal)
-** Used to create an aggregate function definition implemented by
-** the C functions xStep and xFinal. The first four parameters
-** are interpreted in the same way as the first 4 parameters to
-** FUNCTION().
-**
-** WAGGREGATE(zName, nArg, iArg, xStep, xFinal, xValue, xInverse)
-** Used to create an aggregate function definition implemented by
-** the C functions xStep and xFinal. The first four parameters
-** are interpreted in the same way as the first 4 parameters to
-** FUNCTION().
-**
-** LIKEFUNC(zName, nArg, pArg, flags)
-** Used to create a scalar function definition of a function zName
-** that accepts nArg arguments and is implemented by a call to C
-** function likeFunc. Argument pArg is cast to a (void *) and made
-** available as the function user-data (sqlite3_user_data()). The
-** FuncDef.flags variable is set to the value passed as the flags
-** parameter.
- */
-
-/*
-** All current savepoints are stored in a linked list starting at
-** sqlite3.pSavepoint. The first element in the list is the most recently
-** opened savepoint. Savepoints are added to the list by the vdbe
-** OP_Savepoint instruction.
- */
-type TSavepoint1 = struct {
- FzName uintptr
- FnDeferredCons Ti64
- FnDeferredImmCons Ti64
- FpNext uintptr
-}
-
-type Savepoint1 = TSavepoint1
-
-/*
-** The following are used as the second parameter to sqlite3Savepoint(),
-** and as the P1 argument to the OP_Savepoint instruction.
- */
-
-/*
-** Each SQLite module (virtual table definition) is defined by an
-** instance of the following structure, stored in the sqlite3.aModule
-** hash table.
- */
-type TModule1 = struct {
- FpModule uintptr
- FzName uintptr
- FnRefModule int32
- FpAux uintptr
- FxDestroy uintptr
- FpEpoTab uintptr
-}
-
-type Module1 = TModule1
-
-/*
-** Information about each column of an SQL table is held in an instance
-** of the Column structure, in the Table.aCol[] array.
-**
-** Definitions:
-**
-** "table column index" This is the index of the column in the
-** Table.aCol[] array, and also the index of
-** the column in the original CREATE TABLE stmt.
-**
-** "storage column index" This is the index of the column in the
-** record BLOB generated by the OP_MakeRecord
-** opcode. The storage column index is less than
-** or equal to the table column index. It is
-** equal if and only if there are no VIRTUAL
-** columns to the left.
-**
-** Notes on zCnName:
-** The zCnName field stores the name of the column, the datatype of the
-** column, and the collating sequence for the column, in that order, all in
-** a single allocation. Each string is 0x00 terminated. The datatype
-** is only included if the COLFLAG_HASTYPE bit of colFlags is set and the
-** collating sequence name is only included if the COLFLAG_HASCOLL bit is
-** set.
- */
-type TColumn1 = struct {
- FzCnName uintptr
- F__ccgo8 uint8
- Faffinity int8
- FszEst Tu8
- FhName Tu8
- FiDflt Tu16
- FcolFlags Tu16
-}
-
-type Column1 = TColumn1
-
-/* Allowed values for Column.eCType.
-**
-** Values must match entries in the global constant arrays
-** sqlite3StdTypeLen[] and sqlite3StdType[]. Each value is one more
-** than the offset into these arrays for the corresponding name.
-** Adjust the SQLITE_N_STDTYPE value if adding or removing entries.
- */
-
-/* Allowed values for Column.colFlags.
-**
-** Constraints:
-** TF_HasVirtual == COLFLAG_VIRTUAL
-** TF_HasStored == COLFLAG_STORED
-** TF_HasHidden == COLFLAG_HIDDEN
- */
-
-/*
-** A "Collating Sequence" is defined by an instance of the following
-** structure. Conceptually, a collating sequence consists of a name and
-** a comparison routine that defines the order of that sequence.
-**
-** If CollSeq.xCmp is NULL, it means that the
-** collating sequence is undefined. Indices built on an undefined
-** collating sequence may not be read or written.
- */
-type TCollSeq1 = struct {
- FzName uintptr
- Fenc Tu8
- FpUser uintptr
- FxCmp uintptr
- FxDel uintptr
-}
-
-type CollSeq1 = TCollSeq1
-
-/*
-** A sort order can be either ASC or DESC.
- */
-
-/*
-** Column affinity types.
-**
-** These used to have mnemonic name like 'i' for SQLITE_AFF_INTEGER and
-** 't' for SQLITE_AFF_TEXT. But we can save a little space and improve
-** the speed a little by numbering the values consecutively.
-**
-** But rather than start with 0 or 1, we begin with 'A'. That way,
-** when multiple affinity types are concatenated into a string and
-** used as the P4 operand, they will be more readable.
-**
-** Note also that the numeric types are grouped together so that testing
-** for a numeric type is a single comparison. And the BLOB type is first.
- */
-
-/*
-** The SQLITE_AFF_MASK values masks off the significant bits of an
-** affinity value.
- */
-
-/*
-** Additional bit values that can be ORed with an affinity without
-** changing the affinity.
-**
-** The SQLITE_NOTNULL flag is a combination of NULLEQ and JUMPIFNULL.
-** It causes an assert() to fire if either operand to a comparison
-** operator is NULL. It is added to certain comparison operators to
-** prove that the operands are always NOT NULL.
- */
-
-/*
-** An object of this type is created for each virtual table present in
-** the database schema.
-**
-** If the database schema is shared, then there is one instance of this
-** structure for each database connection (sqlite3*) that uses the shared
-** schema. This is because each database connection requires its own unique
-** instance of the sqlite3_vtab* handle used to access the virtual table
-** implementation. sqlite3_vtab* handles can not be shared between
-** database connections, even when the rest of the in-memory database
-** schema is shared, as the implementation often stores the database
-** connection handle passed to it via the xConnect() or xCreate() method
-** during initialization internally. This database connection handle may
-** then be used by the virtual table implementation to access real tables
-** within the database. So that they appear as part of the callers
-** transaction, these accesses need to be made via the same database
-** connection as that used to execute SQL operations on the virtual table.
-**
-** All VTable objects that correspond to a single table in a shared
-** database schema are initially stored in a linked-list pointed to by
-** the Table.pVTable member variable of the corresponding Table object.
-** When an sqlite3_prepare() operation is required to access the virtual
-** table, it searches the list for the VTable that corresponds to the
-** database connection doing the preparing so as to use the correct
-** sqlite3_vtab* handle in the compiled query.
-**
-** When an in-memory Table object is deleted (for example when the
-** schema is being reloaded for some reason), the VTable objects are not
-** deleted and the sqlite3_vtab* handles are not xDisconnect()ed
-** immediately. Instead, they are moved from the Table.pVTable list to
-** another linked list headed by the sqlite3.pDisconnect member of the
-** corresponding sqlite3 structure. They are then deleted/xDisconnected
-** next time a statement is prepared using said sqlite3*. This is done
-** to avoid deadlock issues involving multiple sqlite3.mutex mutexes.
-** Refer to comments above function sqlite3VtabUnlockList() for an
-** explanation as to why it is safe to add an entry to an sqlite3.pDisconnect
-** list without holding the corresponding sqlite3.mutex mutex.
-**
-** The memory for objects of this type is always allocated by
-** sqlite3DbMalloc(), using the connection handle stored in VTable.db as
-** the first argument.
- */
-type TVTable1 = struct {
- Fdb uintptr
- FpMod uintptr
- FpVtab uintptr
- FnRef int32
- FbConstraint Tu8
- FbAllSchemas Tu8
- FeVtabRisk Tu8
- FiSavepoint int32
- FpNext uintptr
-}
-
-type VTable1 = TVTable1
-
-/* Allowed values for VTable.eVtabRisk
- */
-
-/*
-** The schema for each SQL table, virtual table, and view is represented
-** in memory by an instance of the following structure.
- */
-type TTable1 = struct {
- FzName uintptr
- FaCol uintptr
- FpIndex uintptr
- FzColAff uintptr
- FpCheck uintptr
- Ftnum TPgno
- FnTabRef Tu32
- FtabFlags Tu32
- FiPKey Ti16
- FnCol Ti16
- FnNVCol Ti16
- FnRowLogEst TLogEst
- FszTabRow TLogEst
- FkeyConf Tu8
- FeTabType Tu8
- Fu struct {
- Fview [0]struct {
- FpSelect uintptr
- }
- Fvtab [0]struct {
- FnArg int32
- FazArg uintptr
- Fp uintptr
- }
- Ftab struct {
- FaddColOffset int32
- FpFKey uintptr
- FpDfltList uintptr
- }
- }
- FpTrigger uintptr
- FpSchema uintptr
- FaHx [16]Tu8
-}
-
-type Table1 = TTable1
-
-/*
-** Allowed values for Table.tabFlags.
-**
-** TF_OOOHidden applies to tables or view that have hidden columns that are
-** followed by non-hidden columns. Example: "CREATE VIRTUAL TABLE x USING
-** vtab1(a HIDDEN, b);". Since "b" is a non-hidden column but "a" is hidden,
-** the TF_OOOHidden attribute would apply in this case. Such tables require
-** special handling during INSERT processing. The "OOO" means "Out Of Order".
-**
-** Constraints:
-**
-** TF_HasVirtual == COLFLAG_VIRTUAL
-** TF_HasStored == COLFLAG_STORED
-** TF_HasHidden == COLFLAG_HIDDEN
- */
-
-/*
-** Allowed values for Table.eTabType
- */
-
-/*
-** Test to see whether or not a table is a virtual table. This is
-** done as a macro so that it will be optimized out when virtual
-** table support is omitted from the build.
- */
-
-/*
-** Macros to determine if a column is hidden. IsOrdinaryHiddenColumn()
-** only works for non-virtual tables (ordinary tables and views) and is
-** always false unless SQLITE_ENABLE_HIDDEN_COLUMNS is defined. The
-** IsHiddenColumn() macro is general purpose.
- */
-
-/* Does the table have a rowid */
-
-/* Macro is true if the SQLITE_ALLOW_ROWID_IN_VIEW (mis-)feature is
-** available. By default, this macro is false
- */
-
-/*
-** Each foreign key constraint is an instance of the following structure.
-**
-** A foreign key is associated with two tables. The "from" table is
-** the table that contains the REFERENCES clause that creates the foreign
-** key. The "to" table is the table that is named in the REFERENCES clause.
-** Consider this example:
-**
-** CREATE TABLE ex1(
-** a INTEGER PRIMARY KEY,
-** b INTEGER CONSTRAINT fk1 REFERENCES ex2(x)
-** );
-**
-** For foreign key "fk1", the from-table is "ex1" and the to-table is "ex2".
-** Equivalent names:
-**
-** from-table == child-table
-** to-table == parent-table
-**
-** Each REFERENCES clause generates an instance of the following structure
-** which is attached to the from-table. The to-table need not exist when
-** the from-table is created. The existence of the to-table is not checked.
-**
-** The list of all parents for child Table X is held at X.pFKey.
-**
-** A list of all children for a table named Z (which might not even exist)
-** is held in Schema.fkeyHash with a hash key of Z.
- */
-type TFKey1 = struct {
- FpFrom uintptr
- FpNextFrom uintptr
- FzTo uintptr
- FpNextTo uintptr
- FpPrevTo uintptr
- FnCol int32
- FisDeferred Tu8
- FaAction [2]Tu8
- FapTrigger [2]uintptr
-}
-
-type FKey1 = TFKey1
-
-/* The size (in bytes) of an FKey object holding N columns. The answer
-** does NOT include space to hold the zTo name. */
-
-/*
-** SQLite supports many different ways to resolve a constraint
-** error. ROLLBACK processing means that a constraint violation
-** causes the operation in process to fail and for the current transaction
-** to be rolled back. ABORT processing means the operation in process
-** fails and any prior changes from that one operation are backed out,
-** but the transaction is not rolled back. FAIL processing means that
-** the operation in progress stops and returns an error code. But prior
-** changes due to the same operation are not backed out and no rollback
-** occurs. IGNORE means that the particular row that caused the constraint
-** error is not inserted or updated. Processing continues and no error
-** is returned. REPLACE means that preexisting database rows that caused
-** a UNIQUE constraint violation are removed so that the new insert or
-** update can proceed. Processing continues and no error is reported.
-** UPDATE applies to insert operations only and means that the insert
-** is omitted and the DO UPDATE clause of an upsert is run instead.
-**
-** RESTRICT, SETNULL, SETDFLT, and CASCADE actions apply only to foreign keys.
-** RESTRICT is the same as ABORT for IMMEDIATE foreign keys and the
-** same as ROLLBACK for DEFERRED keys. SETNULL means that the foreign
-** key is set to NULL. SETDFLT means that the foreign key is set
-** to its default value. CASCADE means that a DELETE or UPDATE of the
-** referenced table row is propagated into the row that holds the
-** foreign key.
-**
-** The OE_Default value is a place holder that means to use whatever
-** conflict resolution algorithm is required from context.
-**
-** The following symbolic values are used to record which type
-** of conflict resolution action to take.
- */
-
-/*
-** An instance of the following structure is passed as the first
-** argument to sqlite3VdbeKeyCompare and is used to control the
-** comparison of the two index keys.
-**
-** Note that aSortOrder[] and aColl[] have nField+1 slots. There
-** are nField slots for the columns of an index then one extra slot
-** for the rowid at the end.
- */
-type TKeyInfo1 = struct {
- FnRef Tu32
- Fenc Tu8
- FnKeyField Tu16
- FnAllField Tu16
- Fdb uintptr
- FaSortFlags uintptr
-}
-
-type KeyInfo1 = TKeyInfo1
-
-/* The size (in bytes) of a KeyInfo object with up to N fields */
-
-/*
-** Allowed bit values for entries in the KeyInfo.aSortFlags[] array.
- */
-
-/*
-** This object holds a record which has been parsed out into individual
-** fields, for the purposes of doing a comparison.
-**
-** A record is an object that contains one or more fields of data.
-** Records are used to store the content of a table row and to store
-** the key of an index. A blob encoding of a record is created by
-** the OP_MakeRecord opcode of the VDBE and is disassembled by the
-** OP_Column opcode.
-**
-** An instance of this object serves as a "key" for doing a search on
-** an index b+tree. The goal of the search is to find the entry that
-** is closed to the key described by this object. This object might hold
-** just a prefix of the key. The number of fields is given by
-** pKeyInfo->nField.
-**
-** The r1 and r2 fields are the values to return if this key is less than
-** or greater than a key in the btree, respectively. These are normally
-** -1 and +1 respectively, but might be inverted to +1 and -1 if the b-tree
-** is in DESC order.
-**
-** The key comparison functions actually return default_rc when they find
-** an equals comparison. default_rc can be -1, 0, or +1. If there are
-** multiple entries in the b-tree with the same key (when only looking
-** at the first pKeyInfo->nFields,) then default_rc can be set to -1 to
-** cause the search to find the last match, or +1 to cause the search to
-** find the first match.
-**
-** The key comparison functions will set eqSeen to true if they ever
-** get and equal results when comparing this structure to a b-tree record.
-** When default_rc!=0, the search might end up on the record immediately
-** before the first match or immediately after the last match. The
-** eqSeen field will indicate whether or not an exact match exists in the
-** b-tree.
- */
-type TUnpackedRecord1 = struct {
- FpKeyInfo uintptr
- FaMem uintptr
- Fu struct {
- Fi [0]Ti64
- Fz uintptr
- }
- Fn int32
- FnField Tu16
- Fdefault_rc Ti8
- FerrCode Tu8
- Fr1 Ti8
- Fr2 Ti8
- FeqSeen Tu8
-}
-
-type UnpackedRecord1 = TUnpackedRecord1
-
-/*
-** Each SQL index is represented in memory by an
-** instance of the following structure.
-**
-** The columns of the table that are to be indexed are described
-** by the aiColumn[] field of this structure. For example, suppose
-** we have the following table and index:
-**
-** CREATE TABLE Ex1(c1 int, c2 int, c3 text);
-** CREATE INDEX Ex2 ON Ex1(c3,c1);
-**
-** In the Table structure describing Ex1, nCol==3 because there are
-** three columns in the table. In the Index structure describing
-** Ex2, nColumn==2 since 2 of the 3 columns of Ex1 are indexed.
-** The value of aiColumn is {2, 0}. aiColumn[0]==2 because the
-** first column to be indexed (c3) has an index of 2 in Ex1.aCol[].
-** The second column to be indexed (c1) has an index of 0 in
-** Ex1.aCol[], hence Ex2.aiColumn[1]==0.
-**
-** The Index.onError field determines whether or not the indexed columns
-** must be unique and what to do if they are not. When Index.onError=OE_None,
-** it means this is not a unique index. Otherwise it is a unique index
-** and the value of Index.onError indicates which conflict resolution
-** algorithm to employ when an attempt is made to insert a non-unique
-** element.
-**
-** The colNotIdxed bitmask is used in combination with SrcItem.colUsed
-** for a fast test to see if an index can serve as a covering index.
-** colNotIdxed has a 1 bit for every column of the original table that
-** is *not* available in the index. Thus the expression
-** "colUsed & colNotIdxed" will be non-zero if the index is not a
-** covering index. The most significant bit of of colNotIdxed will always
-** be true (note-20221022-a). If a column beyond the 63rd column of the
-** table is used, the "colUsed & colNotIdxed" test will always be non-zero
-** and we have to assume either that the index is not covering, or use
-** an alternative (slower) algorithm to determine whether or not
-** the index is covering.
-**
-** While parsing a CREATE TABLE or CREATE INDEX statement in order to
-** generate VDBE code (as opposed to parsing one read from an sqlite_schema
-** table as part of parsing an existing database schema), transient instances
-** of this structure may be created. In this case the Index.tnum variable is
-** used to store the address of a VDBE instruction, not a database page
-** number (it cannot - the database page is not allocated until the VDBE
-** program is executed). See convertToWithoutRowidTable() for details.
- */
-type TIndex1 = struct {
- FzName uintptr
- FaiColumn uintptr
- FaiRowLogEst uintptr
- FpTable uintptr
- FzColAff uintptr
- FpNext uintptr
- FpSchema uintptr
- FaSortOrder uintptr
- FazColl uintptr
- FpPartIdxWhere uintptr
- FaColExpr uintptr
- Ftnum TPgno
- FszIdxRow TLogEst
- FnKeyCol Tu16
- FnColumn Tu16
- FonError Tu8
- F__ccgo100 uint16
- FnSample int32
- FmxSample int32
- FnSampleCol int32
- FaAvgEq uintptr
- FaSample uintptr
- FaiRowEst uintptr
- FnRowEst0 TtRowcnt
- FcolNotIdxed TBitmask
-}
-
-type Index1 = TIndex1
-
-/*
-** Allowed values for Index.idxType
- */
-
-/* Return true if index X is a PRIMARY KEY index */
-
-/* Return true if index X is a UNIQUE index */
-
-/* The Index.aiColumn[] values are normally positive integer. But
-** there are some negative values that have special meaning:
- */
-
-/*
-** Each sample stored in the sqlite_stat4 table is represented in memory
-** using a structure of this type. See documentation at the top of the
-** analyze.c source file for additional information.
- */
-type TIndexSample1 = struct {
- Fp uintptr
- Fn int32
- FanEq uintptr
- FanLt uintptr
- FanDLt uintptr
-}
-
-type IndexSample1 = TIndexSample1
-
-/*
-** Possible values to use within the flags argument to sqlite3GetToken().
- */
-
-/*
-** Each token coming out of the lexer is an instance of
-** this structure. Tokens are also used as part of an expression.
-**
-** The memory that "z" points to is owned by other objects. Take care
-** that the owner of the "z" string does not deallocate the string before
-** the Token goes out of scope! Very often, the "z" points to some place
-** in the middle of the Parse.zSql text. But it might also point to a
-** static string.
- */
-type TToken1 = struct {
- Fz uintptr
- Fn uint32
-}
-
-type Token1 = TToken1
-
-/*
-** An instance of this structure contains information needed to generate
-** code for a SELECT that contains aggregate functions.
-**
-** If Expr.op==TK_AGG_COLUMN or TK_AGG_FUNCTION then Expr.pAggInfo is a
-** pointer to this structure. The Expr.iAgg field is the index in
-** AggInfo.aCol[] or AggInfo.aFunc[] of information needed to generate
-** code for that node.
-**
-** AggInfo.pGroupBy and AggInfo.aFunc.pExpr point to fields within the
-** original Select structure that describes the SELECT statement. These
-** fields do not need to be freed when deallocating the AggInfo structure.
- */
-type TAggInfo1 = struct {
- FdirectMode Tu8
- FuseSortingIdx Tu8
- FnSortingColumn Tu32
- FsortingIdx int32
- FsortingIdxPTab int32
- FiFirstReg int32
- FpGroupBy uintptr
- FaCol uintptr
- FnColumn int32
- FnAccumulator int32
- FaFunc uintptr
- FnFunc int32
- FselId Tu32
-}
-
-type AggInfo1 = TAggInfo1
-
/*
** Macros to compute aCol[] and aFunc[] register numbers.
**
@@ -13133,622 +11044,6 @@ type TynVar = int16
type ynVar = TynVar
-/*
-** Each node of an expression in the parse tree is an instance
-** of this structure.
-**
-** Expr.op is the opcode. The integer parser token codes are reused
-** as opcodes here. For example, the parser defines TK_GE to be an integer
-** code representing the ">=" operator. This same integer code is reused
-** to represent the greater-than-or-equal-to operator in the expression
-** tree.
-**
-** If the expression is an SQL literal (TK_INTEGER, TK_FLOAT, TK_BLOB,
-** or TK_STRING), then Expr.u.zToken contains the text of the SQL literal. If
-** the expression is a variable (TK_VARIABLE), then Expr.u.zToken contains the
-** variable name. Finally, if the expression is an SQL function (TK_FUNCTION),
-** then Expr.u.zToken contains the name of the function.
-**
-** Expr.pRight and Expr.pLeft are the left and right subexpressions of a
-** binary operator. Either or both may be NULL.
-**
-** Expr.x.pList is a list of arguments if the expression is an SQL function,
-** a CASE expression or an IN expression of the form " IN (, ...)".
-** Expr.x.pSelect is used if the expression is a sub-select or an expression of
-** the form " IN (SELECT ...)". If the EP_xIsSelect bit is set in the
-** Expr.flags mask, then Expr.x.pSelect is valid. Otherwise, Expr.x.pList is
-** valid.
-**
-** An expression of the form ID or ID.ID refers to a column in a table.
-** For such expressions, Expr.op is set to TK_COLUMN and Expr.iTable is
-** the integer cursor number of a VDBE cursor pointing to that table and
-** Expr.iColumn is the column number for the specific column. If the
-** expression is used as a result in an aggregate SELECT, then the
-** value is also stored in the Expr.iAgg column in the aggregate so that
-** it can be accessed after all aggregates are computed.
-**
-** If the expression is an unbound variable marker (a question mark
-** character '?' in the original SQL) then the Expr.iTable holds the index
-** number for that variable.
-**
-** If the expression is a subquery then Expr.iColumn holds an integer
-** register number containing the result of the subquery. If the
-** subquery gives a constant result, then iTable is -1. If the subquery
-** gives a different answer at different times during statement processing
-** then iTable is the address of a subroutine that computes the subquery.
-**
-** If the Expr is of type OP_Column, and the table it is selecting from
-** is a disk table or the "old.*" pseudo-table, then pTab points to the
-** corresponding table definition.
-**
-** ALLOCATION NOTES:
-**
-** Expr objects can use a lot of memory space in database schema. To
-** help reduce memory requirements, sometimes an Expr object will be
-** truncated. And to reduce the number of memory allocations, sometimes
-** two or more Expr objects will be stored in a single memory allocation,
-** together with Expr.u.zToken strings.
-**
-** If the EP_Reduced and EP_TokenOnly flags are set when
-** an Expr object is truncated. When EP_Reduced is set, then all
-** the child Expr objects in the Expr.pLeft and Expr.pRight subtrees
-** are contained within the same memory allocation. Note, however, that
-** the subtrees in Expr.x.pList or Expr.x.pSelect are always separately
-** allocated, regardless of whether or not EP_Reduced is set.
- */
-type TExpr1 = struct {
- Fop Tu8
- FaffExpr int8
- Fop2 Tu8
- Fflags Tu32
- Fu struct {
- FiValue [0]int32
- FzToken uintptr
- }
- FpLeft uintptr
- FpRight uintptr
- Fx struct {
- FpSelect [0]uintptr
- FpList uintptr
- }
- FnHeight int32
- FiTable int32
- FiColumn TynVar
- FiAgg Ti16
- Fw struct {
- FiOfst [0]int32
- FiJoin int32
- }
- FpAggInfo uintptr
- Fy struct {
- FpWin [0]uintptr
- Fsub [0]struct {
- FiAddr int32
- FregReturn int32
- }
- FpTab uintptr
- }
-}
-
-type Expr1 = TExpr1
-
-/* The following are the meanings of bits in the Expr.flags field.
-** Value restrictions:
-**
-** EP_Agg == NC_HasAgg == SF_HasAgg
-** EP_Win == NC_HasWin
- */
-
-/* The EP_Propagate mask is a set of properties that automatically propagate
-** upwards into parent nodes.
- */
-
-/* Macros can be used to test, set, or clear bits in the
-** Expr.flags field.
- */
-
-/* Macros used to ensure that the correct members of unions are accessed
-** in Expr.
- */
-
-/* Flags for use with Expr.vvaFlags
- */
-
-/* The ExprSetVVAProperty() macro is used for Verification, Validation,
-** and Accreditation only. It works like ExprSetProperty() during VVA
-** processes but is a no-op for delivery.
- */
-
-/*
-** Macros to determine the number of bytes required by a normal Expr
-** struct, an Expr struct with the EP_Reduced flag set in Expr.flags
-** and an Expr struct with the EP_TokenOnly flag set.
- */
-
-/*
-** Flags passed to the sqlite3ExprDup() function. See the header comment
-** above sqlite3ExprDup() for details.
- */
-
-/*
-** True if the expression passed as an argument was a function with
-** an OVER() clause (a window function).
- */
-
-/*
-** A list of expressions. Each expression may optionally have a
-** name. An expr/name combination can be used in several ways, such
-** as the list of "expr AS ID" fields following a "SELECT" or in the
-** list of "ID = expr" items in an UPDATE. A list of expressions can
-** also be used as the argument to a function, in which case the a.zName
-** field is not used.
-**
-** In order to try to keep memory usage down, the Expr.a.zEName field
-** is used for multiple purposes:
-**
-** eEName Usage
-** ---------- -------------------------
-** ENAME_NAME (1) the AS of result set column
-** (2) COLUMN= of an UPDATE
-**
-** ENAME_TAB DB.TABLE.NAME used to resolve names
-** of subqueries
-**
-** ENAME_SPAN Text of the original result set
-** expression.
- */
-type TExprList1 = struct {
- F__ccgo_align [0]uint64
- FnExpr int32
- FnAlloc int32
-}
-
-type ExprList1 = TExprList1
-
-/* The size (in bytes) of an ExprList object that is big enough to hold
-** as many as N expressions. */
-
-/*
-** Allowed values for Expr.a.eEName
- */
-
-/*
-** An instance of this structure can hold a simple list of identifiers,
-** such as the list "a,b,c" in the following statements:
-**
-** INSERT INTO t(a,b,c) VALUES ...;
-** CREATE INDEX idx ON t(a,b,c);
-** CREATE TRIGGER trig BEFORE UPDATE ON t(a,b,c) ...;
-**
-** The IdList.a.idx field is used when the IdList represents the list of
-** column names after a table name in an INSERT statement. In the statement
-**
-** INSERT INTO t(a,b,c) ...
-**
-** If "a" is the k-th column of table "t", then IdList.a[0].idx==k.
- */
-type TIdList1 = struct {
- F__ccgo_align [0]uint64
- FnId int32
-}
-
-type IdList1 = TIdList1
-
-/* The size (in bytes) of an IdList object that can hold up to N IDs. */
-
-/*
-** Allowed values for IdList.eType, which determines which value of the a.u4
-** is valid.
- */
-
-/*
-** Details of the implementation of a subquery.
- */
-type TSubquery1 = struct {
- FpSelect uintptr
- FaddrFillSub int32
- FregReturn int32
- FregResult int32
-}
-
-type Subquery1 = TSubquery1
-
-/*
-** The SrcItem object represents a single term in the FROM clause of a query.
-** The SrcList object is mostly an array of SrcItems.
-**
-** The jointype starts out showing the join type between the current table
-** and the next table on the list. The parser builds the list this way.
-** But sqlite3SrcListShiftJoinType() later shifts the jointypes so that each
-** jointype expresses the join between the table and the previous table.
-**
-** In the colUsed field, the high-order bit (bit 63) is set if the table
-** contains more than 63 columns and the 64-th or later column is used.
-**
-** Aggressive use of "union" helps keep the size of the object small. This
-** has been shown to boost performance, in addition to saving memory.
-** Access to union elements is gated by the following rules which should
-** always be checked, either by an if-statement or by an assert().
-**
-** Field Only access if this is true
-** --------------- -----------------------------------
-** u1.zIndexedBy fg.isIndexedBy
-** u1.pFuncArg fg.isTabFunc
-** u1.nRow !fg.isTabFunc && !fg.isIndexedBy
-**
-** u2.pIBIndex fg.isIndexedBy
-** u2.pCteUse fg.isCte
-**
-** u3.pOn !fg.isUsing
-** u3.pUsing fg.isUsing
-**
-** u4.zDatabase !fg.fixedSchema && !fg.isSubquery
-** u4.pSchema fg.fixedSchema
-** u4.pSubq fg.isSubquery
-**
-** See also the sqlite3SrcListDelete() routine for assert() statements that
-** check invariants on the fields of this object, especially the flags
-** inside the fg struct.
- */
-type TSrcItem1 = struct {
- FzName uintptr
- FzAlias uintptr
- FpSTab uintptr
- Ffg struct {
- Fjointype Tu8
- F__ccgo4 uint32
- }
- FiCursor int32
- FcolUsed TBitmask
- Fu1 struct {
- FpFuncArg [0]uintptr
- FnRow [0]Tu32
- FzIndexedBy uintptr
- }
- Fu2 struct {
- FpCteUse [0]uintptr
- FpIBIndex uintptr
- }
- Fu3 struct {
- FpUsing [0]uintptr
- FpOn uintptr
- }
- Fu4 struct {
- FzDatabase [0]uintptr
- FpSubq [0]uintptr
- FpSchema uintptr
- }
-}
-
-type SrcItem1 = TSrcItem1
-
-/*
-** The OnOrUsing object represents either an ON clause or a USING clause.
-** It can never be both at the same time, but it can be neither.
- */
-type TOnOrUsing1 = struct {
- FpOn uintptr
- FpUsing uintptr
-}
-
-type OnOrUsing1 = TOnOrUsing1
-
-/*
-** This object represents one or more tables that are the source of
-** content for an SQL statement. For example, a single SrcList object
-** is used to hold the FROM clause of a SELECT statement. SrcList also
-** represents the target tables for DELETE, INSERT, and UPDATE statements.
-**
- */
-type TSrcList1 = struct {
- F__ccgo_align [0]uint64
- FnSrc int32
- FnAlloc Tu32
-}
-
-type SrcList1 = TSrcList1
-
-/* Size (in bytes) of a SrcList object that can hold as many as N
-** SrcItem objects. */
-
-/* Size (in bytes( of a SrcList object that holds 1 SrcItem. This is a
-** special case of SZ_SRCITEM(1) that comes up often. */
-
-/*
-** Permitted values of the SrcList.a.jointype field
- */
-
-/*
-** Flags appropriate for the wctrlFlags parameter of sqlite3WhereBegin()
-** and the WhereInfo.wctrlFlags member.
-**
-** Value constraints (enforced via assert()):
-** WHERE_USE_LIMIT == SF_FixedLimit
- */
-/* 0x8000 not currently used */
-
-/* Allowed return values from sqlite3WhereIsDistinct()
- */
-
-/*
-** A NameContext defines a context in which to resolve table and column
-** names. The context consists of a list of tables (the pSrcList) field and
-** a list of named expression (pEList). The named expression list may
-** be NULL. The pSrc corresponds to the FROM clause of a SELECT or
-** to the table being operated on by INSERT, UPDATE, or DELETE. The
-** pEList corresponds to the result set of a SELECT and is NULL for
-** other statements.
-**
-** NameContexts can be nested. When resolving names, the inner-most
-** context is searched first. If no match is found, the next outer
-** context is checked. If there is still no match, the next context
-** is checked. This process continues until either a match is found
-** or all contexts are check. When a match is found, the nRef member of
-** the context containing the match is incremented.
-**
-** Each subquery gets a new NameContext. The pNext field points to the
-** NameContext in the parent query. Thus the process of scanning the
-** NameContext list corresponds to searching through successively outer
-** subqueries looking for a match.
- */
-type TNameContext1 = struct {
- FpParse uintptr
- FpSrcList uintptr
- FuNC struct {
- FpAggInfo [0]uintptr
- FpUpsert [0]uintptr
- FiBaseReg [0]int32
- FpEList uintptr
- }
- FpNext uintptr
- FnRef int32
- FnNcErr int32
- FncFlags int32
- FnNestedSelect Tu32
- FpWinSelect uintptr
-}
-
-type NameContext1 = TNameContext1
-
-/*
-** Allowed values for the NameContext, ncFlags field.
-**
-** Value constraints (all checked via assert()):
-** NC_HasAgg == SF_HasAgg == EP_Agg
-** NC_MinMaxAgg == SF_MinMaxAgg == SQLITE_FUNC_MINMAX
-** NC_OrderAgg == SF_OrderByReqd == SQLITE_FUNC_ANYORDER
-** NC_HasWin == EP_Win
-**
- */
-/* 0x002000 // available for reuse */
-
-/*
-** An instance of the following object describes a single ON CONFLICT
-** clause in an upsert.
-**
-** The pUpsertTarget field is only set if the ON CONFLICT clause includes
-** conflict-target clause. (In "ON CONFLICT(a,b)" the "(a,b)" is the
-** conflict-target clause.) The pUpsertTargetWhere is the optional
-** WHERE clause used to identify partial unique indexes.
-**
-** pUpsertSet is the list of column=expr terms of the UPDATE statement.
-** The pUpsertSet field is NULL for a ON CONFLICT DO NOTHING. The
-** pUpsertWhere is the WHERE clause for the UPDATE and is NULL if the
-** WHERE clause is omitted.
- */
-type TUpsert1 = struct {
- FpUpsertTarget uintptr
- FpUpsertTargetWhere uintptr
- FpUpsertSet uintptr
- FpUpsertWhere uintptr
- FpNextUpsert uintptr
- FisDoUpdate Tu8
- FisDup Tu8
- FpToFree uintptr
- FpUpsertIdx uintptr
- FpUpsertSrc uintptr
- FregData int32
- FiDataCur int32
- FiIdxCur int32
-}
-
-type Upsert1 = TUpsert1
-
-/*
-** An instance of the following structure contains all information
-** needed to generate code for a single SELECT statement.
-**
-** See the header comment on the computeLimitRegisters() routine for a
-** detailed description of the meaning of the iLimit and iOffset fields.
-**
-** addrOpenEphm[] entries contain the address of OP_OpenEphemeral opcodes.
-** These addresses must be stored so that we can go back and fill in
-** the P4_KEYINFO and P2 parameters later. Neither the KeyInfo nor
-** the number of columns in P2 can be computed at the same time
-** as the OP_OpenEphm instruction is coded because not
-** enough information about the compound query is known at that point.
-** The KeyInfo for addrOpenTran[0] and [1] contains collating sequences
-** for the result set. The KeyInfo for addrOpenEphm[2] contains collating
-** sequences for the ORDER BY clause.
- */
-type TSelect1 = struct {
- Fop Tu8
- FnSelectRow TLogEst
- FselFlags Tu32
- FiLimit int32
- FiOffset int32
- FselId Tu32
- FaddrOpenEphm [2]int32
- FpEList uintptr
- FpSrc uintptr
- FpWhere uintptr
- FpGroupBy uintptr
- FpHaving uintptr
- FpOrderBy uintptr
- FpPrior uintptr
- FpNext uintptr
- FpLimit uintptr
- FpWith uintptr
- FpWin uintptr
- FpWinDefn uintptr
-}
-
-type Select1 = TSelect1
-
-/*
-** Allowed values for Select.selFlags. The "SF" prefix stands for
-** "Select Flag".
-**
-** Value constraints (all checked via assert())
-** SF_HasAgg == NC_HasAgg
-** SF_MinMaxAgg == NC_MinMaxAgg == SQLITE_FUNC_MINMAX
-** SF_OrderByReqd == NC_OrderAgg == SQLITE_FUNC_ANYORDER
-** SF_FixedLimit == WHERE_USE_LIMIT
- */
-
-/* True if SrcItem X is a subquery that has SF_NestedFrom */
-
-/*
-** The results of a SELECT can be distributed in several ways, as defined
-** by one of the following macros. The "SRT" prefix means "SELECT Result
-** Type".
-**
-** SRT_Union Store results as a key in a temporary index
-** identified by pDest->iSDParm.
-**
-** SRT_Except Remove results from the temporary index pDest->iSDParm.
-**
-** SRT_Exists Store a 1 in memory cell pDest->iSDParm if the result
-** set is not empty.
-**
-** SRT_Discard Throw the results away. This is used by SELECT
-** statements within triggers whose only purpose is
-** the side-effects of functions.
-**
-** SRT_Output Generate a row of output (using the OP_ResultRow
-** opcode) for each row in the result set.
-**
-** SRT_Mem Only valid if the result is a single column.
-** Store the first column of the first result row
-** in register pDest->iSDParm then abandon the rest
-** of the query. This destination implies "LIMIT 1".
-**
-** SRT_Set The result must be a single column. Store each
-** row of result as the key in table pDest->iSDParm.
-** Apply the affinity pDest->affSdst before storing
-** results. if pDest->iSDParm2 is positive, then it is
-** a register holding a Bloom filter for the IN operator
-** that should be populated in addition to the
-** pDest->iSDParm table. This SRT is used to
-** implement "IN (SELECT ...)".
-**
-** SRT_EphemTab Create an temporary table pDest->iSDParm and store
-** the result there. The cursor is left open after
-** returning. This is like SRT_Table except that
-** this destination uses OP_OpenEphemeral to create
-** the table first.
-**
-** SRT_Coroutine Generate a co-routine that returns a new row of
-** results each time it is invoked. The entry point
-** of the co-routine is stored in register pDest->iSDParm
-** and the result row is stored in pDest->nDest registers
-** starting with pDest->iSdst.
-**
-** SRT_Table Store results in temporary table pDest->iSDParm.
-** SRT_Fifo This is like SRT_EphemTab except that the table
-** is assumed to already be open. SRT_Fifo has
-** the additional property of being able to ignore
-** the ORDER BY clause.
-**
-** SRT_DistFifo Store results in a temporary table pDest->iSDParm.
-** But also use temporary table pDest->iSDParm+1 as
-** a record of all prior results and ignore any duplicate
-** rows. Name means: "Distinct Fifo".
-**
-** SRT_Queue Store results in priority queue pDest->iSDParm (really
-** an index). Append a sequence number so that all entries
-** are distinct.
-**
-** SRT_DistQueue Store results in priority queue pDest->iSDParm only if
-** the same record has never been stored before. The
-** index at pDest->iSDParm+1 hold all prior stores.
-**
-** SRT_Upfrom Store results in the temporary table already opened by
-** pDest->iSDParm. If (pDest->iSDParm<0), then the temp
-** table is an intkey table - in this case the first
-** column returned by the SELECT is used as the integer
-** key. If (pDest->iSDParm>0), then the table is an index
-** table. (pDest->iSDParm) is the number of key columns in
-** each index record in this case.
- */
-
-/* The DISTINCT clause is ignored for all of the above. Not that
-** IgnorableDistinct() implies IgnorableOrderby() */
-
-/* The ORDER BY clause is ignored for all of the above */
-
-/*
-** An instance of this object describes where to put of the results of
-** a SELECT statement.
- */
-type TSelectDest1 = struct {
- FeDest Tu8
- FiSDParm int32
- FiSDParm2 int32
- FiSdst int32
- FnSdst int32
- FzAffSdst uintptr
- FpOrderBy uintptr
-}
-
-type SelectDest1 = TSelectDest1
-
-/*
-** During code generation of statements that do inserts into AUTOINCREMENT
-** tables, the following information is attached to the Table.u.autoInc.p
-** pointer of each autoincrement table to record some side information that
-** the code generator needs. We have to keep per-table autoincrement
-** information in case inserts are done within triggers. Triggers do not
-** normally coordinate their activities, but we do need to coordinate the
-** loading and saving of autoincrement information.
- */
-type TAutoincInfo1 = struct {
- FpNext uintptr
- FpTab uintptr
- FiDb int32
- FregCtr int32
-}
-
-type AutoincInfo1 = TAutoincInfo1
-
-/*
-** At least one instance of the following structure is created for each
-** trigger that may be fired while parsing an INSERT, UPDATE or DELETE
-** statement. All such objects are stored in the linked list headed at
-** Parse.pTriggerPrg and deleted once statement compilation has been
-** completed.
-**
-** A Vdbe sub-program that implements the body and WHEN clause of trigger
-** TriggerPrg.pTrigger, assuming a default ON CONFLICT clause of
-** TriggerPrg.orconf, is stored in the TriggerPrg.pProgram variable.
-** The Parse.pTriggerPrg list never contains two entries with the same
-** values for both pTrigger and orconf.
-**
-** The TriggerPrg.aColmask[0] variable is set to a mask of old.* columns
-** accessed (or set to 0 for triggers fired as a result of INSERT
-** statements). Similarly, the TriggerPrg.aColmask[1] variable is set to
-** a mask of new.* columns used by the program.
- */
-type TTriggerPrg1 = struct {
- FpTrigger uintptr
- FpNext uintptr
- FpProgram uintptr
- Forconf int32
- FaColmask [2]Tu32
-}
-
-type TriggerPrg1 = TTriggerPrg1
-
// C documentation
//
// /*
@@ -13758,318 +11053,6 @@ type TyDbMask = uint32
type yDbMask = TyDbMask
-/*
-** For each index X that has as one of its arguments either an expression
-** or the name of a virtual generated column, and if X is in scope such that
-** the value of the expression can simply be read from the index, then
-** there is an instance of this object on the Parse.pIdxExpr list.
-**
-** During code generation, while generating code to evaluate expressions,
-** this list is consulted and if a matching expression is found, the value
-** is read from the index rather than being recomputed.
- */
-type TIndexedExpr1 = struct {
- FpExpr uintptr
- FiDataCur int32
- FiIdxCur int32
- FiIdxCol int32
- FbMaybeNullRow Tu8
- Faff Tu8
- FpIENext uintptr
-}
-
-type IndexedExpr1 = TIndexedExpr1
-
-/*
-** An instance of the ParseCleanup object specifies an operation that
-** should be performed after parsing to deallocation resources obtained
-** during the parse and which are no longer needed.
- */
-type TParseCleanup1 = struct {
- FpNext uintptr
- FpPtr uintptr
- FxCleanup uintptr
-}
-
-type ParseCleanup1 = TParseCleanup1
-
-/*
-** An SQL parser context. A copy of this structure is passed through
-** the parser and down into all the parser action routine in order to
-** carry around information that is global to the entire parse.
-**
-** The structure is divided into two parts. When the parser and code
-** generate call themselves recursively, the first part of the structure
-** is constant but the second part is reset at the beginning and end of
-** each recursion.
-**
-** The nTableLock and aTableLock variables are only used if the shared-cache
-** feature is enabled (if sqlite3Tsd()->useSharedData is true). They are
-** used to store the set of table-locks required by the statement being
-** compiled. Function sqlite3TableLock() is used to add entries to the
-** list.
- */
-type TParse1 = struct {
- Fdb uintptr
- FzErrMsg uintptr
- FpVdbe uintptr
- Frc int32
- FnQueryLoop TLogEst
- Fnested Tu8
- FnTempReg Tu8
- FisMultiWrite Tu8
- FmayAbort Tu8
- FhasCompound Tu8
- FdisableLookaside Tu8
- FprepFlags Tu8
- FwithinRJSubrtn Tu8
- FmSubrtnSig Tu8
- FeTriggerOp Tu8
- FbReturning Tu8
- FeOrconf Tu8
- FdisableTriggers Tu8
- F__ccgo_align18 [1]byte
- F__ccgo44 uint8
- FnRangeReg int32
- FiRangeReg int32
- FnErr int32
- FnTab int32
- FnMem int32
- FszOpAlloc int32
- FiSelfTab int32
- FnLabel int32
- FnLabelAlloc int32
- FaLabel uintptr
- FpConstExpr uintptr
- FpIdxEpr uintptr
- FpIdxPartExpr uintptr
- FwriteMask TyDbMask
- FcookieMask TyDbMask
- FnMaxArg int32
- FnSelect int32
- FnProgressSteps Tu32
- FnTableLock int32
- FaTableLock uintptr
- FpAinc uintptr
- FpToplevel uintptr
- FpTriggerTab uintptr
- FpTriggerPrg uintptr
- FpCleanup uintptr
- FaTempReg [8]int32
- FpOuterParse uintptr
- FsNameToken TToken
- Foldmask Tu32
- Fnewmask Tu32
- Fu1 struct {
- Fd [0]struct {
- FpReturning uintptr
- }
- Fcr struct {
- FaddrCrTab int32
- FregRowid int32
- FregRoot int32
- FconstraintName TToken
- }
- }
- FsLastToken TToken
- FnVar TynVar
- FiPkSortOrder Tu8
- Fexplain Tu8
- FeParseMode Tu8
- FnVtabLock int32
- FnHeight int32
- FaddrExplain int32
- FpVList uintptr
- FpReprepare uintptr
- FzTail uintptr
- FpNewTable uintptr
- FpNewIndex uintptr
- FpNewTrigger uintptr
- FzAuthContext uintptr
- FsArg TToken
- FapVtabLock uintptr
- FpWith uintptr
- FpRename uintptr
-}
-
-type Parse1 = TParse1
-
-/* Allowed values for Parse.eParseMode
- */
-
-/*
-** Sizes and pointers of various parts of the Parse object.
- */
-
-/*
-** Return true if currently inside an sqlite3_declare_vtab() call.
- */
-
-/*
-** An instance of the following structure can be declared on a stack and used
-** to save the Parse.zAuthContext value so that it can be restored later.
- */
-type TAuthContext1 = struct {
- FzAuthContext uintptr
- FpParse uintptr
-}
-
-type AuthContext1 = TAuthContext1
-
-/*
-** Bitfield flags for P5 value in various opcodes.
-**
-** Value constraints (enforced via assert()):
-** OPFLAG_LENGTHARG == SQLITE_FUNC_LENGTH
-** OPFLAG_TYPEOFARG == SQLITE_FUNC_TYPEOF
-** OPFLAG_BULKCSR == BTREE_BULKLOAD
-** OPFLAG_SEEKEQ == BTREE_SEEK_EQ
-** OPFLAG_FORDELETE == BTREE_FORDELETE
-** OPFLAG_SAVEPOSITION == BTREE_SAVEPOSITION
-** OPFLAG_AUXDELETE == BTREE_AUXDELETE
- */
-/* Also used in P2 (not P5) of OP_Delete */
-
-/*
-** Each trigger present in the database schema is stored as an instance of
-** struct Trigger.
-**
-** Pointers to instances of struct Trigger are stored in two ways.
-** 1. In the "trigHash" hash table (part of the sqlite3* that represents the
-** database). This allows Trigger structures to be retrieved by name.
-** 2. All triggers associated with a single table form a linked list, using the
-** pNext member of struct Trigger. A pointer to the first element of the
-** linked list is stored as the "pTrigger" member of the associated
-** struct Table.
-**
-** The "step_list" member points to the first element of a linked list
-** containing the SQL statements specified as the trigger program.
- */
-type TTrigger1 = struct {
- FzName uintptr
- Ftable uintptr
- Fop Tu8
- Ftr_tm Tu8
- FbReturning Tu8
- FpWhen uintptr
- FpColumns uintptr
- FpSchema uintptr
- FpTabSchema uintptr
- Fstep_list uintptr
- FpNext uintptr
-}
-
-type Trigger1 = TTrigger1
-
-/*
-** A trigger is either a BEFORE or an AFTER trigger. The following constants
-** determine which.
-**
-** If there are multiple triggers, you might of some BEFORE and some AFTER.
-** In that cases, the constants below can be ORed together.
- */
-
-/*
-** An instance of struct TriggerStep is used to store a single SQL statement
-** that is a part of a trigger-program.
-**
-** Instances of struct TriggerStep are stored in a singly linked list (linked
-** using the "pNext" member) referenced by the "step_list" member of the
-** associated struct Trigger instance. The first element of the linked list is
-** the first step of the trigger-program.
-**
-** The "op" member indicates whether this is a "DELETE", "INSERT", "UPDATE" or
-** "SELECT" statement. The meanings of the other members is determined by the
-** value of "op" as follows:
-**
-** (op == TK_INSERT)
-** orconf -> stores the ON CONFLICT algorithm
-** pSelect -> The content to be inserted - either a SELECT statement or
-** a VALUES clause.
-** zTarget -> Dequoted name of the table to insert into.
-** pIdList -> If this is an INSERT INTO ... () VALUES ...
-** statement, then this stores the column-names to be
-** inserted into.
-** pUpsert -> The ON CONFLICT clauses for an Upsert
-**
-** (op == TK_DELETE)
-** zTarget -> Dequoted name of the table to delete from.
-** pWhere -> The WHERE clause of the DELETE statement if one is specified.
-** Otherwise NULL.
-**
-** (op == TK_UPDATE)
-** zTarget -> Dequoted name of the table to update.
-** pWhere -> The WHERE clause of the UPDATE statement if one is specified.
-** Otherwise NULL.
-** pExprList -> A list of the columns to update and the expressions to update
-** them to. See sqlite3Update() documentation of "pChanges"
-** argument.
-**
-** (op == TK_SELECT)
-** pSelect -> The SELECT statement
-**
-** (op == TK_RETURNING)
-** pExprList -> The list of expressions that follow the RETURNING keyword.
-**
- */
-type TTriggerStep1 = struct {
- Fop Tu8
- Forconf Tu8
- FpTrig uintptr
- FpSelect uintptr
- FzTarget uintptr
- FpFrom uintptr
- FpWhere uintptr
- FpExprList uintptr
- FpIdList uintptr
- FpUpsert uintptr
- FzSpan uintptr
- FpNext uintptr
- FpLast uintptr
-}
-
-type TriggerStep1 = TTriggerStep1
-
-/*
-** Information about a RETURNING clause
- */
-type TReturning1 = struct {
- FpParse uintptr
- FpReturnEL uintptr
- FretTrig TTrigger
- FretTStep TTriggerStep
- FiRetCur int32
- FnRetCol int32
- FiRetReg int32
- FzName [40]int8
-}
-
-type Returning1 = TReturning1
-
-/*
-** The following object is the header for an "RCStr" or "reference-counted
-** string". An RCStr is passed around and used like any other char*
-** that has been dynamically allocated. The important interface
-** differences:
-**
-** 1. RCStr strings are reference counted. They are deallocated
-** when the reference count reaches zero.
-**
-** 2. Use sqlite3RCStrUnref() to free an RCStr string rather than
-** sqlite3_free()
-**
-** 3. Make a (read-only) copy of a read-only RCStr string using
-** sqlite3RCStrRef().
-**
-** "String" is in the name, but an RCStr object can also be used to hold
-** binary data.
- */
-type TRCStr1 = struct {
- FnRCRef Tu64
-}
-
-type RCStr1 = TRCStr1
-
// C documentation
//
// /*
@@ -14155,232 +11138,6 @@ type TSqlite3Config = struct {
type Sqlite3Config = TSqlite3Config
-/*
-** This macro is used inside of assert() statements to indicate that
-** the assert is only valid on a well-formed database. Instead of:
-**
-** assert( X );
-**
-** One writes:
-**
-** assert( X || CORRUPT_DB );
-**
-** CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate
-** that the database is definitely corrupt, only that it might be corrupt.
-** For most test cases, CORRUPT_DB is set to false using a special
-** sqlite3_test_control(). This enables assert() statements to prove
-** things that are always true for well-formed databases.
- */
-
-/*
-** Context pointer passed down through the tree-walk.
- */
-type TWalker1 = struct {
- FpParse uintptr
- FxExprCallback uintptr
- FxSelectCallback uintptr
- FxSelectCallback2 uintptr
- FwalkerDepth int32
- FeCode Tu16
- FmWFlags Tu16
- Fu struct {
- Fn [0]int32
- FiCur [0]int32
- FpSrcList [0]uintptr
- FpCCurHint [0]uintptr
- FpRefSrcList [0]uintptr
- FaiCol [0]uintptr
- FpIdxCover [0]uintptr
- FpGroupBy [0]uintptr
- FpSelect [0]uintptr
- FpRewrite [0]uintptr
- FpConst [0]uintptr
- FpRename [0]uintptr
- FpTab [0]uintptr
- FpCovIdxCk [0]uintptr
- FpSrcItem [0]uintptr
- FpFix [0]uintptr
- FaMem [0]uintptr
- FpNC uintptr
- }
-}
-
-type Walker1 = TWalker1
-
-/*
-** The following structure contains information used by the sqliteFix...
-** routines as they walk the parse tree to make database references
-** explicit.
- */
-type TDbFixer1 = struct {
- FpParse uintptr
- Fw TWalker
- FpSchema uintptr
- FbTemp Tu8
- FzDb uintptr
- FzType uintptr
- FpName uintptr
-}
-
-type DbFixer1 = TDbFixer1
-
-/*
-** Return code from the parse-tree walking primitives and their
-** callbacks.
- */
-
-/*
-** A single common table expression
- */
-type TCte1 = struct {
- FzName uintptr
- FpCols uintptr
- FpSelect uintptr
- FzCteErr uintptr
- FpUse uintptr
- FeM10d Tu8
-}
-
-type Cte1 = TCte1
-
-/*
-** Allowed values for the materialized flag (eM10d):
- */
-
-/*
-** An instance of the With object represents a WITH clause containing
-** one or more CTEs (common table expressions).
- */
-type TWith1 = struct {
- FnCte int32
- FbView int32
- FpOuter uintptr
-}
-
-type With1 = TWith1
-
-/* The size (in bytes) of a With object that can hold as many
-** as N different CTEs. */
-
-/*
-** The Cte object is not guaranteed to persist for the entire duration
-** of code generation. (The query flattener or other parser tree
-** edits might delete it.) The following object records information
-** about each Common Table Expression that must be preserved for the
-** duration of the parse.
-**
-** The CteUse objects are freed using sqlite3ParserAddCleanup() rather
-** than sqlite3SelectDelete(), which is what enables them to persist
-** until the end of code generation.
- */
-type TCteUse1 = struct {
- FnUse int32
- FaddrM9e int32
- FregRtn int32
- FiCur int32
- FnRowEst TLogEst
- FeM10d Tu8
-}
-
-type CteUse1 = TCteUse1
-
-/* Client data associated with sqlite3_set_clientdata() and
-** sqlite3_get_clientdata().
- */
-type TDbClientData1 = struct {
- FpNext uintptr
- FpData uintptr
- FxDestructor uintptr
-}
-
-type DbClientData1 = TDbClientData1
-
-/* The size (in bytes) of a DbClientData object that can has a name
-** that is N bytes long, including the zero-terminator. */
-
-/*
-** This object is used in various ways, most (but not all) related to window
-** functions.
-**
-** (1) A single instance of this structure is attached to the
-** the Expr.y.pWin field for each window function in an expression tree.
-** This object holds the information contained in the OVER clause,
-** plus additional fields used during code generation.
-**
-** (2) All window functions in a single SELECT form a linked-list
-** attached to Select.pWin. The Window.pFunc and Window.pExpr
-** fields point back to the expression that is the window function.
-**
-** (3) The terms of the WINDOW clause of a SELECT are instances of this
-** object on a linked list attached to Select.pWinDefn.
-**
-** (4) For an aggregate function with a FILTER clause, an instance
-** of this object is stored in Expr.y.pWin with eFrmType set to
-** TK_FILTER. In this case the only field used is Window.pFilter.
-**
-** The uses (1) and (2) are really the same Window object that just happens
-** to be accessible in two different ways. Use case (3) are separate objects.
- */
-type TWindow1 = struct {
- FzName uintptr
- FzBase uintptr
- FpPartition uintptr
- FpOrderBy uintptr
- FeFrmType Tu8
- FeStart Tu8
- FeEnd Tu8
- FbImplicitFrame Tu8
- FeExclude Tu8
- FpStart uintptr
- FpEnd uintptr
- FppThis uintptr
- FpNextWin uintptr
- FpFilter uintptr
- FpWFunc uintptr
- FiEphCsr int32
- FregAccum int32
- FregResult int32
- FcsrApp int32
- FregApp int32
- FregPart int32
- FpOwner uintptr
- FnBufferCol int32
- FiArgCol int32
- FregOne int32
- FregStartRowid int32
- FregEndRowid int32
- FbExprArgs Tu8
-}
-
-type Window1 = TWindow1
-
-/*
-** An instance of the following structure holds information about SQL
-** functions arguments that are the parameters to the printf() function.
- */
-type TPrintfArguments1 = struct {
- FnArg int32
- FnUsed int32
- FapArg uintptr
-}
-
-type PrintfArguments1 = TPrintfArguments1
-
-/*
-** An instance of this object receives the decoding of a floating point
-** value into an approximate decimal representation.
- */
-type TFpDecode1 = struct {
- Fsign int8
- FisSpecial int8
- Fn int32
- FiDP int32
- Fz uintptr
- FzBuf [24]int8
-}
-
-type FpDecode1 = TFpDecode1
-
/************** End of sqliteInt.h *******************************************/
/************** Begin file os_common.h ***************************************/
/*
@@ -15544,72 +12301,6 @@ type TVdbeCursor = struct {
type VdbeCursor = TVdbeCursor
-type TVdbeCursor1 = struct {
- FeCurType Tu8
- FiDb Ti8
- FnullRow Tu8
- FdeferredMoveto Tu8
- FisTable Tu8
- F__ccgo_align5 [3]byte
- F__ccgo8 uint8
- FseekHit Tu16
- Fub struct {
- FaAltMap [0]uintptr
- FpBtx uintptr
- }
- FseqCount Ti64
- FcacheStatus Tu32
- FseekResult int32
- FpAltCursor uintptr
- Fuc struct {
- FpVCur [0]uintptr
- FpSorter [0]uintptr
- FpCursor uintptr
- }
- FpKeyInfo uintptr
- FiHdrOffset Tu32
- FpgnoRoot TPgno
- FnField Ti16
- FnHdrParsed Tu16
- FmovetoTarget Ti64
- FaOffset uintptr
- FaRow uintptr
- FpayloadSize Tu32
- FszRow Tu32
- FpCache uintptr
-}
-
-type VdbeCursor1 = TVdbeCursor1
-
-/*
-** The size (in bytes) of a VdbeCursor object that has an nField value of N
-** or less. The value of SZ_VDBECURSOR(n) is guaranteed to be a multiple
-** of 8.
- */
-
-/* Return true if P is a null-only cursor
- */
-
-/*
-** A value for VdbeCursor.cacheStatus that means the cache is always invalid.
- */
-
-/*
-** Large TEXT or BLOB values can be slow to load, so we want to avoid
-** loading them more than once. For that reason, large TEXT and BLOB values
-** can be stored in a cache defined by this object, and attached to the
-** VdbeCursor using the pCache field.
- */
-type TVdbeTxtBlbCache1 = struct {
- FpCValue uintptr
- FiOffset Ti64
- FiCol int32
- FcacheStatus Tu32
- FcolCacheCtr Tu32
-}
-
-type VdbeTxtBlbCache1 = TVdbeTxtBlbCache1
-
// C documentation
//
// /*
@@ -15655,152 +12346,6 @@ type TVdbeFrame = struct {
type VdbeFrame = TVdbeFrame
-type TVdbeFrame1 = struct {
- Fv uintptr
- FpParent uintptr
- FaOp uintptr
- FaMem uintptr
- FapCsr uintptr
- FaOnce uintptr
- Ftoken uintptr
- FlastRowid Ti64
- FpAuxData uintptr
- FnCursor int32
- Fpc int32
- FnOp int32
- FnMem int32
- FnChildMem int32
- FnChildCsr int32
- FnChange Ti64
- FnDbChange Ti64
-}
-
-type VdbeFrame1 = TVdbeFrame1
-
-/*
-** Size of struct Mem not including the Mem.zMalloc member or anything that
-** follows.
- */
-
-/* One or more of the following flags are set to indicate the
-** representations of the value stored in the Mem struct.
-**
-** * MEM_Null An SQL NULL value
-**
-** * MEM_Null|MEM_Zero An SQL NULL with the virtual table
-** UPDATE no-change flag set
-**
-** * MEM_Null|MEM_Term| An SQL NULL, but also contains a
-** MEM_Subtype pointer accessible using
-** sqlite3_value_pointer().
-**
-** * MEM_Null|MEM_Cleared Special SQL NULL that compares non-equal
-** to other NULLs even using the IS operator.
-**
-** * MEM_Str A string, stored in Mem.z with
-** length Mem.n. Zero-terminated if
-** MEM_Term is set. This flag is
-** incompatible with MEM_Blob and
-** MEM_Null, but can appear with MEM_Int,
-** MEM_Real, and MEM_IntReal.
-**
-** * MEM_Blob A blob, stored in Mem.z length Mem.n.
-** Incompatible with MEM_Str, MEM_Null,
-** MEM_Int, MEM_Real, and MEM_IntReal.
-**
-** * MEM_Blob|MEM_Zero A blob in Mem.z of length Mem.n plus
-** MEM.u.i extra 0x00 bytes at the end.
-**
-** * MEM_Int Integer stored in Mem.u.i.
-**
-** * MEM_Real Real stored in Mem.u.r.
-**
-** * MEM_IntReal Real stored as an integer in Mem.u.i.
-**
-** If the MEM_Null flag is set, then the value is an SQL NULL value.
-** For a pointer type created using sqlite3_bind_pointer() or
-** sqlite3_result_pointer() the MEM_Term and MEM_Subtype flags are also set.
-**
-** If the MEM_Str flag is set then Mem.z points at a string representation.
-** Usually this is encoded in the same unicode encoding as the main
-** database (see below for exceptions). If the MEM_Term flag is also
-** set, then the string is nul terminated. The MEM_Int and MEM_Real
-** flags may coexist with the MEM_Str flag.
- */
-
-/* Extra bits that modify the meanings of the core datatypes above
- */
-/* 0x0080 // Available */
-
-/* Bits that determine the storage for Mem.z for a string or blob or
-** aggregate accumulator.
- */
-
-/* Return TRUE if Mem X contains dynamically allocated content - anything
-** that needs to be deallocated to avoid a leak.
- */
-
-/*
-** Clear any existing type flags from a Mem and replace them with f
- */
-
-/*
-** True if Mem X is a NULL-nochng type.
- */
-
-/*
-** Return true if a memory cell has been initialized and is valid.
-** is for use inside assert() statements only.
-**
-** A Memory cell is initialized if at least one of the
-** MEM_Null, MEM_Str, MEM_Int, MEM_Real, MEM_Blob, or MEM_IntReal bits
-** is set. It is "undefined" if all those bits are zero.
- */
-
-/*
-** Each auxiliary data pointer stored by a user defined function
-** implementation calling sqlite3_set_auxdata() is stored in an instance
-** of this structure. All such structures associated with a single VM
-** are stored in a linked list headed at Vdbe.pAuxData. All are destroyed
-** when the VM is halted (if not before).
- */
-type TAuxData1 = struct {
- FiAuxOp int32
- FiAuxArg int32
- FpAux uintptr
- FxDeleteAux uintptr
- FpNextAux uintptr
-}
-
-type AuxData1 = TAuxData1
-
-/*
-** The "context" argument for an installable function. A pointer to an
-** instance of this structure is the first argument to the routines used
-** implement the SQL functions.
-**
-** There is a typedef for this structure in sqlite.h. So all routines,
-** even the public interface to SQLite, can use a pointer to this structure.
-** But this file is the only place where the internal details of this
-** structure are known.
-**
-** This structure is defined inside of vdbeInt.h because it uses substructures
-** (Mem) which are only defined there.
- */
-type Tsqlite3_context1 = struct {
- FpOut uintptr
- FpFunc uintptr
- FpMem uintptr
- FpVdbe uintptr
- FiOp int32
- FisError int32
- Fenc Tu8
- FskipFlag Tu8
- Fargc Tu16
-}
-
-type sqlite3_context1 = Tsqlite3_context1
-
/*
** The size (in bytes) of an sqlite3_context object that holds N
** argv[] arguments.
@@ -15831,18 +12376,6 @@ type TScanStatus = struct {
type ScanStatus = TScanStatus
-type TScanStatus1 = struct {
- FaddrExplain int32
- FaAddrRange [6]int32
- FaddrLoop int32
- FaddrVisit int32
- FiSelectID int32
- FnEst TLogEst
- FzName uintptr
-}
-
-type ScanStatus1 = TScanStatus1
-
// C documentation
//
// /* The DblquoteStr object holds the text of a double-quoted
@@ -15859,101 +12392,6 @@ type TDblquoteStr = struct {
type DblquoteStr = TDblquoteStr
-type TDblquoteStr1 = struct {
- FpNextStr uintptr
- Fz [8]int8
-}
-
-type DblquoteStr1 = TDblquoteStr1
-
-/*
-** An instance of the virtual machine. This structure contains the complete
-** state of the virtual machine.
-**
-** The "sqlite3_stmt" structure pointer that is returned by sqlite3_prepare()
-** is really a pointer to an instance of this structure.
- */
-type TVdbe1 = struct {
- Fdb uintptr
- FppVPrev uintptr
- FpVNext uintptr
- FpParse uintptr
- FnVar TynVar
- FnMem int32
- FnCursor int32
- FcacheCtr Tu32
- Fpc int32
- Frc int32
- FnChange Ti64
- FiStatement int32
- FiCurrentTime Ti64
- FnFkConstraint Ti64
- FnStmtDefCons Ti64
- FnStmtDefImmCons Ti64
- FaMem uintptr
- FapArg uintptr
- FapCsr uintptr
- FaVar uintptr
- FaOp uintptr
- FnOp int32
- FnOpAlloc int32
- FaColName uintptr
- FpResultRow uintptr
- FzErrMsg uintptr
- FpVList uintptr
- FstartTime Ti64
- FnResColumn Tu16
- FnResAlloc Tu16
- FerrorAction Tu8
- FminWriteFileFormat Tu8
- FprepFlags Tu8
- FeVdbeState Tu8
- F__ccgo200 uint16
- FbtreeMask TyDbMask
- FlockMask TyDbMask
- FaCounter [9]Tu32
- FzSql uintptr
- FpFree uintptr
- FpFrame uintptr
- FpDelFrame uintptr
- FnFrame int32
- Fexpmask Tu32
- FpProgram uintptr
- FpAuxData uintptr
-}
-
-type Vdbe1 = TVdbe1
-
-/*
-** The following are allowed values for Vdbe.eVdbeState
- */
-
-/*
-** Structure used to store the context required by the
-** sqlite3_preupdate_*() API functions.
- */
-type TPreUpdate1 = struct {
- Fv uintptr
- FpCsr uintptr
- Fop int32
- FaRecord uintptr
- FpKeyinfo uintptr
- FpUnpacked uintptr
- FpNewUnpacked uintptr
- FiNewReg int32
- FiBlobWrite int32
- FiKey1 Ti64
- FiKey2 Ti64
- Foldipk TMem
- FaNew uintptr
- FpTab uintptr
- FpPk uintptr
- FapDflt uintptr
- FkeyinfoSpace [32]Tu8
-}
-
-type PreUpdate1 = TPreUpdate1
-
// C documentation
//
// /*
@@ -15975,13 +12413,6 @@ type TValueList = struct {
type ValueList = TValueList
-type TValueList1 = struct {
- FpCsr uintptr
- FpOut uintptr
-}
-
-type ValueList1 = TValueList1
-
/************** End of vdbeInt.h *********************************************/
/************** Continuing where we left off in status.c *********************/
@@ -16001,14 +12432,7 @@ type Tsqlite3StatType = struct {
type sqlite3StatType = Tsqlite3StatType
-type Tsqlite3StatType1 = struct {
- FnowValue [10]Tsqlite3StatValueType
- FmxValue [10]Tsqlite3StatValueType
-}
-
-type sqlite3StatType1 = Tsqlite3StatType1
-
-var _sqlite3Stat = Tsqlite3StatType1{}
+var _sqlite3Stat = Tsqlite3StatType{}
// C documentation
//
@@ -16087,7 +12511,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
var pMutex, v1 uintptr
_, _ = pMutex, v1
if op < 0 || op >= libc.Int32FromUint64(libc.Uint64FromInt64(80)/libc.Uint64FromInt64(8)) {
- return _sqlite3MisuseError(tls, int32(24454))
+ return _sqlite3MisuseError(tls, int32(24456))
}
if _statMutex[op] != 0 {
v1 = _sqlite3Pcache1Mutex(tls)
@@ -16317,7 +12741,7 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p
goto _5
_5:
;
- pVdbe = (*TVdbe1)(unsafe.Pointer(pVdbe)).FpVNext
+ pVdbe = (*TVdbe)(unsafe.Pointer(pVdbe)).FpVNext
}
(*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FpEnd = (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FpTrueEnd
(*Tsqlite3)(unsafe.Pointer(db)).FpnBytesFreed = uintptr(0)
@@ -16446,24 +12870,6 @@ type TDateTime = struct {
type DateTime = TDateTime
-type TDateTime1 = struct {
- FiJD Tsqlite3_int64
- FY int32
- FM int32
- FD int32
- Fh int32
- Fm int32
- Ftz int32
- Fs float64
- FvalidJD int8
- FvalidYMD int8
- FvalidHMS int8
- FnFloor int8
- F__ccgo44 uint8
-}
-
-type DateTime1 = TDateTime1
-
// C documentation
//
// /*
@@ -18457,28 +14863,28 @@ func init() {
// */
func _sqlite3OsClose(tls *libc.TLS, pId uintptr) {
if (*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods != 0 {
- (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods)).FxClose})))(tls, pId)
+ (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods)).FxClose})))(tls, pId)
(*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = uintptr(0)
}
}
func _sqlite3OsRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Ti64) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxRead})))(tls, id, pBuf, amt, offset)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxRead})))(tls, id, pBuf, amt, offset)
}
func _sqlite3OsWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Ti64) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxWrite})))(tls, id, pBuf, amt, offset)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxWrite})))(tls, id, pBuf, amt, offset)
}
func _sqlite3OsTruncate(tls *libc.TLS, id uintptr, size Ti64) (r int32) {
- return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxTruncate})))(tls, id, size)
+ return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxTruncate})))(tls, id, size)
}
func _sqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) (r int32) {
var v1 int32
_ = v1
if flags != 0 {
- v1 = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSync})))(tls, id, flags)
+ v1 = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSync})))(tls, id, flags)
} else {
v1 = SQLITE_OK
}
@@ -18486,19 +14892,19 @@ func _sqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) (r int32) {
}
func _sqlite3OsFileSize(tls *libc.TLS, id uintptr, pSize uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileSize})))(tls, id, pSize)
+ return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileSize})))(tls, id, pSize)
}
func _sqlite3OsLock(tls *libc.TLS, id uintptr, lockType int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxLock})))(tls, id, lockType)
+ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxLock})))(tls, id, lockType)
}
func _sqlite3OsUnlock(tls *libc.TLS, id uintptr, lockType int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnlock})))(tls, id, lockType)
+ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnlock})))(tls, id, lockType)
}
func _sqlite3OsCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxCheckReservedLock})))(tls, id, pResOut)
+ return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxCheckReservedLock})))(tls, id, pResOut)
}
// C documentation
@@ -18515,12 +14921,12 @@ func _sqlite3OsFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) (r
if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods == uintptr(0) {
return int32(SQLITE_NOTFOUND)
}
- return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
+ return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
}
func _sqlite3OsFileControlHint(tls *libc.TLS, id uintptr, op int32, pArg uintptr) {
if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods != 0 {
- (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
+ (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
}
}
@@ -18528,7 +14934,7 @@ func _sqlite3OsSectorSize(tls *libc.TLS, id uintptr) (r int32) {
var xSectorSize uintptr
var v1 int32
_, _ = xSectorSize, v1
- xSectorSize = (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSectorSize
+ xSectorSize = (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSectorSize
if xSectorSize != 0 {
v1 = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xSectorSize})))(tls, id)
} else {
@@ -18541,34 +14947,34 @@ func _sqlite3OsDeviceCharacteristics(tls *libc.TLS, id uintptr) (r int32) {
if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods == uintptr(0) {
return 0
}
- return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxDeviceCharacteristics})))(tls, id)
+ return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxDeviceCharacteristics})))(tls, id)
}
func _sqlite3OsShmLock(tls *libc.TLS, id uintptr, offset int32, n int32, flags int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmLock})))(tls, id, offset, n, flags)
+ return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmLock})))(tls, id, offset, n, flags)
}
func _sqlite3OsShmBarrier(tls *libc.TLS, id uintptr) {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmBarrier})))(tls, id)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmBarrier})))(tls, id)
}
func _sqlite3OsShmUnmap(tls *libc.TLS, id uintptr, deleteFlag int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmUnmap})))(tls, id, deleteFlag)
+ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmUnmap})))(tls, id, deleteFlag)
}
func _sqlite3OsShmMap(tls *libc.TLS, id uintptr, iPage int32, pgsz int32, bExtend int32, pp uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmMap})))(tls, id, iPage, pgsz, bExtend, pp)
+ return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmMap})))(tls, id, iPage, pgsz, bExtend, pp)
}
// C documentation
//
// /* The real implementation of xFetch and xUnfetch */
func _sqlite3OsFetch(tls *libc.TLS, id uintptr, iOff Ti64, iAmt int32, pp uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFetch})))(tls, id, iOff, iAmt, pp)
+ return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFetch})))(tls, id, iOff, iAmt, pp)
}
func _sqlite3OsUnfetch(tls *libc.TLS, id uintptr, iOff Ti64, p uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnfetch})))(tls, id, iOff, p)
+ return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnfetch})))(tls, id, iOff, p)
}
// C documentation
@@ -18881,14 +15287,7 @@ type TBenignMallocHooks = struct {
type BenignMallocHooks = TBenignMallocHooks
-type TBenignMallocHooks1 = struct {
- FxBenignBegin uintptr
- FxBenignEnd uintptr
-}
-
-type BenignMallocHooks1 = TBenignMallocHooks1
-
-var _sqlite3Hooks = TBenignMallocHooks1{}
+var _sqlite3Hooks = TBenignMallocHooks{}
/* The "wsdHooks" macro will resolve to the appropriate BenignMallocHooks
** structure. If writable static data is unsupported on the target,
@@ -18903,9 +15302,9 @@ var _sqlite3Hooks = TBenignMallocHooks1{}
// ** Register hooks to call when sqlite3BeginBenignMalloc() and
// ** sqlite3EndBenignMalloc() are called, respectively.
// */
-func _sqlite3BenignMallocHooks(tls *libc.TLS, xBenignBegin uintptr, xBenignEnd uintptr) {
- _sqlite3Hooks.FxBenignBegin = xBenignBegin
- _sqlite3Hooks.FxBenignEnd = xBenignEnd
+func _sqlite3BenignMallocHooks(tls *libc.TLS, __ccgo_fp_xBenignBegin uintptr, __ccgo_fp_xBenignEnd uintptr) {
+ _sqlite3Hooks.FxBenignBegin = __ccgo_fp_xBenignBegin
+ _sqlite3Hooks.FxBenignEnd = __ccgo_fp_xBenignEnd
}
// C documentation
@@ -19653,6 +16052,8 @@ func _sqlite3MallocMutex(tls *libc.TLS) (r uintptr) {
return _mem0.Fmutex
}
+type t__ccgo_fp__Xsqlite3_memory_alarm_0 = func(*libc.TLS, uintptr, int64, int32)
+
// C documentation
//
// /*
@@ -19660,8 +16061,8 @@ func _sqlite3MallocMutex(tls *libc.TLS) (r uintptr) {
// ** that was invoked when memory usage grew too large. Now it is a
// ** no-op.
// */
-func Xsqlite3_memory_alarm(tls *libc.TLS, xCallback uintptr, pArg uintptr, iThreshold Tsqlite3_int64) (r int32) {
- _ = xCallback
+func Xsqlite3_memory_alarm(tls *libc.TLS, __ccgo_fp_xCallback uintptr, pArg uintptr, iThreshold Tsqlite3_int64) (r int32) {
+ _ = __ccgo_fp_xCallback
_ = pArg
_ = iThreshold
return SQLITE_OK
@@ -22969,63 +19370,10 @@ func _sqlite3PrngRestoreState(tls *libc.TLS) {
libc.X__builtin___memcpy_chk(tls, uintptr(unsafe.Pointer(&_sqlite3Prng)), uintptr(unsafe.Pointer(&_sqlite3SavedPrng)), uint64(132), ^t__predefined_size_t(0))
}
-/************** End of random.c **********************************************/
-/************** Begin file threads.c *****************************************/
-/*
-** 2012 July 21
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
-** This file presents a simple cross-platform threading interface for
-** use internally by SQLite.
-**
-** A "thread" can be created using sqlite3ThreadCreate(). This thread
-** runs independently of its creator until it is joined using
-** sqlite3ThreadJoin(), at which point it terminates.
-**
-** Threads do not have to be real. It could be that the work of the
-** "thread" is done by the main thread at either the sqlite3ThreadCreate()
-** or sqlite3ThreadJoin() call. This is, in fact, what happens in
-** single threaded systems. Nothing in SQLite requires multiple threads.
-** This interface exists so that applications that want to take advantage
-** of multiple cores can do so, while also allowing applications to stay
-** single-threaded if desired.
- */
-/* #include "sqliteInt.h" */
-
-/********************************* Unix Pthreads ****************************/
-/******************************** End Unix Pthreads *************************/
-
-/********************************* Win32 Threads ****************************/
-/******************************** End Win32 Threads *************************/
-
-/********************************* Single-Threaded **************************/
-/*
-** This implementation does not actually create a new thread. It does the
-** work of the thread in the main thread, when either the thread is created
-** or when it is joined
- */
-
-/* A running thread */
-type TSQLiteThread1 = struct {
- FxTask uintptr
- FpIn uintptr
- FpResult uintptr
-}
-
-type SQLiteThread1 = TSQLiteThread1
-
// C documentation
//
// /* Create a new thread */
-func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, xTask uintptr, pIn uintptr) (r int32) {
+func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, __ccgo_fp_xTask uintptr, pIn uintptr) (r int32) {
var p uintptr
_ = p
*(*uintptr)(unsafe.Pointer(ppThread)) = uintptr(0)
@@ -23034,11 +19382,11 @@ func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, xTask uintptr, pIn ui
return int32(SQLITE_NOMEM)
}
if int32(int64(p))/int32(17)&int32(1) != 0 {
- (*TSQLiteThread)(unsafe.Pointer(p)).FxTask = xTask
+ (*TSQLiteThread)(unsafe.Pointer(p)).FxTask = __ccgo_fp_xTask
(*TSQLiteThread)(unsafe.Pointer(p)).FpIn = pIn
} else {
(*TSQLiteThread)(unsafe.Pointer(p)).FxTask = uintptr(0)
- (*TSQLiteThread)(unsafe.Pointer(p)).FpResult = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(&struct{ uintptr }{xTask})))(tls, pIn)
+ (*TSQLiteThread)(unsafe.Pointer(p)).FpResult = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xTask})))(tls, pIn)
}
*(*uintptr)(unsafe.Pointer(ppThread)) = p
return SQLITE_OK
@@ -28340,22 +24688,6 @@ type TUnixUnusedFd = struct {
type UnixUnusedFd = TUnixUnusedFd
-/* An unused file descriptor */
-
-/*
-** Sometimes, after a file handle is closed by SQLite, the file descriptor
-** cannot be closed immediately. In these cases, instances of the following
-** structure are used to store the file descriptor while waiting for an
-** opportunity to either close or reuse it.
- */
-type TUnixUnusedFd1 = struct {
- Ffd int32
- Fflags int32
- FpNext uintptr
-}
-
-type UnixUnusedFd1 = TUnixUnusedFd1
-
// C documentation
//
// /*
@@ -28388,32 +24720,6 @@ type TunixFile = struct {
type unixFile = TunixFile
-type TunixFile1 = struct {
- FpMethod uintptr
- FpVfs uintptr
- FpInode uintptr
- Fh int32
- FeFileLock uint8
- FctrlFlags uint16
- FlastErrno int32
- FlockingContext uintptr
- FpPreallocatedUnused uintptr
- FzPath uintptr
- FpShm uintptr
- FszChunk int32
- FnFetchOut int32
- FmmapSize Tsqlite3_int64
- FmmapSizeActual Tsqlite3_int64
- FmmapSizeMax Tsqlite3_int64
- FpMapRegion uintptr
- FsectorSize int32
- FdeviceCharacteristics int32
- FopenFlags int32
- FfsFlags uint32
-}
-
-type unixFile1 = TunixFile1
-
// C documentation
//
// /* This variable holds the process id (pid) from when the xRandomness()
@@ -28635,7 +24941,7 @@ func _robustFchown(tls *libc.TLS, fd int32, uid Tuid_t, gid Tgid_t) (r int32) {
// ** system call pointer, or SQLITE_NOTFOUND if there is no configurable
// ** system call named zName.
// */
-func _unixSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, pNewFunc Tsqlite3_syscall_ptr) (r int32) {
+func _unixSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, __ccgo_fp_pNewFunc Tsqlite3_syscall_ptr) (r int32) {
var i uint32
var rc int32
_, _ = i, rc
@@ -28673,10 +24979,10 @@ func _unixSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, pNewFunc
_aSyscall[i].FpDefault = _aSyscall[i].FpCurrent
}
rc = SQLITE_OK
- if pNewFunc == uintptr(0) {
- pNewFunc = _aSyscall[i].FpDefault
+ if __ccgo_fp_pNewFunc == uintptr(0) {
+ __ccgo_fp_pNewFunc = _aSyscall[i].FpDefault
}
- _aSyscall[i].FpCurrent = pNewFunc
+ _aSyscall[i].FpCurrent = __ccgo_fp_pNewFunc
break
}
goto _2
@@ -29050,48 +25356,6 @@ type TunixFileId = struct {
type unixFileId = TunixFileId
-/*
-** An instance of the following structure is allocated for each open
-** inode.
-**
-** A single inode can have multiple file descriptors, so each unixFile
-** structure contains a pointer to an instance of this object and this
-** object keeps a count of the number of unixFile pointing to it.
-**
-** Mutex rules:
-**
-** (1) Only the pLockMutex mutex must be held in order to read or write
-** any of the locking fields:
-** nShared, nLock, eFileLock, bProcessLock, pUnused
-**
-** (2) When nRef>0, then the following fields are unchanging and can
-** be read (but not written) without holding any mutex:
-** fileId, pLockMutex
-**
-** (3) With the exceptions above, all the fields may only be read
-** or written while holding the global unixBigLock mutex.
-**
-** Deadlock prevention: The global unixBigLock mutex may not
-** be acquired while holding the pLockMutex mutex. If both unixBigLock
-** and pLockMutex are needed, then unixBigLock must be acquired first.
- */
-type TunixInodeInfo1 = struct {
- FfileId TunixFileId
- FpLockMutex uintptr
- FnShared int32
- FnLock int32
- FeFileLock uint8
- FbProcessLock uint8
- FpUnused uintptr
- FnRef int32
- FpShmNode uintptr
- FpNext uintptr
- FpPrev uintptr
- FsharedByte uint64
-}
-
-type unixInodeInfo1 = TunixInodeInfo1
-
// C documentation
//
// /*
@@ -29192,7 +25456,7 @@ func _closePendingFds(tls *libc.TLS, pFile uintptr) {
break
}
pNext = (*TUnixUnusedFd)(unsafe.Pointer(p)).FpNext
- _robust_close(tls, pFile, (*TUnixUnusedFd)(unsafe.Pointer(p)).Ffd, int32(40205))
+ _robust_close(tls, pFile, (*TUnixUnusedFd)(unsafe.Pointer(p)).Ffd, int32(40207))
Xsqlite3_free(tls, p)
goto _1
_1:
@@ -29881,7 +26145,7 @@ func _closeUnixFile(tls *libc.TLS, id uintptr) (r int32) {
pFile = id
_unixUnmapfile(tls, pFile)
if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
- _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40996))
+ _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40998))
(*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1)
}
Xsqlite3_free(tls, (*TunixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused)
@@ -30344,13 +26608,6 @@ type TafpLockingContext = struct {
type afpLockingContext = TafpLockingContext
-type TafpLockingContext1 = struct {
- Freserved int32
- FdbPath uintptr
-}
-
-type afpLockingContext1 = TafpLockingContext1
-
type TByteRangeLockPB2 = struct {
Foffset uint64
Flength uint64
@@ -31098,7 +27355,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) {
if fd >= 0 {
return SQLITE_OK
}
- return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42577)), __ccgo_ts+3603, bp, int32(42577))
+ return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42579)), __ccgo_ts+3603, bp, int32(42579))
}
// C documentation
@@ -31135,7 +27392,7 @@ func _unixSync(tls *libc.TLS, id uintptr, flags int32) (r int32) {
rc = _full_fsync(tls, (*TunixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly)
if rc != 0 {
_storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
- return _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(4)<pShmMutex must
-** be held while accessing any read/write fields.
- */
-type TunixShm1 = struct {
- FpShmNode uintptr
- FpNext uintptr
- FhasMutex Tu8
- Fid Tu8
- FsharedMask Tu16
- FexclMask Tu16
-}
-
-type unixShm1 = TunixShm1
-
/*
** Constants used for locking
*/
@@ -31687,7 +27855,7 @@ func _unixShmPurge(tls *libc.TLS, pFd uintptr) {
}
Xsqlite3_free(tls, (*TunixShmNode)(unsafe.Pointer(p)).FapRegion)
if (*TunixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
- _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(43394))
+ _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(43396))
(*TunixShmNode)(unsafe.Pointer(p)).FhShm = -int32(1)
}
(*TunixInodeInfo)(unsafe.Pointer((*TunixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -31750,7 +27918,7 @@ func _unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) (r in
** help detect if a -shm file truncation is legitimate or is the work
** or a rogue process. */
if rc == SQLITE_OK && _robust_ftruncate(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
- rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(18)<pFirst. This must be done while holding the
** pShmNode->pShmMutex.
*/
- Xsqlite3_mutex_enter(tls, (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpShmMutex)
- (*TunixShm1)(unsafe.Pointer(p)).FpNext = (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpFirst
- (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpFirst = p
- Xsqlite3_mutex_leave(tls, (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpShmMutex)
+ Xsqlite3_mutex_enter(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpShmMutex)
+ (*TunixShm)(unsafe.Pointer(p)).FpNext = (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpFirst
+ (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpFirst = p
+ Xsqlite3_mutex_leave(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpShmMutex)
return rc
/* Jump here on any error */
goto shm_open_err
@@ -31983,7 +28151,7 @@ func _unixShmMap(tls *libc.TLS, fd uintptr, iRegion int32, szRegion int32, bExte
*(*int32)(unsafe.Pointer(bp + 144)) = 0
if _seekAndWriteFd(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(iPg*_pgsz+_pgsz-int32(1)), __ccgo_ts+1665, int32(1), bp+144) != int32(1) {
zFile = (*TunixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
- rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(19)<= 0 {
- _robust_close(tls, pNew, h, int32(44804))
+ _robust_close(tls, pNew, h, int32(44806))
}
} else {
(*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -33426,7 +29594,7 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags
}
}
if fd < 0 {
- rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45252)), __ccgo_ts+3486, zName, int32(45252))
+ rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45254)), __ccgo_ts+3486, zName, int32(45254))
if rc == SQLITE_OK {
rc = rc2
}
@@ -33462,7 +29630,7 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags
}
if libc.Xfstatfs(tls, fd, bp) == -int32(1) {
_storeLastErrno(tls, p, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
- _robust_close(tls, p, fd, int32(45306))
+ _robust_close(tls, p, fd, int32(45308))
return libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(13)< int32(SQLITE_MAX_SYMLINK) {
- (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45503))
+ (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45505))
return
}
got = (*(*func(*libc.TLS, uintptr, uintptr, Tsize_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls, zIn, bp+144, libc.Uint64FromInt64(1026)-libc.Uint64FromInt32(2))
if got <= 0 || got >= libc.Int64FromInt64(1026)-libc.Int64FromInt32(2) {
- (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45508)), __ccgo_ts+3675, zIn, int32(45508))
+ (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45510)), __ccgo_ts+3675, zIn, int32(45510))
return
}
(*(*[1026]int8)(unsafe.Pointer(bp + 144)))[got] = 0
@@ -33740,14 +29898,14 @@ func _unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z
(*(*TDbPath)(unsafe.Pointer(bp))).FzOut = zOut
if int32(*(*int8)(unsafe.Pointer(zPath))) != int32('/') {
if (*(*func(*libc.TLS, uintptr, Tsize_t) uintptr)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(3)].FpCurrent})))(tls, bp+24, libc.Uint64FromInt64(1026)-libc.Uint64FromInt32(2)) == uintptr(0) {
- return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45566)), __ccgo_ts+3504, zPath, int32(45566))
+ return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45568)), __ccgo_ts+3504, zPath, int32(45568))
}
_appendAllPathElements(tls, bp, bp+24)
}
_appendAllPathElements(tls, bp, zPath)
*(*int8)(unsafe.Pointer(zOut + uintptr((*(*TDbPath)(unsafe.Pointer(bp))).FnUsed))) = 0
if (*(*TDbPath)(unsafe.Pointer(bp))).Frc != 0 || (*(*TDbPath)(unsafe.Pointer(bp))).FnUsed < int32(2) {
- return _sqlite3CantopenError(tls, int32(45572))
+ return _sqlite3CantopenError(tls, int32(45574))
}
if (*(*TDbPath)(unsafe.Pointer(bp))).FnSymlink != 0 {
return libc.Int32FromInt32(SQLITE_OK) | libc.Int32FromInt32(2)<= 0 {
(*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(16)].FpCurrent})))(tls, bp)
- _robust_close(tls, pFile, fd, int32(46243))
+ _robust_close(tls, pFile, fd, int32(46245))
}
libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+4258, libc.VaList(bp+2144, cPath, bp+2065))
}
@@ -34630,14 +30774,14 @@ func _proxyTakeConch(tls *libc.TLS, pFile uintptr) (r int32) {
;
if rc == SQLITE_OK && (*TunixFile)(unsafe.Pointer(pFile)).FopenFlags != 0 {
if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
- _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(46496))
+ _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(46498))
}
(*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1)
fd = _robust_open(tls, (*TproxyLockingContext)(unsafe.Pointer(pCtx)).FdbPath, (*TunixFile)(unsafe.Pointer(pFile)).FopenFlags, uint16(0))
if fd >= 0 {
(*TunixFile)(unsafe.Pointer(pFile)).Fh = fd
} else {
- rc = _sqlite3CantopenError(tls, int32(46504)) /* SQLITE_BUSY? proxyTakeConch called
+ rc = _sqlite3CantopenError(tls, int32(46506)) /* SQLITE_BUSY? proxyTakeConch called
during locking */
}
}
@@ -35542,71 +31686,6 @@ type TMemStore = struct {
type MemStore = TMemStore
-/* Access to a lower-level VFS that (might) implement dynamic loading,
-** access to randomness, etc.
- */
-
-/* Storage for a memdb file.
-**
-** An memdb object can be shared or separate. Shared memdb objects can be
-** used by more than one database connection. Mutexes are used by shared
-** memdb objects to coordinate access. Separate memdb objects are only
-** connected to a single database connection and do not require additional
-** mutexes.
-**
-** Shared memdb objects have .zFName!=0 and .pMutex!=0. They are created
-** using "file:/name?vfs=memdb". The first character of the name must be
-** "/" or else the object will be a separate memdb object. All shared
-** memdb objects are stored in memdb_g.apMemStore[] in an arbitrary order.
-**
-** Separate memdb objects are created using a name that does not begin
-** with "/" or using sqlite3_deserialize().
-**
-** Access rules for shared MemStore objects:
-**
-** * .zFName is initialized when the object is created and afterwards
-** is unchanged until the object is destroyed. So it can be accessed
-** at any time as long as we know the object is not being destroyed,
-** which means while either the SQLITE_MUTEX_STATIC_VFS1 or
-** .pMutex is held or the object is not part of memdb_g.apMemStore[].
-**
-** * Can .pMutex can only be changed while holding the
-** SQLITE_MUTEX_STATIC_VFS1 mutex or while the object is not part
-** of memdb_g.apMemStore[].
-**
-** * Other fields can only be changed while holding the .pMutex mutex
-** or when the .nRef is less than zero and the object is not part of
-** memdb_g.apMemStore[].
-**
-** * The .aData pointer has the added requirement that it can can only
-** be changed (for resizing) when nMmap is zero.
-**
- */
-type TMemStore1 = struct {
- Fsz Tsqlite3_int64
- FszAlloc Tsqlite3_int64
- FszMax Tsqlite3_int64
- FaData uintptr
- FpMutex uintptr
- FnMmap int32
- FmFlags uint32
- FnRdLock int32
- FnWrLock int32
- FnRef int32
- FzFName uintptr
-}
-
-type MemStore1 = TMemStore1
-
-/* An open file */
-type TMemFile1 = struct {
- Fbase Tsqlite3_file
- FpStore uintptr
- FeLock int32
-}
-
-type MemFile1 = TMemFile1
-
// C documentation
//
// /*
@@ -36465,101 +32544,6 @@ func _sqlite3MemdbInit(tls *libc.TLS) (r int32) {
return Xsqlite3_vfs_register(tls, uintptr(unsafe.Pointer(&_memdb_vfs)), 0)
}
-/************** End of memdb.c ***********************************************/
-/************** Begin file bitvec.c ******************************************/
-/*
-** 2008 February 16
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file implements an object that represents a fixed-length
-** bitmap. Bits are numbered starting with 1.
-**
-** A bitmap is used to record which pages of a database file have been
-** journalled during a transaction, or which pages have the "dont-write"
-** property. Usually only a few pages are meet either condition.
-** So the bitmap is usually sparse and has low cardinality.
-** But sometimes (for example when during a DROP of a large table) most
-** or all of the pages in a database can get journalled. In those cases,
-** the bitmap becomes dense with high cardinality. The algorithm needs
-** to handle both cases well.
-**
-** The size of the bitmap is fixed when the object is created.
-**
-** All bits are clear when the bitmap is created. Individual bits
-** may be set or cleared one at a time.
-**
-** Test operations are about 100 times more common that set operations.
-** Clear operations are exceedingly rare. There are usually between
-** 5 and 500 set operations per Bitvec object, though the number of sets can
-** sometimes grow into tens of thousands or larger. The size of the
-** Bitvec object is the number of pages in the database file at the
-** start of a transaction, and is thus usually less than a few thousand,
-** but can be as large as 2 billion for a really big database.
- */
-/* #include "sqliteInt.h" */
-
-/* Size of the Bitvec structure in bytes. */
-
-/* Round the union size down to the nearest pointer boundary, since that's how
-** it will be aligned within the Bitvec struct. */
-
-/* Type of the array "element" for the bitmap representation.
-** Should be a power of 2, and ideally, evenly divide into BITVEC_USIZE.
-** Setting this to the "natural word" size of your CPU may improve
-** performance. */
-/* Size, in bits, of the bitmap element. */
-/* Number of elements in a bitmap array. */
-/* Number of bits in the bitmap array. */
-
-/* Number of u32 values in hash table. */
-/* Maximum number of entries in hash table before
-** sub-dividing and re-hashing. */
-/* Hashing function for the aHash representation.
-** Empirical testing showed that the *37 multiplier
-** (an arbitrary prime)in the hash function provided
-** no fewer collisions than the no-op *1. */
-
-/*
-** A bitmap is an instance of the following structure.
-**
-** This bitmap records the existence of zero or more bits
-** with values between 1 and iSize, inclusive.
-**
-** There are three possible representations of the bitmap.
-** If iSize<=BITVEC_NBIT, then Bitvec.u.aBitmap[] is a straight
-** bitmap. The least significant bit is bit 1.
-**
-** If iSize>BITVEC_NBIT and iDivisor==0 then Bitvec.u.aHash[] is
-** a hash table that will hold up to BITVEC_MXHASH distinct values.
-**
-** Otherwise, the value i is redirected into one of BITVEC_NPTR
-** sub-bitmaps pointed to by Bitvec.u.apSub[]. Each subbitmap
-** handles up to iDivisor separate values of i. apSub[0] holds
-** values between 1 and iDivisor. apSub[1] holds values between
-** iDivisor+1 and 2*iDivisor. apSub[N] holds values between
-** N*iDivisor+1 and (N+1)*iDivisor. Each subbitmap is normalized
-** to hold deal with values between 1 and iDivisor.
- */
-type TBitvec1 = struct {
- FiSize Tu32
- FnSet Tu32
- FiDivisor Tu32
- Fu struct {
- FaHash [0][124]Tu32
- FapSub [0][62]uintptr
- FaBitmap [496]Tu8
- }
-}
-
-type Bitvec1 = TBitvec1
-
// C documentation
//
// /*
@@ -36964,66 +32948,6 @@ bitvec_end:
return rc
}
-/************** End of bitvec.c **********************************************/
-/************** Begin file pcache.c ******************************************/
-/*
-** 2008 August 05
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file implements that page cache.
- */
-/* #include "sqliteInt.h" */
-
-/*
-** A complete page cache is an instance of this structure. Every
-** entry in the cache holds a single page of the database file. The
-** btree layer only operates on the cached copy of the database pages.
-**
-** A page cache entry is "clean" if it exactly matches what is currently
-** on disk. A page is "dirty" if it has been modified and needs to be
-** persisted to disk.
-**
-** pDirty, pDirtyTail, pSynced:
-** All dirty pages are linked into the doubly linked list using
-** PgHdr.pDirtyNext and pDirtyPrev. The list is maintained in LRU order
-** such that p was added to the list more recently than p->pDirtyNext.
-** PCache.pDirty points to the first (newest) element in the list and
-** pDirtyTail to the last (oldest).
-**
-** The PCache.pSynced variable is used to optimize searching for a dirty
-** page to eject from the cache mid-transaction. It is better to eject
-** a page that does not require a journal sync than one that does.
-** Therefore, pSynced is maintained so that it *almost* always points
-** to either the oldest page in the pDirty/pDirtyTail list that has a
-** clear PGHDR_NEED_SYNC flag or to a page that is older than this one
-** (so that the right page to eject can be found by following pDirtyPrev
-** pointers).
- */
-type TPCache2 = struct {
- FpDirty uintptr
- FpDirtyTail uintptr
- FpSynced uintptr
- FnRefSum Ti64
- FszCache int32
- FszSpill int32
- FszPage int32
- FszExtra int32
- FbPurgeable Tu8
- FeCreate Tu8
- FxStress uintptr
- FpStress uintptr
- FpCache uintptr
-}
-
-type PCache2 = TPCache2
-
/********************************** Test and Debug Logic **********************/
/*
** Debug tracing macros. Enable by by changing the "0" to "1" and
@@ -37197,14 +33121,14 @@ func _sqlite3PcacheSize(tls *libc.TLS) (r int32) {
// ** to this module, the extra space really ends up being the MemPage
// ** structure in the pager.
// */
-func _sqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) (r int32) {
+func _sqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, __ccgo_fp_xStress uintptr, pStress uintptr, p uintptr) (r int32) {
libc.X__builtin___memset_chk(tls, p, 0, uint64(80), ^t__predefined_size_t(0))
(*TPCache)(unsafe.Pointer(p)).FszPage = int32(1)
(*TPCache)(unsafe.Pointer(p)).FszExtra = szExtra
/* First 8 bytes will be zeroed */
(*TPCache)(unsafe.Pointer(p)).FbPurgeable = libc.Uint8FromInt32(bPurgeable)
(*TPCache)(unsafe.Pointer(p)).FeCreate = uint8(2)
- (*TPCache)(unsafe.Pointer(p)).FxStress = xStress
+ (*TPCache)(unsafe.Pointer(p)).FxStress = __ccgo_fp_xStress
(*TPCache)(unsafe.Pointer(p)).FpStress = pStress
(*TPCache)(unsafe.Pointer(p)).FszCache = int32(100)
(*TPCache)(unsafe.Pointer(p)).FszSpill = int32(1)
@@ -38020,123 +33944,6 @@ type TPGroup = struct {
type PGroup = TPGroup
-/*
-** Each cache entry is represented by an instance of the following
-** structure. A buffer of PgHdr1.pCache->szPage bytes is allocated
-** directly before this structure and is used to cache the page content.
-**
-** When reading a corrupt database file, it is possible that SQLite might
-** read a few bytes (no more than 16 bytes) past the end of the page buffer.
-** It will only read past the end of the page buffer, never write. This
-** object is positioned immediately after the page buffer to serve as an
-** overrun area, so that overreads are harmless.
-**
-** Variables isBulkLocal and isAnchor were once type "u8". That works,
-** but causes a 2-byte gap in the structure for most architectures (since
-** pointers must be either 4 or 8-byte aligned). As this structure is located
-** in memory directly after the associated page data, if the database is
-** corrupt, code at the b-tree layer may overread the page buffer and
-** read part of this structure before the corruption is detected. This
-** can cause a valgrind error if the uninitialized gap is accessed. Using u16
-** ensures there is no such gap, and therefore no bytes of uninitialized
-** memory in the structure.
-**
-** The pLruNext and pLruPrev pointers form a double-linked circular list
-** of all pages that are unpinned. The PGroup.lru element (which should be
-** the only element on the list with PgHdr1.isAnchor set to 1) forms the
-** beginning and the end of the list.
- */
-type TPgHdr11 = struct {
- Fpage Tsqlite3_pcache_page
- FiKey uint32
- FisBulkLocal Tu16
- FisAnchor Tu16
- FpNext uintptr
- FpCache uintptr
- FpLruNext uintptr
- FpLruPrev uintptr
-}
-
-type PgHdr11 = TPgHdr11
-
-/*
-** A page is pinned if it is not on the LRU list. To be "pinned" means
-** that the page is in active use and must not be deallocated.
- */
-
-/* Each page cache (or PCache) belongs to a PGroup. A PGroup is a set
-** of one or more PCaches that are able to recycle each other's unpinned
-** pages when they are under memory pressure. A PGroup is an instance of
-** the following object.
-**
-** This page cache implementation works in one of two modes:
-**
-** (1) Every PCache is the sole member of its own PGroup. There is
-** one PGroup per PCache.
-**
-** (2) There is a single global PGroup that all PCaches are a member
-** of.
-**
-** Mode 1 uses more memory (since PCache instances are not able to rob
-** unused pages from other PCaches) but it also operates without a mutex,
-** and is therefore often faster. Mode 2 requires a mutex in order to be
-** threadsafe, but recycles pages more efficiently.
-**
-** For mode (1), PGroup.mutex is NULL. For mode (2) there is only a single
-** PGroup which is the pcache1.grp global variable and its mutex is
-** SQLITE_MUTEX_STATIC_LRU.
- */
-type TPGroup1 = struct {
- Fmutex uintptr
- FnMaxPage uint32
- FnMinPage uint32
- FmxPinned uint32
- FnPurgeable uint32
- Flru TPgHdr1
-}
-
-type PGroup1 = TPGroup1
-
-/* Each page cache is an instance of the following object. Every
-** open database file (including each in-memory database and each
-** temporary or transient database) has a single page cache which
-** is an instance of this object.
-**
-** Pointers to structures of this type are cast and returned as
-** opaque sqlite3_pcache* handles.
- */
-type TPCache11 = struct {
- FpGroup uintptr
- FpnPurgeable uintptr
- FszPage int32
- FszExtra int32
- FszAlloc int32
- FbPurgeable int32
- FnMin uint32
- FnMax uint32
- Fn90pct uint32
- FiMaxKey uint32
- FnPurgeableDummy uint32
- FnRecyclable uint32
- FnPage uint32
- FnHash uint32
- FapHash uintptr
- FpFree uintptr
- FpBulk uintptr
-}
-
-type PCache11 = TPCache11
-
-/*
-** Free slots in the allocator used to divide up the global page cache
-** buffer provided using the SQLITE_CONFIG_PAGECACHE mechanism.
- */
-type TPgFreeslot1 = struct {
- FpNext uintptr
-}
-
-type PgFreeslot1 = TPgFreeslot1
-
// C documentation
//
// /*
@@ -39333,25 +35140,6 @@ type TRowSetChunk = struct {
type RowSetChunk = TRowSetChunk
-/*
-** A RowSet in an instance of the following structure.
-**
-** A typedef of this structure if found in sqliteInt.h.
- */
-type TRowSet1 = struct {
- FpChunk uintptr
- Fdb uintptr
- FpEntry uintptr
- FpLast uintptr
- FpFresh uintptr
- FpForest uintptr
- FnFresh Tu16
- FrsFlags Tu16
- FiBatch int32
-}
-
-type RowSet1 = TRowSet1
-
/*
** Allowed values for RowSet.rsFlags
*/
@@ -40313,258 +36101,6 @@ type TPagerSavepoint = struct {
type PagerSavepoint = TPagerSavepoint
-type TPagerSavepoint1 = struct {
- FiOffset Ti64
- FiHdrOffset Ti64
- FpInSavepoint uintptr
- FnOrig TPgno
- FiSubRec TPgno
- FbTruncateOnRelease int32
- FaWalData [4]Tu32
-}
-
-type PagerSavepoint1 = TPagerSavepoint1
-
-/*
-** Bits of the Pager.doNotSpill flag. See further description below.
- */
-
-/*
-** An open page cache is an instance of struct Pager. A description of
-** some of the more important member variables follows:
-**
-** eState
-**
-** The current 'state' of the pager object. See the comment and state
-** diagram above for a description of the pager state.
-**
-** eLock
-**
-** For a real on-disk database, the current lock held on the database file -
-** NO_LOCK, SHARED_LOCK, RESERVED_LOCK or EXCLUSIVE_LOCK.
-**
-** For a temporary or in-memory database (neither of which require any
-** locks), this variable is always set to EXCLUSIVE_LOCK. Since such
-** databases always have Pager.exclusiveMode==1, this tricks the pager
-** logic into thinking that it already has all the locks it will ever
-** need (and no reason to release them).
-**
-** In some (obscure) circumstances, this variable may also be set to
-** UNKNOWN_LOCK. See the comment above the #define of UNKNOWN_LOCK for
-** details.
-**
-** changeCountDone
-**
-** This boolean variable is used to make sure that the change-counter
-** (the 4-byte header field at byte offset 24 of the database file) is
-** not updated more often than necessary.
-**
-** It is set to true when the change-counter field is updated, which
-** can only happen if an exclusive lock is held on the database file.
-** It is cleared (set to false) whenever an exclusive lock is
-** relinquished on the database file. Each time a transaction is committed,
-** The changeCountDone flag is inspected. If it is true, the work of
-** updating the change-counter is omitted for the current transaction.
-**
-** This mechanism means that when running in exclusive mode, a connection
-** need only update the change-counter once, for the first transaction
-** committed.
-**
-** setSuper
-**
-** When PagerCommitPhaseOne() is called to commit a transaction, it may
-** (or may not) specify a super-journal name to be written into the
-** journal file before it is synced to disk.
-**
-** Whether or not a journal file contains a super-journal pointer affects
-** the way in which the journal file is finalized after the transaction is
-** committed or rolled back when running in "journal_mode=PERSIST" mode.
-** If a journal file does not contain a super-journal pointer, it is
-** finalized by overwriting the first journal header with zeroes. If
-** it does contain a super-journal pointer the journal file is finalized
-** by truncating it to zero bytes, just as if the connection were
-** running in "journal_mode=truncate" mode.
-**
-** Journal files that contain super-journal pointers cannot be finalized
-** simply by overwriting the first journal-header with zeroes, as the
-** super-journal pointer could interfere with hot-journal rollback of any
-** subsequently interrupted transaction that reuses the journal file.
-**
-** The flag is cleared as soon as the journal file is finalized (either
-** by PagerCommitPhaseTwo or PagerRollback). If an IO error prevents the
-** journal file from being successfully finalized, the setSuper flag
-** is cleared anyway (and the pager will move to ERROR state).
-**
-** doNotSpill
-**
-** This variables control the behavior of cache-spills (calls made by
-** the pcache module to the pagerStress() routine to write cached data
-** to the file-system in order to free up memory).
-**
-** When bits SPILLFLAG_OFF or SPILLFLAG_ROLLBACK of doNotSpill are set,
-** writing to the database from pagerStress() is disabled altogether.
-** The SPILLFLAG_ROLLBACK case is done in a very obscure case that
-** comes up during savepoint rollback that requires the pcache module
-** to allocate a new page to prevent the journal file from being written
-** while it is being traversed by code in pager_playback(). The SPILLFLAG_OFF
-** case is a user preference.
-**
-** If the SPILLFLAG_NOSYNC bit is set, writing to the database from
-** pagerStress() is permitted, but syncing the journal file is not.
-** This flag is set by sqlite3PagerWrite() when the file-system sector-size
-** is larger than the database page-size in order to prevent a journal sync
-** from happening in between the journalling of two pages on the same sector.
-**
-** subjInMemory
-**
-** This is a boolean variable. If true, then any required sub-journal
-** is opened as an in-memory journal file. If false, then in-memory
-** sub-journals are only used for in-memory pager files.
-**
-** This variable is updated by the upper layer each time a new
-** write-transaction is opened.
-**
-** dbSize, dbOrigSize, dbFileSize
-**
-** Variable dbSize is set to the number of pages in the database file.
-** It is valid in PAGER_READER and higher states (all states except for
-** OPEN and ERROR).
-**
-** dbSize is set based on the size of the database file, which may be
-** larger than the size of the database (the value stored at offset
-** 28 of the database header by the btree). If the size of the file
-** is not an integer multiple of the page-size, the value stored in
-** dbSize is rounded down (i.e. a 5KB file with 2K page-size has dbSize==2).
-** Except, any file that is greater than 0 bytes in size is considered
-** to have at least one page. (i.e. a 1KB file with 2K page-size leads
-** to dbSize==1).
-**
-** During a write-transaction, if pages with page-numbers greater than
-** dbSize are modified in the cache, dbSize is updated accordingly.
-** Similarly, if the database is truncated using PagerTruncateImage(),
-** dbSize is updated.
-**
-** Variables dbOrigSize and dbFileSize are valid in states
-** PAGER_WRITER_LOCKED and higher. dbOrigSize is a copy of the dbSize
-** variable at the start of the transaction. It is used during rollback,
-** and to determine whether or not pages need to be journalled before
-** being modified.
-**
-** Throughout a write-transaction, dbFileSize contains the size of
-** the file on disk in pages. It is set to a copy of dbSize when the
-** write-transaction is first opened, and updated when VFS calls are made
-** to write or truncate the database file on disk.
-**
-** The only reason the dbFileSize variable is required is to suppress
-** unnecessary calls to xTruncate() after committing a transaction. If,
-** when a transaction is committed, the dbFileSize variable indicates
-** that the database file is larger than the database image (Pager.dbSize),
-** pager_truncate() is called. The pager_truncate() call uses xFilesize()
-** to measure the database file on disk, and then truncates it if required.
-** dbFileSize is not used when rolling back a transaction. In this case
-** pager_truncate() is called unconditionally (which means there may be
-** a call to xFilesize() that is not strictly required). In either case,
-** pager_truncate() may cause the file to become smaller or larger.
-**
-** dbHintSize
-**
-** The dbHintSize variable is used to limit the number of calls made to
-** the VFS xFileControl(FCNTL_SIZE_HINT) method.
-**
-** dbHintSize is set to a copy of the dbSize variable when a
-** write-transaction is opened (at the same time as dbFileSize and
-** dbOrigSize). If the xFileControl(FCNTL_SIZE_HINT) method is called,
-** dbHintSize is increased to the number of pages that correspond to the
-** size-hint passed to the method call. See pager_write_pagelist() for
-** details.
-**
-** errCode
-**
-** The Pager.errCode variable is only ever used in PAGER_ERROR state. It
-** is set to zero in all other states. In PAGER_ERROR state, Pager.errCode
-** is always set to SQLITE_FULL, SQLITE_IOERR or one of the SQLITE_IOERR_XXX
-** sub-codes.
-**
-** syncFlags, walSyncFlags
-**
-** syncFlags is either SQLITE_SYNC_NORMAL (0x02) or SQLITE_SYNC_FULL (0x03).
-** syncFlags is used for rollback mode. walSyncFlags is used for WAL mode
-** and contains the flags used to sync the checkpoint operations in the
-** lower two bits, and sync flags used for transaction commits in the WAL
-** file in bits 0x04 and 0x08. In other words, to get the correct sync flags
-** for checkpoint operations, use (walSyncFlags&0x03) and to get the correct
-** sync flags for transaction commit, use ((walSyncFlags>>2)&0x03). Note
-** that with synchronous=NORMAL in WAL mode, transaction commit is not synced
-** meaning that the 0x04 and 0x08 bits are both zero.
- */
-type TPager1 = struct {
- FpVfs uintptr
- FexclusiveMode Tu8
- FjournalMode Tu8
- FuseJournal Tu8
- FnoSync Tu8
- FfullSync Tu8
- FextraSync Tu8
- FsyncFlags Tu8
- FwalSyncFlags Tu8
- FtempFile Tu8
- FnoLock Tu8
- FreadOnly Tu8
- FmemDb Tu8
- FmemVfs Tu8
- FeState Tu8
- FeLock Tu8
- FchangeCountDone Tu8
- FsetSuper Tu8
- FdoNotSpill Tu8
- FsubjInMemory Tu8
- FbUseFetch Tu8
- FhasHeldSharedLock Tu8
- FdbSize TPgno
- FdbOrigSize TPgno
- FdbFileSize TPgno
- FdbHintSize TPgno
- FerrCode int32
- FnRec int32
- FcksumInit Tu32
- FnSubRec Tu32
- FpInJournal uintptr
- Ffd uintptr
- Fjfd uintptr
- Fsjfd uintptr
- FjournalOff Ti64
- FjournalHdr Ti64
- FpBackup uintptr
- FaSavepoint uintptr
- FnSavepoint int32
- FiDataVersion Tu32
- FdbFileVers [16]int8
- FnMmapOut int32
- FszMmap Tsqlite3_int64
- FpMmapFreelist uintptr
- FnExtra Tu16
- FnReserve Ti16
- FvfsFlags Tu32
- FsectorSize Tu32
- FmxPgno TPgno
- FlckPgno TPgno
- FpageSize Ti64
- FjournalSizeLimit Ti64
- FzFilename uintptr
- FzJournal uintptr
- FxBusyHandler uintptr
- FpBusyHandlerArg uintptr
- FaStat [4]Tu32
- FxReiniter uintptr
- FxGet uintptr
- FpTmpSpace uintptr
- FpPCache uintptr
- FpWal uintptr
- FzWal uintptr
-}
-
-type Pager1 = TPager1
-
/*
** Indexes for use with Pager.aStat[]. The Pager.aStat[] array contains
** the values accessed by passing SQLITE_DBSTATUS_CACHE_HIT, CACHE_MISS
@@ -40663,7 +36199,7 @@ func _sqlite3PagerDirectReadOk(tls *libc.TLS, pPager uintptr, pgno TPgno) (r int
return 0
} /* Case (4) */
}
- if (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TPager)(unsafe.Pointer(pPager)).Ffd)).FpMethods)).FxDeviceCharacteristics})))(tls, (*TPager)(unsafe.Pointer(pPager)).Ffd)&int32(SQLITE_IOCAP_SUBPAGE_READ) == 0 {
+ if (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TPager)(unsafe.Pointer(pPager)).Ffd)).FpMethods)).FxDeviceCharacteristics})))(tls, (*TPager)(unsafe.Pointer(pPager)).Ffd)&int32(SQLITE_IOCAP_SUBPAGE_READ) == 0 {
return 0 /* Case (2) */
}
return int32(1)
@@ -43148,7 +38684,7 @@ func _pagerFixMaplimit(tls *libc.TLS, pPager uintptr) {
var _ /* sz at bp+0 */ Tsqlite3_int64
_ = fd
fd = (*TPager)(unsafe.Pointer(pPager)).Ffd
- if (*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods != uintptr(0) && (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FiVersion >= int32(3) {
+ if (*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods != uintptr(0) && (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FiVersion >= int32(3) {
*(*Tsqlite3_int64)(unsafe.Pointer(bp)) = (*TPager)(unsafe.Pointer(pPager)).FszMmap
(*TPager)(unsafe.Pointer(pPager)).FbUseFetch = libc.BoolUint8(*(*Tsqlite3_int64)(unsafe.Pointer(bp)) > libc.Int64FromInt32(0))
_setGetterMethod(tls, pPager)
@@ -43339,10 +38875,10 @@ func _pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32
// ** retried. If it returns zero, then the SQLITE_BUSY error is
// ** returned to the caller of the pager API function.
// */
-func _sqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) {
+func _sqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, __ccgo_fp_xBusyHandler uintptr, pBusyHandlerArg uintptr) {
var ap uintptr
_ = ap
- (*TPager)(unsafe.Pointer(pPager)).FxBusyHandler = xBusyHandler
+ (*TPager)(unsafe.Pointer(pPager)).FxBusyHandler = __ccgo_fp_xBusyHandler
(*TPager)(unsafe.Pointer(pPager)).FpBusyHandlerArg = pBusyHandlerArg
ap = pPager + 232
_sqlite3OsFileControlHint(tls, (*TPager)(unsafe.Pointer(pPager)).Ffd, int32(SQLITE_FCNTL_BUSYHANDLER), ap)
@@ -44243,7 +39779,7 @@ func _sqlite3PagerFlush(tls *libc.TLS, pPager uintptr) (r int32) {
// ** (sqlite3Malloc() is used to allocate memory), SQLITE_CANTOPEN or
// ** various SQLITE_IO_XXX errors.
// */
-func _sqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) (r int32) {
+func _sqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, __ccgo_fp_xReinit uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var iDc, journalFileSize, memDb, memJM, nPathname, nUriByte, pcacheSize, rc, readOnly, tempFile, useJournal, v4 int32
@@ -44318,7 +39854,7 @@ func _sqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename u
** as it will not be possible to open the journal file or even
** check for a hot-journal before reading.
*/
- rc = _sqlite3CantopenError(tls, int32(62857))
+ rc = _sqlite3CantopenError(tls, int32(62859))
}
if rc != SQLITE_OK {
_sqlite3DbFree(tls, uintptr(0), zPathname)
@@ -44540,7 +40076,7 @@ _3:
}
/* pPager->xBusyHandler = 0; */
/* pPager->pBusyHandlerArg = 0; */
- (*TPager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FxReiniter = xReinit
+ (*TPager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FxReiniter = __ccgo_fp_xReinit
_setGetterMethod(tls, *(*uintptr)(unsafe.Pointer(bp)))
/* memset(pPager->aHash, 0, sizeof(pPager->aHash)); */
/* pPager->szMmap = SQLITE_DEFAULT_MMAP_SIZE // will be set by btree.c */
@@ -44796,7 +40332,7 @@ func _sqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) (r int32) {
f = libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_MAIN_JOURNAL)
rc = _sqlite3OsOpen(tls, pVfs, (*TPager)(unsafe.Pointer(pPager)).FzJournal, (*TPager)(unsafe.Pointer(pPager)).Fjfd, f, bp+8)
if rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&int32(SQLITE_OPEN_READONLY) != 0 {
- rc = _sqlite3CantopenError(tls, int32(63378))
+ rc = _sqlite3CantopenError(tls, int32(63380))
_sqlite3OsClose(tls, (*TPager)(unsafe.Pointer(pPager)).Fjfd)
}
}
@@ -44971,7 +40507,7 @@ func _getPageNormal(tls *libc.TLS, pPager uintptr, pgno TPgno, ppPage uintptr, f
_, _, _, _ = noContent, pPg, rc, v1
rc = SQLITE_OK
if pgno == uint32(0) {
- return _sqlite3CorruptError(tls, int32(63591))
+ return _sqlite3CorruptError(tls, int32(63593))
}
*(*uintptr)(unsafe.Pointer(bp)) = _sqlite3PcacheFetch(tls, (*TPager)(unsafe.Pointer(pPager)).FpPCache, pgno, int32(3))
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
@@ -45002,7 +40538,7 @@ func _getPageNormal(tls *libc.TLS, pPager uintptr, pgno TPgno, ppPage uintptr, f
** (2) Never try to fetch the locking page
*/
if pgno == (*TPager)(unsafe.Pointer(pPager)).FlckPgno {
- rc = _sqlite3CorruptError(tls, int32(63623))
+ rc = _sqlite3CorruptError(tls, int32(63625))
goto pager_acquire_err
}
(*TPgHdr)(unsafe.Pointer(pPg)).FpPager = pPager
@@ -45074,7 +40610,7 @@ func _getPageMMap(tls *libc.TLS, pPager uintptr, pgno TPgno, ppPage uintptr, fla
** test in the previous statement, and avoid testing pgno==0 in the
** common case where pgno is large. */
if pgno <= uint32(1) && pgno == uint32(0) {
- return _sqlite3CorruptError(tls, int32(63706))
+ return _sqlite3CorruptError(tls, int32(63708))
}
if bMmapOk != 0 && (*TPager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
rc = _sqlite3WalFindFrame(tls, (*TPager)(unsafe.Pointer(pPager)).FpWal, pgno, bp+8)
@@ -46431,7 +41967,7 @@ func _sqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno TPgn
if pPgOld != 0 {
if (*TPgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
_sqlite3PagerUnrefNotNull(tls, pPgOld)
- return _sqlite3CorruptError(tls, int32(65272))
+ return _sqlite3CorruptError(tls, int32(65274))
}
p4 = pPg + 52
*(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) | libc.Int32FromUint16((*TPgHdr)(unsafe.Pointer(pPgOld)).Fflags)&libc.Int32FromInt32(PGHDR_NEED_SYNC))
@@ -47280,232 +42816,6 @@ type TWalCkptInfo = struct {
type WalCkptInfo = TWalCkptInfo
-/*
-** The following object holds a copy of the wal-index header content.
-**
-** The actual header in the wal-index consists of two copies of this
-** object followed by one instance of the WalCkptInfo object.
-** For all versions of SQLite through 3.10.0 and probably beyond,
-** the locking bytes (WalCkptInfo.aLock) start at offset 120 and
-** the total header size is 136 bytes.
-**
-** The szPage value can be any power of 2 between 512 and 32768, inclusive.
-** Or it can be 1 to represent a 65536-byte page. The latter case was
-** added in 3.7.1 when support for 64K pages was added.
- */
-type TWalIndexHdr1 = struct {
- FiVersion Tu32
- Funused Tu32
- FiChange Tu32
- FisInit Tu8
- FbigEndCksum Tu8
- FszPage Tu16
- FmxFrame Tu32
- FnPage Tu32
- FaFrameCksum [2]Tu32
- FaSalt [2]Tu32
- FaCksum [2]Tu32
-}
-
-type WalIndexHdr1 = TWalIndexHdr1
-
-/*
-** A copy of the following object occurs in the wal-index immediately
-** following the second copy of the WalIndexHdr. This object stores
-** information used by checkpoint.
-**
-** nBackfill is the number of frames in the WAL that have been written
-** back into the database. (We call the act of moving content from WAL to
-** database "backfilling".) The nBackfill number is never greater than
-** WalIndexHdr.mxFrame. nBackfill can only be increased by threads
-** holding the WAL_CKPT_LOCK lock (which includes a recovery thread).
-** However, a WAL_WRITE_LOCK thread can move the value of nBackfill from
-** mxFrame back to zero when the WAL is reset.
-**
-** nBackfillAttempted is the largest value of nBackfill that a checkpoint
-** has attempted to achieve. Normally nBackfill==nBackfillAtempted, however
-** the nBackfillAttempted is set before any backfilling is done and the
-** nBackfill is only set after all backfilling completes. So if a checkpoint
-** crashes, nBackfillAttempted might be larger than nBackfill. The
-** WalIndexHdr.mxFrame must never be less than nBackfillAttempted.
-**
-** The aLock[] field is a set of bytes used for locking. These bytes should
-** never be read or written.
-**
-** There is one entry in aReadMark[] for each reader lock. If a reader
-** holds read-lock K, then the value in aReadMark[K] is no greater than
-** the mxFrame for that reader. The value READMARK_NOT_USED (0xffffffff)
-** for any aReadMark[] means that entry is unused. aReadMark[0] is
-** a special case; its value is never used and it exists as a place-holder
-** to avoid having to offset aReadMark[] indexes by one. Readers holding
-** WAL_READ_LOCK(0) always ignore the entire WAL and read all content
-** directly from the database.
-**
-** The value of aReadMark[K] may only be changed by a thread that
-** is holding an exclusive lock on WAL_READ_LOCK(K). Thus, the value of
-** aReadMark[K] cannot changed while there is a reader is using that mark
-** since the reader will be holding a shared lock on WAL_READ_LOCK(K).
-**
-** The checkpointer may only transfer frames from WAL to database where
-** the frame numbers are less than or equal to every aReadMark[] that is
-** in use (that is, every aReadMark[j] for which there is a corresponding
-** WAL_READ_LOCK(j)). New readers (usually) pick the aReadMark[] with the
-** largest value and will increase an unused aReadMark[] to mxFrame if there
-** is not already an aReadMark[] equal to mxFrame. The exception to the
-** previous sentence is when nBackfill equals mxFrame (meaning that everything
-** in the WAL has been backfilled into the database) then new readers
-** will choose aReadMark[0] which has value 0 and hence such reader will
-** get all their all content directly from the database file and ignore
-** the WAL.
-**
-** Writers normally append new frames to the end of the WAL. However,
-** if nBackfill equals mxFrame (meaning that all WAL content has been
-** written back into the database) and if no readers are using the WAL
-** (in other words, if there are no WAL_READ_LOCK(i) where i>0) then
-** the writer will first "reset" the WAL back to the beginning and start
-** writing new content beginning at frame 1.
-**
-** We assume that 32-bit loads are atomic and so no locks are needed in
-** order to read from any aReadMark[] entries.
- */
-type TWalCkptInfo1 = struct {
- FnBackfill Tu32
- FaReadMark [5]Tu32
- FaLock [8]Tu8
- FnBackfillAttempted Tu32
- FnotUsed0 Tu32
-}
-
-type WalCkptInfo1 = TWalCkptInfo1
-
-/*
-** This is a schematic view of the complete 136-byte header of the
-** wal-index file (also known as the -shm file):
-**
-** +-----------------------------+
-** 0: | iVersion | ** +-----------------------------+ |
-** 4: | (unused padding) | |
-** +-----------------------------+ |
-** 8: | iChange | |
-** +-------+-------+-------------+ |
-** 12: | bInit | bBig | szPage | |
-** +-------+-------+-------------+ |
-** 16: | mxFrame | | First copy of the
-** +-----------------------------+ | WalIndexHdr object
-** 20: | nPage | |
-** +-----------------------------+ |
-** 24: | aFrameCksum | |
-** | | |
-** +-----------------------------+ |
-** 32: | aSalt | |
-** | | |
-** +-----------------------------+ |
-** 40: | aCksum | |
-** | | /
-** +-----------------------------+
-** 48: | iVersion | ** +-----------------------------+ |
-** 52: | (unused padding) | |
-** +-----------------------------+ |
-** 56: | iChange | |
-** +-------+-------+-------------+ |
-** 60: | bInit | bBig | szPage | |
-** +-------+-------+-------------+ | Second copy of the
-** 64: | mxFrame | | WalIndexHdr
-** +-----------------------------+ |
-** 68: | nPage | |
-** +-----------------------------+ |
-** 72: | aFrameCksum | |
-** | | |
-** +-----------------------------+ |
-** 80: | aSalt | |
-** | | |
-** +-----------------------------+ |
-** 88: | aCksum | |
-** | | /
-** +-----------------------------+
-** 96: | nBackfill |
-** +-----------------------------+
-** 100: | 5 read marks |
-** | |
-** | |
-** | |
-** | |
-** +-------+-------+------+------+
-** 120: | Write | Ckpt | Rcvr | Rd0 | ** +-------+-------+------+------+ ) 8 lock bytes
-** | Read1 | Read2 | Rd3 | Rd4 | /
-** +-------+-------+------+------+
-** 128: | nBackfillAttempted |
-** +-----------------------------+
-** 132: | (unused padding) |
-** +-----------------------------+
- */
-
-/* A block of WALINDEX_LOCK_RESERVED bytes beginning at
-** WALINDEX_LOCK_OFFSET is reserved for locks. Since some systems
-** only support mandatory file-locks, we do not read or write data
-** from the region of the file on which locks are applied.
- */
-
-/* Size of header before each frame in wal */
-
-/* Size of write ahead log header, including checksum. */
-
-/* WAL magic value. Either this value, or the same value with the least
-** significant bit also set (WAL_MAGIC | 0x00000001) is stored in 32-bit
-** big-endian format in the first 4 bytes of a WAL file.
-**
-** If the LSB is set, then the checksums for each frame within the WAL
-** file are calculated by treating all data as an array of 32-bit
-** big-endian words. Otherwise, they are calculated by interpreting
-** all data as 32-bit little-endian words.
- */
-
-/*
-** Return the offset of frame iFrame in the write-ahead log file,
-** assuming a database page size of szPage bytes. The offset returned
-** is to the start of the write-ahead log frame-header.
- */
-
-/*
-** An open write-ahead log file is represented by an instance of the
-** following object.
-**
-** writeLock:
-** This is usually set to 1 whenever the WRITER lock is held. However,
-** if it is set to 2, then the WRITER lock is held but must be released
-** by walHandleException() if a SEH exception is thrown.
- */
-type TWal1 = struct {
- FpVfs uintptr
- FpDbFd uintptr
- FpWalFd uintptr
- FiCallback Tu32
- FmxWalSize Ti64
- FnWiData int32
- FszFirstBlock int32
- FapWiData uintptr
- FszPage Tu32
- FreadLock Ti16
- FsyncFlags Tu8
- FexclusiveMode Tu8
- FwriteLock Tu8
- FckptLock Tu8
- FreadOnly Tu8
- FtruncateOnCommit Tu8
- FsyncHeader Tu8
- FpadToSectorBoundary Tu8
- FbShmUnreliable Tu8
- Fhdr TWalIndexHdr
- FminFrame Tu32
- FiReCksum Tu32
- FzWalName uintptr
- FnCkpt Tu32
- FpSnapshot uintptr
- FbGetSnapshot int32
-}
-
-type Wal1 = TWal1
-
/*
** Candidate values for Wal.exclusiveMode.
*/
@@ -47524,29 +42834,6 @@ type Tht_slot = uint16
type ht_slot = Tht_slot
-/*
-** This structure is used to implement an iterator that loops through
-** all frames in the WAL in database page order. Where two or more frames
-** correspond to the same database page, the iterator visits only the
-** frame most recently written to the WAL (in other words, the frame with
-** the largest index).
-**
-** The internals of this structure are only accessed by:
-**
-** walIteratorInit() - Create a new iterator,
-** walIteratorNext() - Step an iterator,
-** walIteratorFree() - Free an iterator.
-**
-** This functionality is used by the checkpoint code (see walCheckpoint()).
- */
-type TWalIterator1 = struct {
- F__ccgo_align [0]uint64
- FiPrior Tu32
- FnSegment int32
-}
-
-type WalIterator1 = TWalIterator1
-
/* Size (in bytes) of a WalIterator object suitable for N or fewer segments */
/*
@@ -47975,14 +43262,6 @@ type TWalHashLoc = struct {
type WalHashLoc = TWalHashLoc
-type TWalHashLoc1 = struct {
- FaHash uintptr
- FaPgno uintptr
- FiZero Tu32
-}
-
-type WalHashLoc1 = TWalHashLoc1
-
// C documentation
//
// /*
@@ -48149,7 +43428,7 @@ func _walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame Tu32, iPage Tu32) (r in
v2 = nCollide
nCollide--
if v2 == 0 {
- return _sqlite3CorruptError(tls, int32(67212))
+ return _sqlite3CorruptError(tls, int32(67214))
}
goto _1
_1:
@@ -48237,7 +43516,7 @@ func _walIndexRecover(tls *libc.TLS, pWal uintptr) (r int32) {
** are able to understand */
version = _sqlite3Get4byte(tls, bp+8+4)
if version != uint32(WAL_MAX_VERSION) {
- rc = _sqlite3CantopenError(tls, int32(67344))
+ rc = _sqlite3CantopenError(tls, int32(67346))
goto finished
}
/* Malloc a buffer to read frames into. */
@@ -48817,10 +44096,10 @@ func _walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill Tu32, pp uintptr) (
// ** busy-handler function. Invoke it and retry the lock until either the
// ** lock is successfully obtained or the busy-handler returns 0.
// */
-func _walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) (r int32) {
+func _walBusyLock(tls *libc.TLS, pWal uintptr, __ccgo_fp_xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) (r int32) {
var rc int32
_ = rc
- for cond := true; cond; cond = xBusy != 0 && rc == int32(SQLITE_BUSY) && (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xBusy})))(tls, pBusyArg) != 0 {
+ for cond := true; cond; cond = __ccgo_fp_xBusy != 0 && rc == int32(SQLITE_BUSY) && (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xBusy})))(tls, pBusyArg) != 0 {
rc = _walLockExclusive(tls, pWal, lockIdx, n)
}
return rc
@@ -48918,7 +44197,7 @@ func _walRestartHdr(tls *libc.TLS, pWal uintptr, _salt1 Tu32) {
// ** checkpoint is running (in any other thread or process) at the same
// ** time.
// */
-func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) (r int32) {
+func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, __ccgo_fp_xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) (r int32) {
bp := tls.Alloc(48)
defer tls.Free(48)
var i, rc, szPage, v3, v5 int32
@@ -48957,7 +44236,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
}
y = *(*Tu32)(unsafe.Pointer(pInfo + 4 + uintptr(i)*4))
if mxSafeFrame > y {
- rc = _walBusyLock(tls, pWal, xBusy, pBusyArg, int32(3)+i, int32(1))
+ rc = _walBusyLock(tls, pWal, __ccgo_fp_xBusy, pBusyArg, int32(3)+i, int32(1))
if rc == SQLITE_OK {
if i == int32(1) {
v2 = mxSafeFrame
@@ -48970,7 +44249,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
} else {
if rc == int32(SQLITE_BUSY) {
mxSafeFrame = y
- xBusy = uintptr(0)
+ __ccgo_fp_xBusy = uintptr(0)
} else {
goto walcheckpoint_out
}
@@ -48986,7 +44265,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
rc = _walIteratorInit(tls, pWal, (*TWalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill, bp)
}
if v4 = *(*uintptr)(unsafe.Pointer(bp)) != 0; v4 {
- v3 = _walBusyLock(tls, pWal, xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(0), int32(1))
+ v3 = _walBusyLock(tls, pWal, __ccgo_fp_xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(0), int32(1))
rc = v3
}
if v4 && v3 == SQLITE_OK {
@@ -49007,7 +44286,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
** database plus the amount of data in the wal file, plus the
** maximum size of the pending-byte page (65536 bytes), then
** must be corruption somewhere. */
- rc = _sqlite3CorruptError(tls, int32(68153))
+ rc = _sqlite3CorruptError(tls, int32(68155))
} else {
_sqlite3OsFileControlHint(tls, (*TWal)(unsafe.Pointer(pWal)).FpDbFd, int32(SQLITE_FCNTL_SIZE_HINT), bp+16)
}
@@ -49073,7 +44352,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
} else {
if eMode >= int32(SQLITE_CHECKPOINT_RESTART) {
Xsqlite3_randomness(tls, int32(4), bp+32)
- rc = _walBusyLock(tls, pWal, xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(1), libc.Int32FromInt32(SQLITE_SHM_NLOCK)-libc.Int32FromInt32(3)-libc.Int32FromInt32(1))
+ rc = _walBusyLock(tls, pWal, __ccgo_fp_xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(1), libc.Int32FromInt32(SQLITE_SHM_NLOCK)-libc.Int32FromInt32(3)-libc.Int32FromInt32(1))
if rc == SQLITE_OK {
if eMode == int32(SQLITE_CHECKPOINT_TRUNCATE) {
/* IMPLEMENTATION-OF: R-44699-57140 This mode works the same way as
@@ -49371,7 +44650,7 @@ func _walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) (r int32) {
** this version of SQLite cannot understand.
*/
if badHdr == 0 && (*TWal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != uint32(WALINDEX_MAX_VERSION) {
- rc = _sqlite3CantopenError(tls, int32(68604))
+ rc = _sqlite3CantopenError(tls, int32(68606))
}
if (*TWal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
if rc != SQLITE_OK {
@@ -50182,7 +45461,7 @@ func _walFindFrame(tls *libc.TLS, pWal uintptr, pgno TPgno, piRead uintptr) (r i
nCollide--
if v3 == 0 {
*(*Tu32)(unsafe.Pointer(piRead)) = uint32(0)
- return _sqlite3CorruptError(tls, int32(69454))
+ return _sqlite3CorruptError(tls, int32(69456))
}
iKey = _walNextHash(tls, iKey)
}
@@ -50328,7 +45607,7 @@ func _sqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) (r int32) {
// ** Otherwise, if the callback function does not return an error, this
// ** function returns SQLITE_OK.
// */
-func _sqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) (r int32) {
+func _sqlite3WalUndo(tls *libc.TLS, pWal uintptr, __ccgo_fp_xUndo uintptr, pUndoCtx uintptr) (r int32) {
var iFrame, iMax TPgno
var rc int32
_, _, _ = iFrame, iMax, rc
@@ -50355,7 +45634,7 @@ func _sqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt
** page 1 is never written to the log until the transaction is
** committed. As a result, the call to xUndo may not fail.
*/
- rc = (*(*func(*libc.TLS, uintptr, TPgno) int32)(unsafe.Pointer(&struct{ uintptr }{xUndo})))(tls, pUndoCtx, _walFramePgno(tls, pWal, iFrame))
+ rc = (*(*func(*libc.TLS, uintptr, TPgno) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xUndo})))(tls, pUndoCtx, _walFramePgno(tls, pWal, iFrame))
goto _1
_1:
;
@@ -50683,7 +45962,7 @@ func _walFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTrunc
}
}
if libc.Int32FromUint32((*TWal)(unsafe.Pointer(pWal)).FszPage) != szPage {
- return _sqlite3CorruptError(tls, int32(69981)) /* TH3 test case: cov1/corrupt155.test */
+ return _sqlite3CorruptError(tls, int32(69983)) /* TH3 test case: cov1/corrupt155.test */
}
/* Setup information needed to write frames into the WAL */
(*(*TWalWriter)(unsafe.Pointer(bp))).FpWal = pWal
@@ -50864,7 +46143,7 @@ func _sqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr,
// ** If parameter xBusy is not NULL, it is a pointer to a busy-handler
// ** callback. In this case this function runs a blocking checkpoint.
// */
-func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) (r int32) {
+func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, __ccgo_fp_xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var eMode2, rc, v1 int32
@@ -50873,7 +46152,7 @@ func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
_, _, _, _ = eMode2, rc, xBusy2, v1 /* Return code */
*(*int32)(unsafe.Pointer(bp)) = 0 /* True if a new wal-index header is loaded */
eMode2 = eMode /* Mode to pass to walCheckpoint() */
- xBusy2 = xBusy /* Busy handler for eMode2 */
+ xBusy2 = __ccgo_fp_xBusy /* Busy handler for eMode2 */
/* EVIDENCE-OF: R-62920-47450 The busy-handler callback is never invoked
** in the SQLITE_CHECKPOINT_PASSIVE mode. */
if (*TWal)(unsafe.Pointer(pWal)).FreadOnly != 0 {
@@ -50925,14 +46204,14 @@ func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
rc = _walIndexReadHdr(tls, pWal, bp)
if eMode2 != SQLITE_CHECKPOINT_PASSIVE {
}
- if *(*int32)(unsafe.Pointer(bp)) != 0 && (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TWal)(unsafe.Pointer(pWal)).FpDbFd)).FpMethods)).FiVersion >= int32(3) {
+ if *(*int32)(unsafe.Pointer(bp)) != 0 && (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TWal)(unsafe.Pointer(pWal)).FpDbFd)).FpMethods)).FiVersion >= int32(3) {
_sqlite3OsUnfetch(tls, (*TWal)(unsafe.Pointer(pWal)).FpDbFd, 0, uintptr(0))
}
}
/* Copy data from the log to the database file. */
if rc == SQLITE_OK {
if (*TWal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && _walPagesize(tls, pWal) != nBuf {
- rc = _sqlite3CorruptError(tls, int32(70241))
+ rc = _sqlite3CorruptError(tls, int32(70243))
} else {
rc = _walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
}
@@ -51478,288 +46757,6 @@ type TCellInfo = struct {
type CellInfo = TCellInfo
-/*
-** This is a magic string that appears at the beginning of every
-** SQLite database in order to identify the file as a real database.
-**
-** You can change this value at compile-time by specifying a
-** -DSQLITE_FILE_HEADER="..." on the compiler command-line. The
-** header must be exactly 16 bytes including the zero-terminator so
-** the string itself should be 15 characters long. If you change
-** the header, then your custom library will not be able to read
-** databases generated by the standard tools and the standard tools
-** will not be able to read databases created by your custom library.
- */
-
-/*
-** Page type flags. An ORed combination of these flags appear as the
-** first byte of on-disk image of every BTree page.
- */
-
-/*
-** An instance of this object stores information about each a single database
-** page that has been loaded into memory. The information in this object
-** is derived from the raw on-disk page content.
-**
-** As each database page is loaded into memory, the pager allocates an
-** instance of this object and zeros the first 8 bytes. (This is the
-** "extra" information associated with each page of the pager.)
-**
-** Access to all fields of this structure is controlled by the mutex
-** stored in MemPage.pBt->mutex.
- */
-type TMemPage1 = struct {
- FisInit Tu8
- FintKey Tu8
- FintKeyLeaf Tu8
- Fpgno TPgno
- Fleaf Tu8
- FhdrOffset Tu8
- FchildPtrSize Tu8
- Fmax1bytePayload Tu8
- FnOverflow Tu8
- FmaxLocal Tu16
- FminLocal Tu16
- FcellOffset Tu16
- FnFree int32
- FnCell Tu16
- FmaskPage Tu16
- FaiOvfl [4]Tu16
- FapOvfl [4]uintptr
- FpBt uintptr
- FaData uintptr
- FaDataEnd uintptr
- FaCellIdx uintptr
- FaDataOfst uintptr
- FpDbPage uintptr
- FxCellSize uintptr
- FxParseCell uintptr
-}
-
-type MemPage1 = TMemPage1
-
-/*
-** A linked list of the following structures is stored at BtShared.pLock.
-** Locks are added (or upgraded from READ_LOCK to WRITE_LOCK) when a cursor
-** is opened on the table with root page BtShared.iTable. Locks are removed
-** from this list when a transaction is committed or rolled back, or when
-** a btree handle is closed.
- */
-type TBtLock1 = struct {
- FpBtree uintptr
- FiTable TPgno
- FeLock Tu8
- FpNext uintptr
-}
-
-type BtLock1 = TBtLock1
-
-/* Candidate values for BtLock.eLock */
-
-/* A Btree handle
-**
-** A database connection contains a pointer to an instance of
-** this object for every database file that it has open. This structure
-** is opaque to the database connection. The database connection cannot
-** see the internals of this structure and only deals with pointers to
-** this structure.
-**
-** For some database files, the same underlying database cache might be
-** shared between multiple connections. In that case, each connection
-** has it own instance of this object. But each instance of this object
-** points to the same BtShared object. The database cache and the
-** schema associated with the database file are all contained within
-** the BtShared object.
-**
-** All fields in this structure are accessed under sqlite3.mutex.
-** The pBt pointer itself may not be changed while there exists cursors
-** in the referenced BtShared that point back to this Btree since those
-** cursors have to go through this Btree to find their BtShared and
-** they often do so without holding sqlite3.mutex.
- */
-type TBtree1 = struct {
- Fdb uintptr
- FpBt uintptr
- FinTrans Tu8
- Fsharable Tu8
- Flocked Tu8
- FhasIncrblobCur Tu8
- FwantToLock int32
- FnBackup int32
- FiBDataVersion Tu32
- FpNext uintptr
- FpPrev uintptr
- Flock TBtLock
-}
-
-type Btree1 = TBtree1
-
-/*
-** Btree.inTrans may take one of the following values.
-**
-** If the shared-data extension is enabled, there may be multiple users
-** of the Btree structure. At most one of these may open a write transaction,
-** but any number may have active read transactions.
-**
-** These values must match SQLITE_TXN_NONE, SQLITE_TXN_READ, and
-** SQLITE_TXN_WRITE
- */
-
-/*
-** An instance of this object represents a single database file.
-**
-** A single database file can be in use at the same time by two
-** or more database connections. When two or more connections are
-** sharing the same database file, each connection has it own
-** private Btree object for the file and each of those Btrees points
-** to this one BtShared object. BtShared.nRef is the number of
-** connections currently sharing this database file.
-**
-** Fields in this structure are accessed under the BtShared.mutex
-** mutex, except for nRef and pNext which are accessed under the
-** global SQLITE_MUTEX_STATIC_MAIN mutex. The pPager field
-** may not be modified once it is initially set as long as nRef>0.
-** The pSchema field may be set once under BtShared.mutex and
-** thereafter is unchanged as long as nRef>0.
-**
-** isPending:
-**
-** If a BtShared client fails to obtain a write-lock on a database
-** table (because there exists one or more read-locks on the table),
-** the shared-cache enters 'pending-lock' state and isPending is
-** set to true.
-**
-** The shared-cache leaves the 'pending lock' state when either of
-** the following occur:
-**
-** 1) The current writer (BtShared.pWriter) concludes its transaction, OR
-** 2) The number of locks held by other connections drops to zero.
-**
-** while in the 'pending-lock' state, no connection may start a new
-** transaction.
-**
-** This feature is included to help prevent writer-starvation.
- */
-type TBtShared1 = struct {
- FpPager uintptr
- Fdb uintptr
- FpCursor uintptr
- FpPage1 uintptr
- FopenFlags Tu8
- FautoVacuum Tu8
- FincrVacuum Tu8
- FbDoTruncate Tu8
- FinTransaction Tu8
- Fmax1bytePayload Tu8
- FnReserveWanted Tu8
- FbtsFlags Tu16
- FmaxLocal Tu16
- FminLocal Tu16
- FmaxLeaf Tu16
- FminLeaf Tu16
- FpageSize Tu32
- FusableSize Tu32
- FnTransaction int32
- FnPage Tu32
- FpSchema uintptr
- FxFreeSchema uintptr
- Fmutex uintptr
- FpHasContent uintptr
- FnRef int32
- FpNext uintptr
- FpLock uintptr
- FpWriter uintptr
- FpTmpSpace uintptr
- FnPreformatSize int32
-}
-
-type BtShared1 = TBtShared1
-
-/*
-** Allowed values for BtShared.btsFlags
- */
-
-/*
-** An instance of the following structure is used to hold information
-** about a cell. The parseCellPtr() function fills in this structure
-** based on information extract from the raw disk page.
- */
-type TCellInfo1 = struct {
- FnKey Ti64
- FpPayload uintptr
- FnPayload Tu32
- FnLocal Tu16
- FnSize Tu16
-}
-
-type CellInfo1 = TCellInfo1
-
-/*
-** Maximum depth of an SQLite B-Tree structure. Any B-Tree deeper than
-** this will be declared corrupt. This value is calculated based on a
-** maximum database size of 2^31 pages a minimum fanout of 2 for a
-** root-node and 3 for all other internal nodes.
-**
-** If a tree that appears to be taller than this is encountered, it is
-** assumed that the database is corrupt.
- */
-
-/*
-** Maximum amount of storage local to a database page, regardless of
-** page size.
- */
-
-/*
-** A cursor is a pointer to a particular entry within a particular
-** b-tree within a database file.
-**
-** The entry is identified by its MemPage and the index in
-** MemPage.aCell[] of the entry.
-**
-** A single database file can be shared by two more database connections,
-** but cursors cannot be shared. Each cursor is associated with a
-** particular database connection identified BtCursor.pBtree.db.
-**
-** Fields in this structure are accessed under the BtShared.mutex
-** found at self->pBt->mutex.
-**
-** skipNext meaning:
-** The meaning of skipNext depends on the value of eState:
-**
-** eState Meaning of skipNext
-** VALID skipNext is meaningless and is ignored
-** INVALID skipNext is meaningless and is ignored
-** SKIPNEXT sqlite3BtreeNext() is a no-op if skipNext>0 and
-** sqlite3BtreePrevious() is no-op if skipNext<0.
-** REQUIRESEEK restoreCursorPosition() restores the cursor to
-** eState=SKIPNEXT if skipNext!=0
-** FAULT skipNext holds the cursor fault error code.
- */
-type TBtCursor1 = struct {
- FeState Tu8
- FcurFlags Tu8
- FcurPagerFlags Tu8
- Fhints Tu8
- FskipNext int32
- FpBtree uintptr
- FaOverflow uintptr
- FpKey uintptr
- FpBt uintptr
- FpNext uintptr
- Finfo TCellInfo
- FnKey Ti64
- FpgnoRoot TPgno
- FiPage Ti8
- FcurIntKey Tu8
- Fix Tu16
- FaiIdx [19]Tu16
- FpKeyInfo uintptr
- FpPage uintptr
- FapPage [19]uintptr
-}
-
-type BtCursor1 = TBtCursor1
-
/*
** Legal values for BtCursor.curFlags
*/
@@ -51892,27 +46889,6 @@ type TIntegrityCk = struct {
type IntegrityCk = TIntegrityCk
-type TIntegrityCk1 = struct {
- FpBt uintptr
- FpPager uintptr
- FaPgRef uintptr
- FnCkPage TPgno
- FmxErr int32
- FnErr int32
- Frc int32
- FnStep Tu32
- FzPfx uintptr
- Fv0 TPgno
- Fv1 TPgno
- Fv2 int32
- FerrMsg TStrAccum
- Fheap uintptr
- Fdb uintptr
- FnRow Ti64
-}
-
-type IntegrityCk1 = TIntegrityCk1
-
/*
** Routines to read or write a two- and four-byte big-endian integer values.
*/
@@ -52795,11 +47771,11 @@ func _btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey Ti64, bias int
}
_sqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
if libc.Int32FromUint16((*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || libc.Int32FromUint16((*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > libc.Int32FromUint16((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
- rc = _sqlite3CorruptError(tls, int32(72429))
+ rc = _sqlite3CorruptError(tls, int32(72431))
} else {
rc = _sqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
}
- _sqlite3DbFree(tls, (*TKeyInfo1)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo)).Fdb, pIdxKey)
+ _sqlite3DbFree(tls, (*TKeyInfo)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo)).Fdb, pIdxKey)
} else {
pIdxKey = uintptr(0)
rc = _sqlite3BtreeTableMoveto(tls, pCur, nKey, bias, pRes)
@@ -52973,7 +47949,7 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno,
}
/* The super-journal page number must never be used as a pointer map page */
if key == uint32(0) {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72627))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72629))
return
}
iPtrmap = _ptrmapPageno(tls, pBt, key)
@@ -52986,12 +47962,12 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno,
/* The first byte of the extra data is the MemPage.isInit byte.
** If that byte is set, it means this page is also being used
** as a btree page. */
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72640))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72642))
goto ptrmap_exit
}
offset = libc.Int32FromUint32(libc.Uint32FromInt32(5) * (key - iPtrmap - libc.Uint32FromInt32(1)))
if offset < 0 {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72645))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72647))
goto ptrmap_exit
}
pPtrmap = _sqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp)))
@@ -53035,7 +48011,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin
offset = libc.Int32FromUint32(libc.Uint32FromInt32(5) * (key - libc.Uint32FromInt32(iPtrmap) - libc.Uint32FromInt32(1)))
if offset < 0 {
_sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
- return _sqlite3CorruptError(tls, int32(72690))
+ return _sqlite3CorruptError(tls, int32(72692))
}
*(*Tu8)(unsafe.Pointer(pEType)) = *(*Tu8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
if pPgno != 0 {
@@ -53043,7 +48019,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin
}
_sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(pEType))) < int32(1) || libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(pEType))) > int32(5) {
- return _sqlite3CorruptError(tls, int32(72698))
+ return _sqlite3CorruptError(tls, int32(72700))
}
return SQLITE_OK
}
@@ -53463,7 +48439,7 @@ func _ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr
(*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp)
if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload {
if uint64(pCell) < uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) && uint64(pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal)) > uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(73143))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(73145))
return
}
ovfl = _sqlite3Get4byte(tls, pCell+uintptr(libc.Int32FromUint16((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-int32(4)))
@@ -53503,12 +48479,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) <= nMaxFrag {
iFree = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(1)))))< usableSize-int32(4) {
- return _sqlite3CorruptError(tls, int32(73201))
+ return _sqlite3CorruptError(tls, int32(73203))
}
if iFree != 0 {
iFree2 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree))))< usableSize-int32(4) {
- return _sqlite3CorruptError(tls, int32(73204))
+ return _sqlite3CorruptError(tls, int32(73206))
}
if 0 == iFree2 || libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(1))))) == 0 {
pEnd = data + uintptr(cellOffset+nCell*int32(2))
@@ -53516,21 +48492,21 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
sz = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree+int32(2)))))<= iFree {
- return _sqlite3CorruptError(tls, int32(73212))
+ return _sqlite3CorruptError(tls, int32(73214))
}
if iFree2 != 0 {
if iFree+sz > iFree2 {
- return _sqlite3CorruptError(tls, int32(73215))
+ return _sqlite3CorruptError(tls, int32(73217))
}
sz2 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(2)))))< usableSize {
- return _sqlite3CorruptError(tls, int32(73217))
+ return _sqlite3CorruptError(tls, int32(73219))
}
libc.X__builtin___memmove_chk(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), libc.Uint64FromInt32(iFree2-(iFree+sz)), ^t__predefined_size_t(0))
sz += sz2
} else {
if iFree+sz > usableSize {
- return _sqlite3CorruptError(tls, int32(73221))
+ return _sqlite3CorruptError(tls, int32(73223))
}
}
cbrk = top + sz
@@ -53577,12 +48553,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
** if PRAGMA cell_size_check=ON.
*/
if pc > iCellLast {
- return _sqlite3CorruptError(tls, int32(73254))
+ return _sqlite3CorruptError(tls, int32(73256))
}
size = libc.Int32FromUint16((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, src+uintptr(pc)))
cbrk -= size
if cbrk < iCellStart || pc+size > usableSize {
- return _sqlite3CorruptError(tls, int32(73260))
+ return _sqlite3CorruptError(tls, int32(73262))
}
*(*Tu8)(unsafe.Pointer(pAddr1)) = libc.Uint8FromInt32(cbrk >> libc.Int32FromInt32(8))
*(*Tu8)(unsafe.Pointer(pAddr1 + 1)) = libc.Uint8FromInt32(cbrk)
@@ -53598,7 +48574,7 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
defragment_out:
;
if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7)))))+cbrk-iCellFirst != (*TMemPage)(unsafe.Pointer(pPage)).FnFree {
- return _sqlite3CorruptError(tls, int32(73274))
+ return _sqlite3CorruptError(tls, int32(73276))
}
*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)))) = libc.Uint8FromInt32(cbrk >> libc.Int32FromInt32(8))
*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)) + 1)) = libc.Uint8FromInt32(cbrk)
@@ -53658,7 +48634,7 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint
} else {
if x+pc > maxPC {
/* This slot extends off the end of the usable part of the page */
- *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73331))
+ *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73333))
return uintptr(0)
} else {
/* The slot remains on the free-list. Reduce its size to account
@@ -53675,14 +48651,14 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint
if pc <= iAddr {
if pc != 0 {
/* The next slot in the chain comes before the current slot */
- *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73346))
+ *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73348))
}
return uintptr(0)
}
}
if pc > maxPC+nByte-int32(4) {
/* The free slot chain extends off the end of the page */
- *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73353))
+ *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73355))
}
return uintptr(0)
}
@@ -53725,11 +48701,11 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r
if top == 0 && (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == uint32(65536) {
top = int32(65536)
} else {
- return _sqlite3CorruptError(tls, int32(73401))
+ return _sqlite3CorruptError(tls, int32(73403))
}
} else {
if top > libc.Int32FromUint32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(73404))
+ return _sqlite3CorruptError(tls, int32(73406))
}
}
/* If there is enough space between gap and top for one more cell pointer,
@@ -53743,7 +48719,7 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r
g2 = v1
*(*int32)(unsafe.Pointer(pIdx)) = v1
if g2 <= gap {
- return _sqlite3CorruptError(tls, int32(73421))
+ return _sqlite3CorruptError(tls, int32(73423))
} else {
return SQLITE_OK
}
@@ -53824,12 +48800,12 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
if iFreeBlk == 0 {
break
} /* TH3: corrupt082.100 */
- return _sqlite3CorruptError(tls, int32(73500))
+ return _sqlite3CorruptError(tls, int32(73502))
}
iPtr = iFreeBlk
}
if iFreeBlk > libc.Int32FromUint32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize)-int32(4) { /* TH3: corrupt081.100 */
- return _sqlite3CorruptError(tls, int32(73505))
+ return _sqlite3CorruptError(tls, int32(73507))
}
/* At this point:
** iFreeBlk: First freeblock after iStart, or zero if none
@@ -53840,11 +48816,11 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
if iFreeBlk != 0 && iEnd+int32(3) >= iFreeBlk {
nFrag = iFreeBlk - iEnd
if iEnd > iFreeBlk {
- return _sqlite3CorruptError(tls, int32(73517))
+ return _sqlite3CorruptError(tls, int32(73519))
}
iEnd = iFreeBlk + (libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk+int32(2)))))< libc.Int32FromUint32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(73520))
+ return _sqlite3CorruptError(tls, int32(73522))
}
iSize = iEnd - iStart
iFreeBlk = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<= iStart {
if iPtrEnd > iStart {
- return _sqlite3CorruptError(tls, int32(73533))
+ return _sqlite3CorruptError(tls, int32(73535))
}
nFrag += iStart - iPtrEnd
iSize = iEnd - iPtr
@@ -53865,7 +48841,7 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
}
}
if nFrag > libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(libc.Int32FromUint8(hdr)+int32(7))))) {
- return _sqlite3CorruptError(tls, int32(73539))
+ return _sqlite3CorruptError(tls, int32(73541))
}
p2 = data + uintptr(libc.Int32FromUint8(hdr)+int32(7))
*(*uint8)(unsafe.Pointer(p2)) = uint8(int32(*(*uint8)(unsafe.Pointer(p2))) - libc.Int32FromUint8(libc.Uint8FromInt32(nFrag)))
@@ -53882,10 +48858,10 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
** so just extend the cell content area rather than create another
** freelist entry */
if iStart < x {
- return _sqlite3CorruptError(tls, int32(73553))
+ return _sqlite3CorruptError(tls, int32(73555))
}
if iPtr != libc.Int32FromUint8(hdr)+int32(1) {
- return _sqlite3CorruptError(tls, int32(73554))
+ return _sqlite3CorruptError(tls, int32(73556))
}
*(*uint8)(unsafe.Pointer(data + uintptr(libc.Int32FromUint8(hdr)+int32(1)))) = libc.Uint8FromInt32(iFreeBlk >> libc.Int32FromInt32(8))
*(*uint8)(unsafe.Pointer(data + uintptr(libc.Int32FromUint8(hdr)+int32(1)) + 1)) = libc.Uint8FromInt32(iFreeBlk)
@@ -53946,7 +48922,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0)
(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtrIdxLeaf)
(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex)
- return _sqlite3CorruptError(tls, int32(73609))
+ return _sqlite3CorruptError(tls, int32(73611))
}
}
} else {
@@ -53972,7 +48948,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0)
(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtr)
(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex)
- return _sqlite3CorruptError(tls, int32(73633))
+ return _sqlite3CorruptError(tls, int32(73635))
}
}
}
@@ -54011,12 +48987,12 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) {
/* EVIDENCE-OF: R-55530-52930 In a well-formed b-tree page, there will
** always be at least one cell before the first freeblock.
*/
- return _sqlite3CorruptError(tls, int32(73684))
+ return _sqlite3CorruptError(tls, int32(73686))
}
for int32(1) != 0 {
if pc > iCellLast {
/* Freeblock off the end of the page */
- return _sqlite3CorruptError(tls, int32(73689))
+ return _sqlite3CorruptError(tls, int32(73691))
}
next = libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(data + uintptr(pc))))< uint32(0) {
/* Freeblock not in ascending order */
- return _sqlite3CorruptError(tls, int32(73699))
+ return _sqlite3CorruptError(tls, int32(73701))
}
if libc.Uint32FromInt32(pc)+size > libc.Uint32FromInt32(usableSize) {
/* Last freeblock extends past page end */
- return _sqlite3CorruptError(tls, int32(73703))
+ return _sqlite3CorruptError(tls, int32(73705))
}
}
/* At this point, nFree contains the sum of the offset to the start
@@ -54043,7 +49019,7 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) {
** area, according to the page header, lies within the page.
*/
if nFree > usableSize || nFree < iCellFirst {
- return _sqlite3CorruptError(tls, int32(73715))
+ return _sqlite3CorruptError(tls, int32(73717))
}
(*TMemPage)(unsafe.Pointer(pPage)).FnFree = libc.Int32FromUint16(libc.Uint16FromInt32(nFree - iCellFirst))
return SQLITE_OK
@@ -54074,11 +49050,11 @@ func _btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) (r int32) {
}
pc = libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(data + uintptr(cellOffset+i*int32(2)))))< iCellLast {
- return _sqlite3CorruptError(tls, int32(73746))
+ return _sqlite3CorruptError(tls, int32(73748))
}
sz = libc.Int32FromUint16((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, data+uintptr(pc)))
if pc+sz > usableSize {
- return _sqlite3CorruptError(tls, int32(73751))
+ return _sqlite3CorruptError(tls, int32(73753))
}
goto _1
_1:
@@ -54107,7 +49083,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) {
/* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating
** the b-tree page type. */
if _decodeFlags(tls, pPage, libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(data)))) != 0 {
- return _sqlite3CorruptError(tls, int32(73783))
+ return _sqlite3CorruptError(tls, int32(73785))
}
(*TMemPage)(unsafe.Pointer(pPage)).FmaskPage = uint16((*TBtShared)(unsafe.Pointer(pBt)).FpageSize - libc.Uint32FromInt32(1))
(*TMemPage)(unsafe.Pointer(pPage)).FnOverflow = uint8(0)
@@ -54120,7 +49096,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FnCell = libc.Uint16FromInt32(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(data + 3)))< ((*TBtShared)(unsafe.Pointer(pBt)).FpageSize-uint32(8))/uint32(6) {
/* To many cells for a single page. The page must be corrupt */
- return _sqlite3CorruptError(tls, int32(73797))
+ return _sqlite3CorruptError(tls, int32(73799))
}
/* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only
** possible for a root page of a table that contains no rows) then the
@@ -54271,7 +49247,7 @@ func _getAndInitPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, bRe
_, _ = pPage, rc
if pgno > _btreePagecount(tls, pBt) {
*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
- return _sqlite3CorruptError(tls, int32(73940))
+ return _sqlite3CorruptError(tls, int32(73942))
}
rc = _sqlite3PagerGet(tls, (*TBtShared)(unsafe.Pointer(pBt)).FpPager, pgno, bp, bReadOnly)
if rc != 0 {
@@ -54333,7 +49309,7 @@ func _btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr,
if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > int32(1) {
_releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
- return _sqlite3CorruptError(tls, int32(74012))
+ return _sqlite3CorruptError(tls, int32(74014))
}
(*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = uint8(0)
} else {
@@ -55245,7 +50221,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) {
}
if nPage > *(*Tu32)(unsafe.Pointer(bp + 8)) {
if _sqlite3WritableSchema(tls, (*TBtShared)(unsafe.Pointer(pBt)).Fdb) == 0 {
- rc = _sqlite3CorruptError(tls, int32(74950))
+ rc = _sqlite3CorruptError(tls, int32(74952))
goto page1_init_failed
} else {
nPage = *(*Tu32)(unsafe.Pointer(bp + 8))
@@ -55686,7 +50662,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
if libc.Int32FromUint8(eType) == int32(PTRMAP_OVERFLOW2) {
/* The pointer is always the first 4 bytes of the page in this case. */
if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
- return _sqlite3CorruptError(tls, int32(75405))
+ return _sqlite3CorruptError(tls, int32(75407))
}
_sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData, iTo)
} else {
@@ -55710,7 +50686,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
(*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp)
if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload {
if pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(75424))
+ return _sqlite3CorruptError(tls, int32(75426))
}
if iFrom == _sqlite3Get4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4)) {
_sqlite3Put4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4), iTo)
@@ -55719,7 +50695,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
}
} else {
if pCell+uintptr(4) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(75433))
+ return _sqlite3CorruptError(tls, int32(75435))
}
if _sqlite3Get4byte(tls, pCell) == iFrom {
_sqlite3Put4byte(tls, pCell, iTo)
@@ -55733,7 +50709,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
}
if i == nCell {
if libc.Int32FromUint8(eType) != int32(PTRMAP_BTREE) || _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8))) != iFrom {
- return _sqlite3CorruptError(tls, int32(75445))
+ return _sqlite3CorruptError(tls, int32(75447))
}
_sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8)), iTo)
}
@@ -55763,7 +50739,7 @@ func _relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType Tu8, iPtrP
iDbPage = (*TMemPage)(unsafe.Pointer(pDbPage)).Fpgno
pPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager
if iDbPage < uint32(3) {
- return _sqlite3CorruptError(tls, int32(75480))
+ return _sqlite3CorruptError(tls, int32(75482))
}
/* Move page iDbPage from its current location to page number iFreePage */
*(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3PagerMovepage(tls, pPager, (*TMemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -55859,7 +50835,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom
return rc
}
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_ROOTPAGE) {
- return _sqlite3CorruptError(tls, int32(75578))
+ return _sqlite3CorruptError(tls, int32(75580))
}
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_FREEPAGE) {
if bCommit == 0 {
@@ -55897,7 +50873,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom
_releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 40)))
if *(*TPgno)(unsafe.Pointer(bp + 24)) > dbSize {
_releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
- return _sqlite3CorruptError(tls, int32(75630))
+ return _sqlite3CorruptError(tls, int32(75632))
}
}
rc = _relocatePage(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*Tu8)(unsafe.Pointer(bp)), *(*TPgno)(unsafe.Pointer(bp + 4)), *(*TPgno)(unsafe.Pointer(bp + 24)), bCommit)
@@ -55964,7 +50940,7 @@ func _sqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) (r int32) {
nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
nFin = _finalDbSize(tls, pBt, nOrig, nFree)
if nOrig < nFin || nFree >= nOrig {
- rc = _sqlite3CorruptError(tls, int32(75698))
+ rc = _sqlite3CorruptError(tls, int32(75700))
} else {
if nFree > uint32(0) {
rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -56007,7 +50983,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) {
** is either a pointer-map page or the pending-byte page. If one
** is encountered, this indicates corruption.
*/
- return _sqlite3CorruptError(tls, int32(75749))
+ return _sqlite3CorruptError(tls, int32(75751))
}
nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
db = (*TBtree)(unsafe.Pointer(p)).Fdb
@@ -56037,7 +51013,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) {
}
nFin = _finalDbSize(tls, pBt, nOrig, nVac)
if nFin > nOrig {
- return _sqlite3CorruptError(tls, int32(75776))
+ return _sqlite3CorruptError(tls, int32(75778))
}
if nFin < nOrig {
rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -56503,7 +51479,7 @@ func _btreeCursor(tls *libc.TLS, p uintptr, iTable TPgno, wrFlag int32, pKeyInfo
/* Assert that the caller has opened the required transaction. */
if iTable <= uint32(1) {
if iTable < uint32(1) {
- return _sqlite3CorruptError(tls, int32(76240))
+ return _sqlite3CorruptError(tls, int32(76242))
} else {
if _btreePagecount(tls, pBt) == uint32(0) {
iTable = uint32(0)
@@ -56895,7 +51871,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
pBt = (*TBtCursor)(unsafe.Pointer(pCur)).FpBt /* Btree this cursor belongs to */
pBufStart = pBuf /* Start of original out buffer */
if libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Fix) >= libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) {
- return _sqlite3CorruptError(tls, int32(76664))
+ return _sqlite3CorruptError(tls, int32(76666))
}
_getCellInfo(tls, pCur)
aPayload = (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
@@ -56905,7 +51881,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize]
** but is recast into its current form to avoid integer overflow problems
*/
- return _sqlite3CorruptError(tls, int32(76679))
+ return _sqlite3CorruptError(tls, int32(76681))
}
/* Check if data must be read/written to/from the btree page itself. */
if offset < uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -56962,7 +51938,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
for *(*TPgno)(unsafe.Pointer(bp)) != 0 {
/* If required, populate the overflow page-list cache. */
if *(*TPgno)(unsafe.Pointer(bp)) > (*TBtShared)(unsafe.Pointer(pBt)).FnPage {
- return _sqlite3CorruptError(tls, int32(76750))
+ return _sqlite3CorruptError(tls, int32(76752))
}
*(*TPgno)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*TPgno)(unsafe.Pointer(bp))
if offset >= ovflSize {
@@ -57036,7 +52012,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
}
if rc == SQLITE_OK && amt > uint32(0) {
/* Overflow chain ends prematurely */
- return _sqlite3CorruptError(tls, int32(76834))
+ return _sqlite3CorruptError(tls, int32(76836))
}
return rc
}
@@ -57171,7 +52147,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) {
var v3, p1 uintptr
_, _, _, _ = rc, v2, v3, p1
if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) {
- return _sqlite3CorruptError(tls, int32(76972))
+ return _sqlite3CorruptError(tls, int32(76974))
}
(*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0)
p1 = pCur + 1
@@ -57183,7 +52159,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) {
rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, newPgno, pCur+136, libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags))
if rc == SQLITE_OK && (libc.Int32FromUint16((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || libc.Int32FromUint8((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) {
_releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage)
- rc = _sqlite3CorruptError(tls, int32(76986))
+ rc = _sqlite3CorruptError(tls, int32(76988))
}
if rc != 0 {
v3 = pCur + 84
@@ -57299,7 +52275,7 @@ func _moveToRoot(tls *libc.TLS, pCur uintptr) (r int32) {
** in such a way that page pRoot is linked into a second b-tree table
** (or the freelist). */
if libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.BoolInt32((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pRoot)).FintKey) {
- return _sqlite3CorruptError(tls, int32(77121))
+ return _sqlite3CorruptError(tls, int32(77123))
}
goto skip_init
skip_init:
@@ -57313,7 +52289,7 @@ skip_init:
} else {
if !((*TMemPage)(unsafe.Pointer(pRoot)).Fleaf != 0) {
if (*TMemPage)(unsafe.Pointer(pRoot)).Fpgno != uint32(1) {
- return _sqlite3CorruptError(tls, int32(77133))
+ return _sqlite3CorruptError(tls, int32(77135))
}
subpage = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+int32(8)))
(*TBtCursor)(unsafe.Pointer(pCur)).FeState = uint8(CURSOR_VALID)
@@ -57547,7 +52523,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh
break
}
if pCell >= (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(77382))
+ return _sqlite3CorruptError(tls, int32(77384))
}
}
}
@@ -57631,7 +52607,7 @@ moveto_table_finish:
// ** This routine is part of an optimization. It is always safe to return
// ** a positive value as that will cause the optimization to be skipped.
// */
-func _indexCellCompare(tls *libc.TLS, pCur uintptr, idx int32, pIdxKey uintptr, xRecordCompare TRecordCompare) (r int32) {
+func _indexCellCompare(tls *libc.TLS, pCur uintptr, idx int32, pIdxKey uintptr, __ccgo_fp_xRecordCompare TRecordCompare) (r int32) {
var c, nCell, v1 int32
var pCell, pPage uintptr
var v2 bool
@@ -57643,7 +52619,7 @@ func _indexCellCompare(tls *libc.TLS, pCur uintptr, idx int32, pIdxKey uintptr,
/* This branch runs if the record-size field of the cell is a
** single byte varint and the record fits entirely on the main
** b-tree page. */
- c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xRecordCompare})))(tls, nCell, pCell+1, pIdxKey)
+ c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xRecordCompare})))(tls, nCell, pCell+1, pIdxKey)
} else {
if v2 = !(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(pCell + 1)))&libc.Int32FromInt32(0x80) != 0); v2 {
v1 = nCell&libc.Int32FromInt32(0x7f)< (*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage {
- rc = _sqlite3CorruptError(tls, int32(77665))
+ rc = _sqlite3CorruptError(tls, int32(77667))
goto moveto_index_finish
}
pCellKey = _sqlite3Malloc(tls, libc.Uint64FromInt32(nCell)+libc.Uint64FromInt32(nOverrun))
@@ -57845,7 +52821,7 @@ bypass_moveto_root:
rc = SQLITE_OK
(*TBtCursor)(unsafe.Pointer(pCur)).Fix = libc.Uint16FromInt32(idx)
if (*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0 {
- rc = _sqlite3CorruptError(tls, int32(77697))
+ rc = _sqlite3CorruptError(tls, int32(77699))
}
goto moveto_index_finish
}
@@ -57878,7 +52854,7 @@ bypass_moveto_root:
p9 = pCur + 1
*(*Tu8)(unsafe.Pointer(p9)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p9))) & ^(libc.Int32FromInt32(BTCF_ValidNKey) | libc.Int32FromInt32(BTCF_ValidOvfl)))
if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) {
- return _sqlite3CorruptError(tls, int32(77728))
+ return _sqlite3CorruptError(tls, int32(77730))
}
*(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*2)) = libc.Uint16FromInt32(lwr)
*(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*8)) = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage
@@ -57887,7 +52863,7 @@ bypass_moveto_root:
rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, chldPg, pCur+136, libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags))
if rc == SQLITE_OK && (libc.Int32FromUint16((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || libc.Int32FromUint8((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) {
_releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage)
- rc = _sqlite3CorruptError(tls, int32(77739))
+ rc = _sqlite3CorruptError(tls, int32(77741))
}
if rc != 0 {
v11 = pCur + 84
@@ -58016,7 +52992,7 @@ func _btreeNext(tls *libc.TLS, pCur uintptr) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0)
}
if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) {
- return _sqlite3CorruptError(tls, int32(77840))
+ return _sqlite3CorruptError(tls, int32(77842))
}
if idx >= libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) {
if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) {
@@ -58126,7 +53102,7 @@ func _btreePrevious(tls *libc.TLS, pCur uintptr) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0)
}
if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) {
- return _sqlite3CorruptError(tls, int32(77933))
+ return _sqlite3CorruptError(tls, int32(77935))
}
if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) {
idx = libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Fix)
@@ -58214,7 +53190,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
** stores the total number of pages on the freelist. */
n = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+36)
if n >= mxPage {
- return _sqlite3CorruptError(tls, int32(78023))
+ return _sqlite3CorruptError(tls, int32(78025))
}
if n > uint32(0) {
searchList = uint8(0) /* If the free-list must be searched for 'nearby' */
@@ -58269,7 +53245,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
nSearch++
}
if v2 || v1 > n {
- rc = _sqlite3CorruptError(tls, int32(78079))
+ rc = _sqlite3CorruptError(tls, int32(78081))
} else {
rc = _btreeGetUnusedPage(tls, pBt, iTrunk, bp, 0)
}
@@ -58295,7 +53271,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
} else {
if k > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/libc.Uint32FromInt32(4)-libc.Uint32FromInt32(2) {
/* Value of k is out of range. Database corruption */
- rc = _sqlite3CorruptError(tls, int32(78108))
+ rc = _sqlite3CorruptError(tls, int32(78110))
goto end_allocate_page
} else {
if searchList != 0 && (nearby == iTrunk || iTrunk < nearby && libc.Int32FromUint8(eMode) == int32(BTALLOC_LE)) {
@@ -58322,7 +53298,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
} else {
iNewTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+8)
if iNewTrunk > mxPage {
- rc = _sqlite3CorruptError(tls, int32(78142))
+ rc = _sqlite3CorruptError(tls, int32(78144))
goto end_allocate_page
}
rc = _btreeGetUnusedPage(tls, pBt, iNewTrunk, bp+16, 0)
@@ -58393,7 +53369,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
}
iPage = _sqlite3Get4byte(tls, aData+uintptr(uint32(8)+closest*uint32(4)))
if iPage > mxPage || iPage < uint32(2) {
- rc = _sqlite3CorruptError(tls, int32(78207))
+ rc = _sqlite3CorruptError(tls, int32(78209))
goto end_allocate_page
}
if !(searchList != 0) || (iPage == nearby || iPage < nearby && libc.Int32FromUint8(eMode) == int32(BTALLOC_LE)) {
@@ -58531,7 +53507,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in
iTrunk = uint32(0) /* Page number of free-list trunk page */
pPage1 = (*TBtShared)(unsafe.Pointer(pBt)).FpPage1 /* Initial number of pages on free-list */
if iPage < uint32(2) || iPage > (*TBtShared)(unsafe.Pointer(pBt)).FnPage {
- return _sqlite3CorruptError(tls, int32(78334))
+ return _sqlite3CorruptError(tls, int32(78336))
}
if pMemPage != 0 {
*(*uintptr)(unsafe.Pointer(bp + 8)) = pMemPage
@@ -58582,7 +53558,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in
if nFree != uint32(0) { /* Initial number of leaf cells on trunk page */
iTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+32)
if iTrunk > _btreePagecount(tls, pBt) {
- *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(78381))
+ *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(78383))
goto freepage_out
}
*(*int32)(unsafe.Pointer(bp + 16)) = _btreeGetPage(tls, pBt, iTrunk, bp, 0)
@@ -58591,7 +53567,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in
}
nLeaf = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+4)
if nLeaf > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(2) {
- *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(78392))
+ *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(78394))
goto freepage_out
}
if nLeaf < (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(8) {
@@ -58681,7 +53657,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp
_, _, _, _, _, _, _, _ = nOvfl, ovflPageSize, ovflPgno, pBt, rc, v1, v2, v3
if pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd {
/* Cell extends past end of page */
- return _sqlite3CorruptError(tls, int32(78481))
+ return _sqlite3CorruptError(tls, int32(78483))
}
ovflPgno = _sqlite3Get4byte(tls, pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt
@@ -58699,7 +53675,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp
/* 0 is not a legal page number and page 1 cannot be an
** overflow page. Therefore if ovflPgno<2 or past the end of the
** file the database must be corrupt. */
- return _sqlite3CorruptError(tls, int32(78498))
+ return _sqlite3CorruptError(tls, int32(78500))
}
if nOvfl != 0 {
rc = _getOverflowPage(tls, pBt, ovflPgno, bp+8, bp)
@@ -58722,7 +53698,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp
** caller is iterating through or using in some other way, this
** can be problematic.
*/
- rc = _sqlite3CorruptError(tls, int32(78518))
+ rc = _sqlite3CorruptError(tls, int32(78520))
} else {
rc = _freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 8)), ovflPgno)
}
@@ -58943,7 +53919,7 @@ func _dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
pc = libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(ptr)))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(78774))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(78776))
return
}
rc = _freeSpace(tls, pPage, libc.Int32FromUint32(pc), sz)
@@ -59237,17 +54213,6 @@ type TCellArray = struct {
type CellArray = TCellArray
-type TCellArray1 = struct {
- FnCell int32
- FpRef uintptr
- FapCell uintptr
- FszCell uintptr
- FapEnd [6]uintptr
- FixNx [6]int32
-}
-
-type CellArray1 = TCellArray1
-
// C documentation
//
// /*
@@ -59337,12 +54302,12 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
sz = *(*Tu16)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FszCell + uintptr(i)*2))
if uint64(pCell) >= uint64(aData+uintptr(j)) && uint64(pCell) < uint64(pEnd) {
if uint64(pCell+uintptr(sz)) > uint64(pEnd) {
- return _sqlite3CorruptError(tls, int32(79164))
+ return _sqlite3CorruptError(tls, int32(79166))
}
pCell = pTmp + uintptr(int64(pCell)-int64(aData))
} else {
if uint64(pCell+uintptr(sz)) > uint64(pSrcEnd) && uint64(pCell) < uint64(pSrcEnd) {
- return _sqlite3CorruptError(tls, int32(79169))
+ return _sqlite3CorruptError(tls, int32(79171))
}
}
pData -= uintptr(sz)
@@ -59350,7 +54315,7 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
*(*Tu8)(unsafe.Pointer(pCellptr + 1)) = libc.Uint8FromInt64(int64(pData) - int64(aData))
pCellptr += uintptr(2)
if pData < pCellptr {
- return _sqlite3CorruptError(tls, int32(79175))
+ return _sqlite3CorruptError(tls, int32(79177))
}
libc.X__builtin___memmove_chk(tls, pData, pCell, uint64(sz), ^t__predefined_size_t(0))
i++
@@ -59445,7 +54410,7 @@ func _pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr
** database. But they might for a corrupt database. Hence use memmove()
** since memcpy() sends SIGABORT with overlapping buffers on OpenBSD */
if uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > uint64(pEnd) && uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < uint64(pEnd) {
- _sqlite3CorruptError(tls, int32(79262))
+ _sqlite3CorruptError(tls, int32(79264))
return int32(1)
}
libc.X__builtin___memmove_chk(tls, pSlot, *(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), libc.Uint64FromInt32(sz), ^t__predefined_size_t(0))
@@ -59593,7 +54558,7 @@ func _editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, p
if iOld < iNew {
nShift = _pageFreeArray(tls, pPg, iOld, iNew-iOld, pCArray)
if nShift > nCell {
- return _sqlite3CorruptError(tls, int32(79384))
+ return _sqlite3CorruptError(tls, int32(79386))
}
libc.X__builtin___memmove_chk(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*int32(2)), libc.Uint64FromInt32(nCell*int32(2)), ^t__predefined_size_t(0))
nCell -= nShift
@@ -59664,7 +54629,7 @@ editpage_fail:
;
/* Unable to edit this page. Rebuild it from scratch instead. */
if nNew < int32(1) {
- return _sqlite3CorruptError(tls, int32(79462))
+ return _sqlite3CorruptError(tls, int32(79464))
}
_populateCellCache(tls, pCArray, iNew, nNew)
return _rebuildPage(tls, pCArray, iNew, nNew, pPg)
@@ -59709,7 +54674,7 @@ func _balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintpt
_, _, _, _, _, _, _ = pBt, pOut, pStop, v1, v2, v3, v4
pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt /* Page number of pNew */
if libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
- return _sqlite3CorruptError(tls, int32(79502))
+ return _sqlite3CorruptError(tls, int32(79504))
} /* dbfuzz001.test */
/* Allocate a new page. This page will become the right-sibling of
** pPage. Make the parent page writable, so that the new divider cell
@@ -60073,7 +55038,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
** table-interior, index-leaf, or index-interior).
*/
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pOld)).FaData))) != libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer((*(*[3]uintptr)(unsafe.Pointer(bp + 8)))[0])).FaData))) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79926))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79928))
goto balance_cleanup
}
/* Load b.apCell[] with pointers to all cells in pOld. If pOld
@@ -60096,7 +55061,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
libc.X__builtin___memset_chk(tls, (*(*TCellArray)(unsafe.Pointer(bp + 112))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 112))).FnCell)*2, 0, uint64(2)*libc.Uint64FromInt32(limit+libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow)), ^t__predefined_size_t(0))
if libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow) > 0 {
if limit < libc.Int32FromUint16(*(*Tu16)(unsafe.Pointer(pOld + 28))) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79950))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79952))
goto balance_cleanup
}
limit = libc.Int32FromUint16(*(*Tu16)(unsafe.Pointer(pOld + 28)))
@@ -60227,7 +55192,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
if i+int32(1) >= k {
k = i + int32(2)
if k > libc.Int32FromInt32(NB)+libc.Int32FromInt32(2) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80051))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80053))
goto balance_cleanup
}
(*(*[5]int32)(unsafe.Pointer(bp + 72)))[k-int32(1)] = 0
@@ -60270,7 +55235,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
v10 = 0
}
if cntNew[i] <= v10 {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80084))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80086))
goto balance_cleanup
}
}
@@ -60329,7 +55294,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
v15 = 0
}
if cntNew[i-int32(1)] <= v15 {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80128))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80130))
goto balance_cleanup
}
goto _11
@@ -60361,7 +55326,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
*(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage)
nNew++
if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) != int32(1)+libc.BoolInt32(i == iParentIdx-nxDiv) && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80161))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80163))
}
if *(*int32)(unsafe.Pointer(bp)) != 0 {
goto balance_cleanup
@@ -60591,7 +55556,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
}
pSrcEnd = *(*uintptr)(unsafe.Pointer(bp + 112 + 32 + uintptr(k)*8))
if uint64(pCell1) < uint64(pSrcEnd) && uint64(pCell1+uintptr(sz2)) > uint64(pSrcEnd) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80362))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80364))
goto balance_cleanup
}
*(*int32)(unsafe.Pointer(bp)) = _insertCell(tls, pParent, nxDiv+i, pCell1, sz2, pTemp1, (*TMemPage)(unsafe.Pointer(pNew2)).Fpgno)
@@ -60837,7 +55802,7 @@ func _anotherValidCursor(tls *libc.TLS, pCur uintptr) (r int32) {
break
}
if pOther != pCur && libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*TBtCursor)(unsafe.Pointer(pOther)).FpPage == (*TBtCursor)(unsafe.Pointer(pCur)).FpPage {
- return _sqlite3CorruptError(tls, int32(80594))
+ return _sqlite3CorruptError(tls, int32(80596))
}
goto _1
_1:
@@ -60910,7 +55875,7 @@ func _balance(tls *libc.TLS, pCur uintptr) (r int32) {
/* The page being written is not a root page, and there is currently
** more than one reference to it. This only happens if the page is one
** of its own ancestor pages. Corruption. */
- rc = _sqlite3CorruptError(tls, int32(80654))
+ rc = _sqlite3CorruptError(tls, int32(80656))
} else {
pParent = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-int32(1))*8))
iIdx = libc.Int32FromUint16(*(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-int32(1))*2)))
@@ -61069,7 +56034,7 @@ func _btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int
return rc
}
if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1) || (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
- rc = _sqlite3CorruptError(tls, int32(80818))
+ rc = _sqlite3CorruptError(tls, int32(80820))
} else {
if libc.Uint32FromInt32(iOffset)+ovflPageSize < libc.Uint32FromInt32(nTotal) {
ovflPgno = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -61100,7 +56065,7 @@ func _btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int32) {
nTotal = (*TBtreePayload)(unsafe.Pointer(pX)).FnData + (*TBtreePayload)(unsafe.Pointer(pX)).FnZero /* Total bytes of to write */
pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage /* Page being written */
if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd || (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FcellOffset) {
- return _sqlite3CorruptError(tls, int32(80846))
+ return _sqlite3CorruptError(tls, int32(80848))
}
if libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
/* The entire cell is local */
@@ -61185,7 +56150,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
** Which can only happen if the SQLITE_NoSchemaError flag was set when
** the schema was loaded. This cannot be asserted though, as a user might
** set the flag, load the schema, and then unset the flag. */
- return _sqlite3CorruptError(tls, int32(80927))
+ return _sqlite3CorruptError(tls, int32(80929))
}
}
/* Ensure that the cursor is not in the CURSOR_FAULT state and that it
@@ -61277,7 +56242,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 {
if libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FeState) > int32(CURSOR_INVALID) {
/* ^^^^^--- due to the moveToRoot() call above */
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(81050))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(81052))
} else {
*(*int32)(unsafe.Pointer(bp)) = _btreeComputeFreeSpace(tls, pPage)
}
@@ -61313,7 +56278,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
(*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0)
if *(*int32)(unsafe.Pointer(bp + 4)) == 0 {
if idx >= libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) {
- return _sqlite3CorruptError(tls, int32(81092))
+ return _sqlite3CorruptError(tls, int32(81094))
}
*(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(pPage)).FpDbPage)
if *(*int32)(unsafe.Pointer(bp)) != 0 {
@@ -61343,10 +56308,10 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */
/* clearCell never fails when nLocal==nPayload */
if oldCell < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10) {
- return _sqlite3CorruptError(tls, int32(81119))
+ return _sqlite3CorruptError(tls, int32(81121))
}
if oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 8))) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(81122))
+ return _sqlite3CorruptError(tls, int32(81124))
}
libc.X__builtin___memcpy_chk(tls, oldCell, newCell, libc.Uint64FromInt32(*(*int32)(unsafe.Pointer(bp + 8))), ^t__predefined_size_t(0))
return SQLITE_OK
@@ -61464,7 +56429,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T
nIn = uint32((*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
aIn = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
if aIn+uintptr(nIn) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(81224))
+ return _sqlite3CorruptError(tls, int32(81226))
}
nRem = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
if nIn == nRem && nIn < uint32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -61486,7 +56451,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T
}
if nRem > nIn {
if aIn+uintptr(nIn)+uintptr(4) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(81249))
+ return _sqlite3CorruptError(tls, int32(81251))
}
ovflIn = _sqlite3Get4byte(tls, (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
}
@@ -61586,21 +56551,21 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) {
return *(*int32)(unsafe.Pointer(bp))
}
} else {
- return _sqlite3CorruptError(tls, int32(81345))
+ return _sqlite3CorruptError(tls, int32(81347))
}
}
iCellDepth = int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)
iCellIdx = libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Fix)
pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage
if libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
- return _sqlite3CorruptError(tls, int32(81354))
+ return _sqlite3CorruptError(tls, int32(81356))
}
pCell = (*TMemPage)(unsafe.Pointer(pPage)).FaData + uintptr(libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FmaskPage)&(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(int32(2)*iCellIdx))))< _btreePagecount(tls, pBt) {
- return _sqlite3CorruptError(tls, int32(81568))
+ return _sqlite3CorruptError(tls, int32(81570))
}
*(*TPgno)(unsafe.Pointer(bp + 8))++
/* The new root-page may not be allocated on a pointer-map page, or the
@@ -61845,7 +56810,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
}
*(*int32)(unsafe.Pointer(bp + 12)) = _ptrmapGet(tls, pBt, *(*TPgno)(unsafe.Pointer(bp + 8)), bp+32, bp+36)
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_ROOTPAGE) || libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_FREEPAGE) {
- *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(81616))
+ *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(81618))
}
if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_OK {
_releasePage(tls, *(*uintptr)(unsafe.Pointer(bp)))
@@ -61926,14 +56891,14 @@ func _clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno TPgno, freePageFlag int
var _ /* rc at bp+8 */ int32
_, _, _, _ = hdr, i, pCell, v2
if pgno > _btreePagecount(tls, pBt) {
- return _sqlite3CorruptError(tls, int32(81706))
+ return _sqlite3CorruptError(tls, int32(81708))
}
*(*int32)(unsafe.Pointer(bp + 8)) = _getAndInitPage(tls, pBt, pgno, bp, 0)
if *(*int32)(unsafe.Pointer(bp + 8)) != 0 {
return *(*int32)(unsafe.Pointer(bp + 8))
}
if libc.Int32FromUint8((*TBtShared)(unsafe.Pointer(pBt)).FopenFlags)&int32(BTREE_SINGLE) == 0 && _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1)+libc.BoolInt32(pgno == uint32(1)) {
- *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(81713))
+ *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(81715))
goto cleardatabasepage_out
}
hdr = libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FhdrOffset)
@@ -62070,7 +57035,7 @@ func _btreeDropTable(tls *libc.TLS, p uintptr, iTable TPgno, piMoved uintptr) (r
*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
pBt = (*TBtree)(unsafe.Pointer(p)).FpBt
if iTable > _btreePagecount(tls, pBt) {
- return _sqlite3CorruptError(tls, int32(81817))
+ return _sqlite3CorruptError(tls, int32(81819))
}
*(*int32)(unsafe.Pointer(bp)) = _sqlite3BtreeClearTable(tls, p, libc.Int32FromUint32(iTable), uintptr(0))
if *(*int32)(unsafe.Pointer(bp)) != 0 {
@@ -63122,14 +58087,14 @@ func _sqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) (r int32) {
// ** blob of allocated memory. The xFree function should not call sqlite3_free()
// ** on the memory, the btree layer does that.
// */
-func _sqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) (r uintptr) {
+func _sqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, __ccgo_fp_xFree uintptr) (r uintptr) {
var pBt uintptr
_ = pBt
pBt = (*TBtree)(unsafe.Pointer(p)).FpBt
_sqlite3BtreeEnter(tls, p)
if !((*TBtShared)(unsafe.Pointer(pBt)).FpSchema != 0) && nBytes != 0 {
(*TBtShared)(unsafe.Pointer(pBt)).FpSchema = _sqlite3DbMallocZero(tls, uintptr(0), libc.Uint64FromInt32(nBytes))
- (*TBtShared)(unsafe.Pointer(pBt)).FxFreeSchema = xFree
+ (*TBtShared)(unsafe.Pointer(pBt)).FxFreeSchema = __ccgo_fp_xFree
}
_sqlite3BtreeLeave(tls, p)
return (*TBtShared)(unsafe.Pointer(pBt)).FpSchema
@@ -63340,45 +58305,6 @@ func _sqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) (r int32) {
return (*TBtShared)(unsafe.Pointer((*TBtree)(unsafe.Pointer(p)).FpBt)).FnRef
}
-/************** End of btree.c ***********************************************/
-/************** Begin file backup.c ******************************************/
-/*
-** 2009 January 28
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains the implementation of the sqlite3_backup_XXX()
-** API functions and the related features.
- */
-/* #include "sqliteInt.h" */
-/* #include "btreeInt.h" */
-
-/*
-** Structure allocated for each backup operation.
- */
-type Tsqlite3_backup1 = struct {
- FpDestDb uintptr
- FpDest uintptr
- FiDestSchema Tu32
- FbDestLocked int32
- FiNext TPgno
- FpSrcDb uintptr
- FpSrc uintptr
- Frc int32
- FnRemaining TPgno
- FnPagecount TPgno
- FisAttached int32
- FpNext uintptr
-}
-
-type sqlite3_backup1 = Tsqlite3_backup1
-
/*
** THREAD SAFETY NOTES:
**
@@ -64978,7 +59904,7 @@ func _sqlite3NoopDestructor(tls *libc.TLS, p uintptr) {
// ** Set the value stored in *pMem should already be a NULL.
// ** Also store a pointer to go with it.
// */
-func _sqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) {
+func _sqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, __ccgo_fp_xDestructor uintptr) {
var v1, v2 uintptr
_, _ = v1, v2
_vdbeMemClear(tls, pMem)
@@ -64991,8 +59917,8 @@ func _sqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType
(*TMem)(unsafe.Pointer(pMem)).Fz = pPtr
(*TMem)(unsafe.Pointer(pMem)).Fflags = libc.Uint16FromInt32(libc.Int32FromInt32(MEM_Null) | libc.Int32FromInt32(MEM_Dyn) | libc.Int32FromInt32(MEM_Subtype) | libc.Int32FromInt32(MEM_Term))
(*TMem)(unsafe.Pointer(pMem)).FeSubtype = uint8('p')
- if xDestructor != 0 {
- v2 = xDestructor
+ if __ccgo_fp_xDestructor != 0 {
+ v2 = __ccgo_fp_xDestructor
} else {
v2 = __ccgo_fp(_sqlite3NoopDestructor)
}
@@ -65151,7 +60077,7 @@ func _sqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) {
// ** excluding the first zero character. The n parameter must be
// ** non-negative for blobs.
// */
-func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc Tu8, xDel uintptr) (r int32) {
+func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc Tu8, __ccgo_fp_xDel uintptr) (r int32) {
var flags Tu16
var iLimit, v2, v4 int32
var nAlloc, nByte Ti64
@@ -65193,11 +60119,11 @@ func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc T
}
}
if nByte > int64(iLimit) {
- if xDel != 0 && xDel != uintptr(-libc.Int32FromInt32(1)) {
- if xDel == __ccgo_fp(_sqlite3OomClear) {
+ if __ccgo_fp_xDel != 0 && __ccgo_fp_xDel != uintptr(-libc.Int32FromInt32(1)) {
+ if __ccgo_fp_xDel == __ccgo_fp(_sqlite3OomClear) {
_sqlite3DbFree(tls, (*TMem)(unsafe.Pointer(pMem)).Fdb, z)
} else {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDel})))(tls, z)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDel})))(tls, z)
}
}
_sqlite3VdbeMemSetNull(tls, pMem)
@@ -65207,7 +60133,7 @@ func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc T
** also sets a flag in local variable "flags" to indicate the memory
** management (one of MEM_Dyn or MEM_Static).
*/
- if xDel == uintptr(-libc.Int32FromInt32(1)) {
+ if __ccgo_fp_xDel == uintptr(-libc.Int32FromInt32(1)) {
nAlloc = nByte
if libc.Int32FromUint16(flags)&int32(MEM_Term) != 0 {
if libc.Int32FromUint8(enc) == int32(SQLITE_UTF8) {
@@ -65229,12 +60155,12 @@ func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc T
} else {
_sqlite3VdbeMemRelease(tls, pMem)
(*TMem)(unsafe.Pointer(pMem)).Fz = z
- if xDel == __ccgo_fp(_sqlite3OomClear) {
+ if __ccgo_fp_xDel == __ccgo_fp(_sqlite3OomClear) {
(*TMem)(unsafe.Pointer(pMem)).FzMalloc = (*TMem)(unsafe.Pointer(pMem)).Fz
(*TMem)(unsafe.Pointer(pMem)).FszMalloc = _sqlite3DbMallocSize(tls, (*TMem)(unsafe.Pointer(pMem)).Fdb, (*TMem)(unsafe.Pointer(pMem)).FzMalloc)
} else {
- (*TMem)(unsafe.Pointer(pMem)).FxDel = xDel
- if xDel == libc.UintptrFromInt32(0) {
+ (*TMem)(unsafe.Pointer(pMem)).FxDel = __ccgo_fp_xDel
+ if __ccgo_fp_xDel == libc.UintptrFromInt32(0) {
v4 = int32(MEM_Static)
} else {
v4 = int32(MEM_Dyn)
@@ -65273,7 +60199,7 @@ func _sqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32
_, _ = rc, v1
(*TMem)(unsafe.Pointer(pMem)).Fflags = uint16(MEM_Null)
if _sqlite3BtreeMaxRecordSize(tls, pCur) < libc.Int64FromUint32(offset+amt) {
- return _sqlite3CorruptError(tls, int32(85115))
+ return _sqlite3CorruptError(tls, int32(85117))
}
v1 = _sqlite3VdbeMemClearAndResize(tls, pMem, libc.Int32FromUint32(amt+uint32(1)))
rc = v1
@@ -65385,8 +60311,8 @@ func _sqlite3ValueText(tls *libc.TLS, pVal uintptr, enc Tu8) (r uintptr) {
// ** TODO: Maybe someday promote this interface into a published API so
// ** that third-party extensions can get access to it?
// */
-func _sqlite3ValueIsOfClass(tls *libc.TLS, pVal uintptr, xFree uintptr) (r int32) {
- if pVal != uintptr(0) && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(libc.Int32FromInt32(MEM_Str)|libc.Int32FromInt32(MEM_Blob)) != 0 && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) != 0 && (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel == xFree {
+func _sqlite3ValueIsOfClass(tls *libc.TLS, pVal uintptr, __ccgo_fp_xFree uintptr) (r int32) {
+ if pVal != uintptr(0) && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(libc.Int32FromInt32(MEM_Str)|libc.Int32FromInt32(MEM_Blob)) != 0 && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) != 0 && (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel == __ccgo_fp_xFree {
return int32(1)
} else {
return 0
@@ -65976,7 +60902,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
}
iHdr = uint32(libc.Uint8FromInt32(v1))
if *(*Tu32)(unsafe.Pointer(bp + 4)) > libc.Uint32FromInt32(nRec) || iHdr >= *(*Tu32)(unsafe.Pointer(bp + 4)) {
- return _sqlite3CorruptError(tls, int32(85801))
+ return _sqlite3CorruptError(tls, int32(85803))
}
iField = libc.Int64FromUint32(*(*Tu32)(unsafe.Pointer(bp + 4)))
i = 0
@@ -65992,7 +60918,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
}
iHdr += uint32(libc.Uint8FromInt32(v3))
if iHdr > *(*Tu32)(unsafe.Pointer(bp + 4)) {
- return _sqlite3CorruptError(tls, int32(85807))
+ return _sqlite3CorruptError(tls, int32(85809))
}
szField = _sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp)))
iField += libc.Int64FromUint32(szField)
@@ -66002,7 +60928,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
i++
}
if iField > int64(nRec) {
- return _sqlite3CorruptError(tls, int32(85813))
+ return _sqlite3CorruptError(tls, int32(85815))
}
if pMem == uintptr(0) {
v4 = _sqlite3ValueNew(tls, db)
@@ -66053,9 +60979,9 @@ func _sqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) {
// /*
// ** Change the string value of an sqlite3_value object
// */
-func _sqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc Tu8, xDel uintptr) {
+func _sqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc Tu8, __ccgo_fp_xDel uintptr) {
if v != 0 {
- _sqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, xDel)
+ _sqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, __ccgo_fp_xDel)
}
}
@@ -66129,7 +61055,7 @@ func _sqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) (r uintptr) {
libc.X__builtin___memset_chk(tls, p+136, 0, libc.Uint64FromInt64(304)-uint64(libc.UintptrFromInt32(0)+136), ^t__predefined_size_t(0))
(*TVdbe)(unsafe.Pointer(p)).Fdb = db
if (*Tsqlite3)(unsafe.Pointer(db)).FpVdbe != 0 {
- (*TVdbe1)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpVdbe)).FppVPrev = p + 16
+ (*TVdbe)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpVdbe)).FppVPrev = p + 16
}
(*TVdbe)(unsafe.Pointer(p)).FpVNext = (*Tsqlite3)(unsafe.Pointer(db)).FpVdbe
(*TVdbe)(unsafe.Pointer(p)).FppVPrev = db + 8
@@ -68253,7 +63179,7 @@ func _sqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) {
// ** or SQLITE_TRANSIENT. If it is SQLITE_DYNAMIC, then the buffer pointed
// ** to by zName will be freed by sqlite3DbFree() when the vdbe is destroyed.
// */
-func _sqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) (r int32) {
+func _sqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, __ccgo_fp_xDel uintptr) (r int32) {
var pColName uintptr
var rc int32
_, _ = pColName, rc
@@ -68261,7 +63187,7 @@ func _sqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zNa
return int32(SQLITE_NOMEM)
}
pColName = (*TVdbe)(unsafe.Pointer(p)).FaColName + uintptr(idx+var1*libc.Int32FromUint16((*TVdbe)(unsafe.Pointer(p)).FnResAlloc))*56
- rc = _sqlite3VdbeMemSetStr(tls, pColName, zName, int64(-int32(1)), uint8(SQLITE_UTF8), xDel)
+ rc = _sqlite3VdbeMemSetStr(tls, pColName, zName, int64(-int32(1)), uint8(SQLITE_UTF8), __ccgo_fp_xDel)
return rc
}
@@ -69088,7 +64014,7 @@ func _sqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) (r int32) {
return rc
}
if *(*int32)(unsafe.Pointer(bp)) != 0 {
- return _sqlite3CorruptError(tls, int32(89694))
+ return _sqlite3CorruptError(tls, int32(89696))
}
(*TVdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = uint8(0)
(*TVdbeCursor)(unsafe.Pointer(p)).FcacheStatus = uint32(CACHE_STALE)
@@ -69936,7 +64862,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
i = 0
}
if d1 > libc.Uint32FromInt32(nKey1) {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90653)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90655)))
return 0 /* Corruption */
}
/* Only needed by assert() statements */
@@ -70026,7 +64952,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
pKeyInfo = v4
}
if v5 || libc.Int32FromUint16((*TKeyInfo)(unsafe.Pointer(v4)).FnAllField) <= i {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90734)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90736)))
return 0 /* Corruption */
} else {
if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 {
@@ -70061,7 +64987,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
} else {
nStr = libc.Int32FromUint32((*(*Tu32)(unsafe.Pointer(bp + 68)) - uint32(12)) / uint32(2))
if d1+libc.Uint32FromInt32(nStr) > libc.Uint32FromInt32(nKey1) {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90764)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90766)))
return 0 /* Corruption */
} else {
if libc.Int32FromUint16((*TMem)(unsafe.Pointer(pRhs)).Fflags)&int32(MEM_Zero) != 0 {
@@ -70115,7 +65041,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
}
idx1 += libc.Uint32FromInt32(_sqlite3VarintLen(tls, uint64(*(*Tu32)(unsafe.Pointer(bp + 68)))))
if idx1 >= *(*Tu32)(unsafe.Pointer(bp)) {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90815)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90817)))
return 0 /* Corrupt index */
}
}
@@ -70247,7 +65173,7 @@ vrcs_restart:
szHdr = libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(aKey1)))
nStr = (*(*int32)(unsafe.Pointer(bp)) - int32(12)) / int32(2)
if szHdr+nStr > nKey1 {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90978)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90980)))
return 0 /* Corruption */
}
if (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).Fn < nStr {
@@ -70399,7 +65325,7 @@ func _sqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr
idx_rowid_corruption:
;
_sqlite3VdbeMemReleaseMalloc(tls, bp+8)
- return _sqlite3CorruptError(tls, int32(91136))
+ return _sqlite3CorruptError(tls, int32(91138))
}
// C documentation
@@ -70430,7 +65356,7 @@ func _sqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
** that btreeParseCellPtr() and sqlite3GetVarint32() are implemented */
if nCellKey <= 0 || nCellKey > int64(0x7fffffff) {
*(*int32)(unsafe.Pointer(res)) = 0
- return _sqlite3CorruptError(tls, int32(91169))
+ return _sqlite3CorruptError(tls, int32(91171))
}
_sqlite3VdbeMemInit(tls, bp, db, uint16(0))
rc = _sqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, libc.Uint32FromInt64(nCellKey), bp)
@@ -70847,7 +65773,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) (r int32) {
v = pStmt
db = (*TVdbe)(unsafe.Pointer(v)).Fdb
if _vdbeSafety(tls, v) != 0 {
- return _sqlite3MisuseError(tls, int32(91567))
+ return _sqlite3MisuseError(tls, int32(91569))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if (*TVdbe)(unsafe.Pointer(v)).FstartTime > 0 {
@@ -71174,12 +66100,12 @@ func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) {
// ** The invokeValueDestructor(P,X) routine invokes destructor function X()
// ** on value P if P is not going to be used and need to be destroyed.
// */
-func _setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc Tu8, xDel uintptr) {
+func _setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc Tu8, __ccgo_fp_xDel uintptr) {
var pOut uintptr
var rc int32
_, _ = pOut, rc
pOut = (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut
- rc = _sqlite3VdbeMemSetStr(tls, pOut, z, int64(n), enc, xDel)
+ rc = _sqlite3VdbeMemSetStr(tls, pOut, z, int64(n), enc, __ccgo_fp_xDel)
if rc != 0 {
if rc == int32(SQLITE_TOOBIG) {
Xsqlite3_result_error_toobig(tls, pCtx)
@@ -71196,29 +66122,33 @@ func _setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc T
}
}
-func _invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) (r int32) {
- if xDel == uintptr(0) {
+func _invokeValueDestructor(tls *libc.TLS, p uintptr, __ccgo_fp_xDel uintptr, pCtx uintptr) (r int32) {
+ if __ccgo_fp_xDel == uintptr(0) {
/* noop */
} else {
- if xDel == uintptr(-libc.Int32FromInt32(1)) {
+ if __ccgo_fp_xDel == uintptr(-libc.Int32FromInt32(1)) {
/* noop */
} else {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDel})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDel})))(tls, p)
}
}
Xsqlite3_result_error_toobig(tls, pCtx)
return int32(SQLITE_TOOBIG)
}
-func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, n, uint8(0), xDel)
+type t__ccgo_fp__Xsqlite3_result_blob_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, n, uint8(0), __ccgo_fp_xDel)
}
-func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, xDel uintptr) {
+type t__ccgo_fp__Xsqlite3_result_blob64_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, __ccgo_fp_xDel uintptr) {
if n > uint64(0x7fffffff) {
- _invokeValueDestructor(tls, z, xDel, pCtx)
+ _invokeValueDestructor(tls, z, __ccgo_fp_xDel, pCtx)
} else {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), uint8(0), xDel)
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), uint8(0), __ccgo_fp_xDel)
}
}
@@ -71248,13 +66178,15 @@ func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) {
_sqlite3VdbeMemSetNull(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut)
}
-func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) {
+type t__ccgo_fp__Xsqlite3_result_pointer_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, __ccgo_fp_xDestructor uintptr) {
var pOut uintptr
_ = pOut
pOut = (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut
_sqlite3VdbeMemRelease(tls, pOut)
(*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Null)
- _sqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, xDestructor)
+ _sqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, __ccgo_fp_xDestructor)
}
func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) {
@@ -71266,11 +66198,15 @@ func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) {
*(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromInt32(MEM_Subtype))
}
-func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), xDel)
+type t__ccgo_fp__Xsqlite3_result_text_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), __ccgo_fp_xDel)
}
-func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, xDel uintptr, enc uint8) {
+type t__ccgo_fp__Xsqlite3_result_text64_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, __ccgo_fp_xDel uintptr, enc uint8) {
if libc.Int32FromUint8(enc) != int32(SQLITE_UTF8) {
if libc.Int32FromUint8(enc) == int32(SQLITE_UTF16) {
enc = uint8(SQLITE_UTF16LE)
@@ -71278,23 +66214,29 @@ func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_u
n &= ^libc.Uint64FromInt32(1)
}
if n > uint64(0x7fffffff) {
- _invokeValueDestructor(tls, z, xDel, pCtx)
+ _invokeValueDestructor(tls, z, __ccgo_fp_xDel, pCtx)
} else {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), enc, xDel)
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), enc, __ccgo_fp_xDel)
_sqlite3VdbeMemZeroTerminateIfAble(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut)
}
}
-func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), xDel)
+type t__ccgo_fp__Xsqlite3_result_text16_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), __ccgo_fp_xDel)
}
-func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16BE), xDel)
+type t__ccgo_fp__Xsqlite3_result_text16be_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16BE), __ccgo_fp_xDel)
}
-func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), xDel)
+type t__ccgo_fp__Xsqlite3_result_text16le_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), __ccgo_fp_xDel)
}
func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) {
@@ -71551,7 +66493,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) (r int32) {
v = pStmt /* the prepared statement */
cnt = 0 /* The database connection */
if _vdbeSafetyNotNull(tls, v) != 0 {
- return _sqlite3MisuseError(tls, int32(92361))
+ return _sqlite3MisuseError(tls, int32(92363))
}
db = (*TVdbe)(unsafe.Pointer(v)).Fdb
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -71681,7 +66623,7 @@ func _valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32
_, _, _, _, _, _, _ = iOff, pOut, pRhs, rc, sz, zBuf, v1
*(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0)
if pVal == uintptr(0) {
- return _sqlite3MisuseError(tls, int32(92482))
+ return _sqlite3MisuseError(tls, int32(92484))
}
if libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) == 0 || (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel != __ccgo_fp(_sqlite3VdbeValueListFree) {
return int32(SQLITE_ERROR)
@@ -71850,6 +66792,8 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) (r uintptr) {
return uintptr(0)
}
+type t__ccgo_fp__Xsqlite3_set_auxdata_3 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
@@ -71863,7 +66807,7 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) (r uintptr) {
// ** to all functions within the current prepared statement using iArg as an
// ** access code.
// */
-func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, xDelete uintptr) {
+func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, __ccgo_fp_xDelete uintptr) {
var pAuxData, pVdbe uintptr
_, _ = pAuxData, pVdbe
pVdbe = (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe
@@ -71901,13 +66845,13 @@ func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr,
}
}
(*TAuxData)(unsafe.Pointer(pAuxData)).FpAux = pAux
- (*TAuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux = xDelete
+ (*TAuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux = __ccgo_fp_xDelete
return
goto failed
failed:
;
- if xDelete != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDelete})))(tls, pAux)
+ if __ccgo_fp_xDelete != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDelete})))(tls, pAux)
}
}
@@ -72407,14 +67351,14 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) {
var v2 bool
_, _, _ = pVar, v1, v2
if _vdbeSafetyNotNull(tls, p) != 0 {
- return _sqlite3MisuseError(tls, int32(93098))
+ return _sqlite3MisuseError(tls, int32(93100))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
if libc.Int32FromUint8((*TVdbe)(unsafe.Pointer(p)).FeVdbeState) != int32(VDBE_READY_STATE) {
- _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(93102)))
+ _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(93104)))
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5961, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql))
- return _sqlite3MisuseError(tls, int32(93106))
+ return _sqlite3MisuseError(tls, int32(93108))
}
if i >= libc.Uint32FromInt16((*TVdbe)(unsafe.Pointer(p)).FnVar) {
_sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, int32(SQLITE_RANGE))
@@ -72452,7 +67396,7 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) {
// /*
// ** Bind a text or BLOB value.
// */
-func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64, xDel uintptr, encoding Tu8) (r int32) {
+func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64, __ccgo_fp_xDel uintptr, encoding Tu8) (r int32) {
var p, pVar uintptr
var rc int32
_, _, _ = p, pVar, rc
@@ -72462,7 +67406,7 @@ func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64,
/* tag-20240917-01 */
if zData != uintptr(0) {
pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr(i-int32(1))*56
- rc = _sqlite3VdbeMemSetStr(tls, pVar, zData, nData, encoding, xDel)
+ rc = _sqlite3VdbeMemSetStr(tls, pVar, zData, nData, encoding, __ccgo_fp_xDel)
if rc == SQLITE_OK && libc.Int32FromUint8(encoding) != 0 {
rc = _sqlite3VdbeChangeEncoding(tls, pVar, libc.Int32FromUint8((*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fenc))
}
@@ -72473,24 +67417,28 @@ func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64,
}
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
} else {
- if xDel != libc.UintptrFromInt32(0) && xDel != uintptr(-libc.Int32FromInt32(1)) {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDel})))(tls, zData)
+ if __ccgo_fp_xDel != libc.UintptrFromInt32(0) && __ccgo_fp_xDel != uintptr(-libc.Int32FromInt32(1)) {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDel})))(tls, zData)
}
}
return rc
}
+type t__ccgo_fp__Xsqlite3_bind_blob_4 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Bind a blob value to an SQL statement variable.
// */
-func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0))
+func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, int64(nData), __ccgo_fp_xDel, uint8(0))
}
-func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), xDel, uint8(0))
+type t__ccgo_fp__Xsqlite3_bind_blob64_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), __ccgo_fp_xDel, uint8(0))
}
func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) (r int32) {
@@ -72538,7 +67486,9 @@ func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) (r int32) {
return rc
}
-func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) (r int32) {
+type t__ccgo_fp__Xsqlite3_bind_pointer_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
var p uintptr
var rc int32
_, _ = p, rc
@@ -72546,32 +67496,38 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr,
rc = _vdbeUnbind(tls, p, libc.Uint32FromInt32(i-libc.Int32FromInt32(1)))
if rc == SQLITE_OK {
/* tag-20240917-01 */
- _sqlite3VdbeMemSetPointer(tls, (*TVdbe)(unsafe.Pointer(p)).FaVar+uintptr(i-int32(1))*56, pPtr, zPTtype, xDestructor)
+ _sqlite3VdbeMemSetPointer(tls, (*TVdbe)(unsafe.Pointer(p)).FaVar+uintptr(i-int32(1))*56, pPtr, zPTtype, __ccgo_fp_xDestructor)
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
} else {
- if xDestructor != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestructor})))(tls, pPtr)
+ if __ccgo_fp_xDestructor != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestructor})))(tls, pPtr)
}
}
return rc
}
-func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF8))
+type t__ccgo_fp__Xsqlite3_bind_text_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, int64(nData), __ccgo_fp_xDel, uint8(SQLITE_UTF8))
}
-func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, xDel uintptr, enc uint8) (r int32) {
+type t__ccgo_fp__Xsqlite3_bind_text64_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, __ccgo_fp_xDel uintptr, enc uint8) (r int32) {
if libc.Int32FromUint8(enc) != int32(SQLITE_UTF8) {
if libc.Int32FromUint8(enc) == int32(SQLITE_UTF16) {
enc = uint8(SQLITE_UTF16LE)
}
nData &= ^libc.Uint64FromInt32(1)
}
- return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), xDel, enc)
+ return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), __ccgo_fp_xDel, enc)
}
-func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, n int32, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), xDel, uint8(SQLITE_UTF16LE))
+type t__ccgo_fp__Xsqlite3_bind_text16_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, n int32, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), __ccgo_fp_xDel, uint8(SQLITE_UTF16LE))
}
func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) (r int32) {
@@ -72988,7 +67944,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
/* Test that this call is being made from within an SQLITE_DELETE or
** SQLITE_UPDATE pre-update callback, and that iIdx is within range. */
if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_INSERT) {
- rc = _sqlite3MisuseError(tls, int32(93649))
+ rc = _sqlite3MisuseError(tls, int32(93651))
goto preupdate_old_out
}
if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 {
@@ -73050,7 +68006,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
})(unsafe.Pointer((*TPreUpdate)(unsafe.Pointer(p)).FpTab + 64))).FpDfltList + 8 + uintptr(libc.Int32FromUint16((*TColumn)(unsafe.Pointer(pCol)).FiDflt)-int32(1))*32))).FpExpr
rc = _sqlite3ValueFromExpr(tls, db, pDflt, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, libc.Uint8FromInt8((*TColumn)(unsafe.Pointer(pCol)).Faffinity), bp)
if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
- rc = _sqlite3CorruptError(tls, int32(93708))
+ rc = _sqlite3CorruptError(tls, int32(93710))
}
*(*uintptr)(unsafe.Pointer((*TPreUpdate)(unsafe.Pointer(p)).FapDflt + uintptr(iIdx)*8)) = *(*uintptr)(unsafe.Pointer(bp))
}
@@ -73151,7 +68107,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
iStore = 0
p = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdate
if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_DELETE) {
- rc = _sqlite3MisuseError(tls, int32(93804))
+ rc = _sqlite3MisuseError(tls, int32(93806))
goto preupdate_new_out
}
if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 && (*TPreUpdate)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) {
@@ -76512,7 +71468,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
pOp = aOp + uintptr((*(*TOp)(unsafe.Pointer(aOp))).Fp3-int32(1))*24
goto _187
} else {
- rc = _sqlite3CorruptError(tls, int32(97568))
+ rc = _sqlite3CorruptError(tls, int32(97570))
goto abort_due_to_error
}
/* Opcode: TypeCheck P1 P2 P3 P4 *
@@ -78422,7 +73378,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
** into an integer without loss of information. Take care to avoid
** changing the datatype of pIn3, however, as it is used by other
** parts of the prepared statement. */
- *(*Tsqlite3_value1)(unsafe.Pointer(bp + 256)) = *(*TMem)(unsafe.Pointer(pIn3))
+ *(*Tsqlite3_value)(unsafe.Pointer(bp + 256)) = *(*TMem)(unsafe.Pointer(pIn3))
_applyAffinity(tls, bp+256, int8(SQLITE_AFF_NUMERIC), encoding)
if libc.Int32FromUint16((*(*TMem)(unsafe.Pointer(bp + 256))).Fflags)&int32(MEM_Int) == 0 {
goto jump_to_p2
@@ -78449,7 +73405,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
(*TVdbeCursor)(unsafe.Pointer(pC10)).FseekResult = *(*int32)(unsafe.Pointer(bp + 248))
if *(*int32)(unsafe.Pointer(bp + 248)) != 0 {
if (*TOp)(unsafe.Pointer(pOp)).Fp2 == 0 {
- rc = _sqlite3CorruptError(tls, int32(99829))
+ rc = _sqlite3CorruptError(tls, int32(99831))
} else {
goto jump_to_p2
}
@@ -79341,7 +74297,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
}
} else {
if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 && !(_sqlite3WritableSchema(tls, db) != 0) {
- rc = _sqlite3ReportError(tls, libc.Int32FromInt32(SQLITE_CORRUPT)|libc.Int32FromInt32(3)< int64(0x7fffffff) {
- rc = _sqlite3CorruptError(tls, int32(101126))
+ rc = _sqlite3CorruptError(tls, int32(101128))
goto abort_due_to_error
}
_sqlite3VdbeMemInit(tls, bp+552, db, uint16(0))
@@ -79723,7 +74679,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
/* The OP_ParseSchema opcode with a non-NULL P4 argument should parse
** at least one SQL statement. Any less than that indicates that
** the sqlite_schema table is corrupt. */
- rc = _sqlite3CorruptError(tls, int32(101419))
+ rc = _sqlite3CorruptError(tls, int32(101421))
}
_sqlite3DbFreeNN(tls, db, zSql)
(*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0)
@@ -81374,7 +76330,7 @@ abort_due_to_error:
rc = int32(SQLITE_NOMEM)
} else {
if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(33)< Banana
-** aReadr[1] -> Feijoa
-** aReadr[2] -> Elderberry
-** aReadr[3] -> Currant
-** aReadr[4] -> Grapefruit
-** aReadr[5] -> Apple
-** aReadr[6] -> Durian
-** aReadr[7] -> EOF
-**
-** aTree[] = { X, 5 0, 5 0, 3, 5, 6 }
-**
-** The current element is "Apple" (the value of the key indicated by
-** PmaReader 5). When the Next() operation is invoked, PmaReader 5 will
-** be advanced to the next key in its segment. Say the next key is
-** "Eggplant":
-**
-** aReadr[5] -> Eggplant
-**
-** The contents of aTree[] are updated first by comparing the new PmaReader
-** 5 key to the current key of PmaReader 4 (still "Grapefruit"). The PmaReader
-** 5 value is still smaller, so aTree[6] is set to 5. And so on up the tree.
-** The value of PmaReader 6 - "Durian" - is now smaller than that of PmaReader
-** 5, so aTree[3] is set to 6. Key 0 is smaller than key 6 (Bananafile2. And instead of using a
-** background thread to prepare data for the PmaReader, with a single
-** threaded IncrMerger the allocate part of pTask->file2 is "refilled" with
-** keys from pMerger by the calling thread whenever the PmaReader runs out
-** of data.
- */
-type TIncrMerger1 = struct {
- FpTask uintptr
- FpMerger uintptr
- FiStartOff Ti64
- FmxSz int32
- FbEof int32
- FbUseThread int32
- FaFile [2]TSorterFile
-}
-
-type IncrMerger1 = TIncrMerger1
-
-/*
-** An instance of this object is used for writing a PMA.
-**
-** The PMA is written one record at a time. Each record is of an arbitrary
-** size. But I/O is more efficient if it occurs in page-sized blocks where
-** each block is aligned on a page boundary. This object caches writes to
-** the PMA so that aligned, page-size blocks are written.
- */
-type TPmaWriter1 = struct {
- FeFWErr int32
- FaBuffer uintptr
- FnBuffer int32
- FiBufStart int32
- FiBufEnd int32
- FiWriteOff Ti64
- FpFd uintptr
-}
-
-type PmaWriter1 = TPmaWriter1
-
-/*
-** This object is the header on a single record while that record is being
-** held in memory and prior to being written out as part of a PMA.
-**
-** How the linked list is connected depends on how memory is being managed
-** by this module. If using a separate allocation for each in-memory record
-** (VdbeSorter.list.aMemory==0), then the list is always connected using the
-** SorterRecord.u.pNext pointers.
-**
-** Or, if using the single large allocation method (VdbeSorter.list.aMemory!=0),
-** then while records are being accumulated the list is linked using the
-** SorterRecord.u.iNext offset. This is because the aMemory[] array may
-** be sqlite3Realloc()ed while records are being accumulated. Once the VM
-** has finished passing records to the sorter, or when the in-memory buffer
-** is full, the list is sorted. As part of the sorting process, it is
-** converted to use the SorterRecord.u.pNext pointers. See function
-** vdbeSorterSort() for details.
- */
-type TSorterRecord1 = struct {
- FnVal int32
- Fu struct {
- FiNext [0]int32
- FpNext uintptr
- }
-}
-
-type SorterRecord1 = TSorterRecord1
-
// C documentation
//
// /*
@@ -82776,7 +77453,7 @@ func _vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr)
rc = SQLITE_OK
if (*TSorterFile)(unsafe.Pointer(pFile)).FiEof <= int64((*Tsqlite3)(unsafe.Pointer((*TVdbeSorter)(unsafe.Pointer((*TSortSubtask)(unsafe.Pointer(pTask)).FpSorter)).Fdb)).FnMaxSorterMmap) {
pFd = (*TSorterFile)(unsafe.Pointer(pFile)).FpFd
- if (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
+ if (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
rc = _sqlite3OsFetch(tls, pFd, 0, int32((*TSorterFile)(unsafe.Pointer(pFile)).FiEof), pp)
}
}
@@ -83267,8 +77944,8 @@ func _vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) (r int32) {
// /*
// ** Launch a background thread to run xTask(pIn).
// */
-func _vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) (r int32) {
- return _sqlite3ThreadCreate(tls, pTask, xTask, pIn)
+func _vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, __ccgo_fp_xTask uintptr, pIn uintptr) (r int32) {
+ return _sqlite3ThreadCreate(tls, pTask, __ccgo_fp_xTask, pIn)
}
// C documentation
@@ -83463,7 +78140,7 @@ func _vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, _nByte Ti64)
*(*Ti64)(unsafe.Pointer(bp)) = _nByte
var _ /* chunksize at bp+16 */ int32
var _ /* p at bp+8 */ uintptr
- if *(*Ti64)(unsafe.Pointer(bp)) <= int64((*Tsqlite3)(unsafe.Pointer(db)).FnMaxSorterMmap) && (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
+ if *(*Ti64)(unsafe.Pointer(bp)) <= int64((*Tsqlite3)(unsafe.Pointer(db)).FnMaxSorterMmap) && (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
*(*int32)(unsafe.Pointer(bp + 16)) = libc.Int32FromInt32(4) * libc.Int32FromInt32(1024)
_sqlite3OsFileControlHint(tls, pFd, int32(SQLITE_FCNTL_CHUNK_SIZE), bp+16)
@@ -85115,57 +79792,6 @@ type TFileChunk = struct {
type FileChunk = TFileChunk
-/*
-** The rollback journal is composed of a linked list of these structures.
-**
-** The zChunk array is always at least 8 bytes in size - usually much more.
-** Its actual size is stored in the MemJournal.nChunkSize variable.
- */
-type TFileChunk1 = struct {
- FpNext uintptr
- FzChunk [8]Tu8
-}
-
-type FileChunk1 = TFileChunk1
-
-/*
-** By default, allocate this many bytes of memory for each FileChunk object.
- */
-
-/*
-** For chunk size nChunkSize, return the number of bytes that should
-** be allocated for each FileChunk structure.
- */
-
-/*
-** An instance of this object serves as a cursor into the rollback journal.
-** The cursor can be either for reading or writing.
- */
-type TFilePoint1 = struct {
- FiOffset Tsqlite3_int64
- FpChunk uintptr
-}
-
-type FilePoint1 = TFilePoint1
-
-/*
-** This structure is a subclass of sqlite3_file. Each open memory-journal
-** is an instance of this class.
- */
-type TMemJournal1 = struct {
- FpMethod uintptr
- FnChunkSize int32
- FnSpill int32
- FpFirst uintptr
- Fendpoint TFilePoint
- Freadpoint TFilePoint
- Fflags int32
- FpVfs uintptr
- FzJournal uintptr
-}
-
-type MemJournal1 = TMemJournal1
-
// C documentation
//
// /*
@@ -85462,7 +80088,7 @@ func _memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) (r int32) {
// /*
// ** Table of methods for MemJournal sqlite3_file object.
// */
-var _MemJournalMethods = Tsqlite3_io_methods1{
+var _MemJournalMethods = Tsqlite3_io_methods{
FiVersion: int32(1),
}
@@ -89926,12 +84552,6 @@ type TEdupBuf = struct {
type EdupBuf = TEdupBuf
-type TEdupBuf1 = struct {
- FzAlloc uintptr
-}
-
-type EdupBuf1 = TEdupBuf1
-
// C documentation
//
// /*
@@ -93508,6 +88128,11 @@ expr_code_doover:
case int32(TK_STRING):
_sqlite3VdbeLoadString(tls, v, target, *(*uintptr)(unsafe.Pointer(pExpr + 8)))
return target
+ case int32(TK_NULLS):
+ /* Set a range of registers to NULL. pExpr->y.nReg registers starting
+ ** with target */
+ _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, target, target+*(*int32)(unsafe.Pointer(&(*TExpr)(unsafe.Pointer(pExpr)).Fy))-int32(1))
+ return target
default:
/* Make NULL the default case so that if a bug causes an illegal
** Expr node to be passed into this function, it will be handled
@@ -94045,6 +88670,27 @@ func _sqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, r
return regDest
}
+// C documentation
+//
+// /*
+// ** Make arrangements to invoke OP_Null on a range of registers
+// ** during initialization.
+// */
+func _sqlite3ExprNullRegisterRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) {
+ bp := tls.Alloc(80)
+ defer tls.Free(80)
+ var okConstFactor Tu8
+ var _ /* t at bp+0 */ TExpr
+ _ = okConstFactor
+ okConstFactor = libc.Uint8FromInt32(int32(Tbft(*(*uint8)(unsafe.Pointer(pParse + 44)) & 0x4 >> 2)))
+ libc.X__builtin___memset_chk(tls, bp, 0, uint64(72), ^t__predefined_size_t(0))
+ (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_NULLS)
+ *(*int32)(unsafe.Pointer(bp + 64)) = nReg
+ libc.SetBitFieldPtr8Uint32(pParse+44, libc.Uint32FromInt32(1), 2, 0x4)
+ _sqlite3ExprCodeRunJustOnce(tls, pParse, bp, iReg)
+ libc.SetBitFieldPtr8Uint32(pParse+44, uint32(okConstFactor), 2, 0x4)
+}
+
// C documentation
//
// /*
@@ -94251,7 +88897,7 @@ func _sqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, targ
// **
// ** The jumpIfNull parameter is ignored if xJumpIf is NULL.
// */
-func _exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) {
+func _exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, __ccgo_fp_xJump uintptr, jumpIfNull int32) {
bp := tls.Alloc(224)
defer tls.Free(224)
var db, pDel uintptr
@@ -94278,8 +88924,8 @@ func _exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32,
(*(*TExpr)(unsafe.Pointer(bp + 144))).FpLeft = pDel
(*(*TExpr)(unsafe.Pointer(bp + 144))).FpRight = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)) + 8 + 1*32))).FpExpr
_sqlite3ExprToRegister(tls, pDel, _exprCodeVector(tls, pParse, pDel, bp+216))
- if xJump != 0 {
- (*(*func(*libc.TLS, uintptr, uintptr, int32, int32))(unsafe.Pointer(&struct{ uintptr }{xJump})))(tls, pParse, bp, dest, jumpIfNull)
+ if __ccgo_fp_xJump != 0 {
+ (*(*func(*libc.TLS, uintptr, uintptr, int32, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xJump})))(tls, pParse, bp, dest, jumpIfNull)
} else {
/* Mark the expression is being from the ON or USING clause of a join
** so that the sqlite3ExprCodeTarget() routine will not attempt to move
@@ -96694,31 +91340,6 @@ exit_rename_column:
return
}
-/*
-** Each RenameToken object maps an element of the parse tree into
-** the token that generated that element. The parse tree element
-** might be one of:
-**
-** * A pointer to an Expr that represents an ID
-** * The name of a table column in Column.zName
-**
-** A list of RenameToken objects can be constructed during parsing.
-** Each new object is created by sqlite3RenameTokenMap().
-** As the parse tree is transformed, the sqlite3RenameTokenRemap()
-** routine is used to keep the mapping current.
-**
-** After the parse finishes, renameTokenFind() routine can be used
-** to look up the actual token value that created some element in
-** the parse tree.
- */
-type TRenameToken1 = struct {
- Fp uintptr
- Ft TToken
- FpNext uintptr
-}
-
-type RenameToken1 = TRenameToken1
-
// C documentation
//
// /*
@@ -96735,16 +91356,6 @@ type TRenameCtx = struct {
type RenameCtx = TRenameCtx
-type TRenameCtx1 = struct {
- FpList uintptr
- FnList int32
- FiCol int32
- FpTab uintptr
- FzOld uintptr
-}
-
-type RenameCtx1 = TRenameCtx1
-
// C documentation
//
// /*
@@ -97047,9 +91658,9 @@ func _renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr)
pToken = *(*uintptr)(unsafe.Pointer(pp))
if pCtx != 0 {
*(*uintptr)(unsafe.Pointer(pp)) = (*TRenameToken)(unsafe.Pointer(pToken)).FpNext
- (*TRenameToken)(unsafe.Pointer(pToken)).FpNext = (*TRenameCtx1)(unsafe.Pointer(pCtx)).FpList
- (*TRenameCtx1)(unsafe.Pointer(pCtx)).FpList = pToken
- (*TRenameCtx1)(unsafe.Pointer(pCtx)).FnList++
+ (*TRenameToken)(unsafe.Pointer(pToken)).FpNext = (*TRenameCtx)(unsafe.Pointer(pCtx)).FpList
+ (*TRenameCtx)(unsafe.Pointer(pCtx)).FpList = pToken
+ (*TRenameCtx)(unsafe.Pointer(pCtx)).FnList++
}
return pToken
}
@@ -97243,7 +91854,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin
return int32(SQLITE_NOMEM)
}
if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11816, int32(7)) != 0 {
- return _sqlite3CorruptError(tls, int32(118888))
+ return _sqlite3CorruptError(tls, int32(118915))
}
if bTemp != 0 {
(*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(1)
@@ -97262,7 +91873,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin
rc = int32(SQLITE_NOMEM)
}
if rc == SQLITE_OK && ((*TParse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
- rc = _sqlite3CorruptError(tls, int32(118909))
+ rc = _sqlite3CorruptError(tls, int32(118936))
}
(*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(0)
return rc
@@ -98326,7 +92937,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr
pTab = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable
if pTab == uintptr(0) || int32((*TTable)(unsafe.Pointer(pTab)).FnCol) == int32(1) || iCol >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) {
/* This can happen if the sqlite_schema table is corrupt */
- rc = _sqlite3CorruptError(tls, int32(119877))
+ rc = _sqlite3CorruptError(tls, int32(119904))
goto drop_column_done
}
pCol = _renameTokenFind(tls, bp, uintptr(0), (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName)
@@ -98880,44 +93491,6 @@ type TStatSample = struct {
type StatSample = TStatSample
-type TStatSample1 = struct {
- FanDLt uintptr
- FanEq uintptr
- FanLt uintptr
- Fu struct {
- FaRowid [0]uintptr
- FiRowid Ti64
- }
- FnRowid Tu32
- FisPSample Tu8
- FiCol int32
- FiHash Tu32
-}
-
-type StatSample1 = TStatSample1
-
-type TStatAccum1 = struct {
- Fdb uintptr
- FnEst TtRowcnt
- FnRow TtRowcnt
- FnLimit int32
- FnCol int32
- FnKeyCol int32
- FnSkipAhead Tu8
- Fcurrent TStatSample
- FnPSample TtRowcnt
- FmxSample int32
- FiPrn Tu32
- FaBest uintptr
- FiMin int32
- FnSample int32
- FnMaxEqZero int32
- FiGet int32
- Fa uintptr
-}
-
-type StatAccum1 = TStatAccum1
-
// C documentation
//
// /* Reclaim memory used by a StatSample
@@ -100208,13 +94781,6 @@ type TanalysisInfo = struct {
type analysisInfo = TanalysisInfo
-type TanalysisInfo1 = struct {
- Fdb uintptr
- FzDatabase uintptr
-}
-
-type analysisInfo1 = TanalysisInfo1
-
// C documentation
//
// /*
@@ -101413,6 +95979,8 @@ func _sqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) (r int32
return 0
}
+type t__ccgo_fp__Xsqlite3_set_authorizer_1 = func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32
+
/************** End of attach.c **********************************************/
/************** Begin file auth.c ********************************************/
/*
@@ -101485,9 +96053,9 @@ func _sqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) (r int32
// ** Setting the auth function to NULL disables this hook. The default
// ** setting of the auth function is NULL.
// */
-func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uintptr) (r int32) {
+func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, __ccgo_fp_xAuth uintptr, pArg uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = xAuth
+ (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = __ccgo_fp_xAuth
(*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg = pArg
if (*Tsqlite3)(unsafe.Pointer(db)).FxAuth != 0 {
_sqlite3ExpirePreparedStatements(tls, db, int32(1))
@@ -101667,47 +96235,6 @@ func _sqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) {
}
}
-/************** End of auth.c ************************************************/
-/************** Begin file build.c *******************************************/
-/*
-** 2001 September 15
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains C code routines that are called by the SQLite parser
-** when syntax rules are reduced. The routines in this file handle the
-** following kinds of SQL syntax:
-**
-** CREATE TABLE
-** DROP TABLE
-** CREATE INDEX
-** DROP INDEX
-** creating ID lists
-** BEGIN TRANSACTION
-** COMMIT
-** ROLLBACK
- */
-/* #include "sqliteInt.h" */
-
-/*
-** The TableLock structure is only used by the sqlite3TableLock() and
-** codeTableLocks() functions.
- */
-type TTableLock1 = struct {
- FiDb int32
- FiTab TPgno
- FisWriteLock Tu8
- FzLockName uintptr
-}
-
-type TableLock1 = TTableLock1
-
// C documentation
//
// /*
@@ -102335,9 +96862,9 @@ func _sqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) {
break
}
pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32
- if (*TDb1)(unsafe.Pointer(pDb)).FpBt == uintptr(0) {
- _sqlite3DbFree(tls, db, (*TDb1)(unsafe.Pointer(pDb)).FzDbSName)
- (*TDb1)(unsafe.Pointer(pDb)).FzDbSName = uintptr(0)
+ if (*TDb)(unsafe.Pointer(pDb)).FpBt == uintptr(0) {
+ _sqlite3DbFree(tls, db, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)
+ (*TDb)(unsafe.Pointer(pDb)).FzDbSName = uintptr(0)
goto _1
}
if j < i {
@@ -106583,7 +101110,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u
(*TIndex)(unsafe.Pointer(pIndex)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum
if _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 {
_sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15073, 0)
- (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(127355))
+ (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(127382))
goto exit_create_index
}
}
@@ -112022,17 +106549,6 @@ type TSumCtx = struct {
type SumCtx = TSumCtx
-type TSumCtx1 = struct {
- FrSum float64
- FrErr float64
- FiSum Ti64
- Fcnt Ti64
- Fapprox Tu8
- Fovrfl Tu8
-}
-
-type SumCtx1 = TSumCtx1
-
// C documentation
//
// /*
@@ -112246,12 +106762,6 @@ type TCountCtx = struct {
type CountCtx = TCountCtx
-type TCountCtx1 = struct {
- Fn Ti64
-}
-
-type CountCtx1 = TCountCtx1
-
// C documentation
//
// /*
@@ -115533,7 +110043,7 @@ func _exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int3
_ = p1
if libc.Int32FromUint8((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) && int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 {
p1 = pWalker + 36
- *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromUint16((*(*TColumn)(unsafe.Pointer((*TTable1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FaCol + uintptr((*TExpr)(unsafe.Pointer(pExpr)).FiColumn)*16))).FcolFlags))
+ *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromUint16((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FaCol + uintptr((*TExpr)(unsafe.Pointer(pExpr)).FiColumn)*16))).FcolFlags))
}
return WRC_Continue
}
@@ -117027,33 +111537,6 @@ type TIndexIterator = struct {
type IndexIterator = TIndexIterator
-type TIndexIterator1 = struct {
- FeType int32
- Fi int32
- Fu struct {
- Fax [0]struct {
- FnIdx int32
- FaIdx uintptr
- }
- Flx struct {
- FpIdx uintptr
- }
- F__ccgo_pad2 [8]byte
- }
-}
-
-type IndexIterator1 = TIndexIterator1
-
-/* When IndexIterator.eType==1, then each index is an array of instances
-** of the following object
- */
-type TIndexListTerm1 = struct {
- Fp uintptr
- Fix int32
-}
-
-type IndexListTerm1 = TIndexListTerm1
-
// C documentation
//
// /* Return the first index on the list */
@@ -118607,6 +113090,8 @@ func _xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uin
return r
}
+type t__ccgo_fp__Xsqlite3_exec_2 = func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
+
/************** End of insert.c **********************************************/
/************** Begin file legacy.c ******************************************/
/*
@@ -118640,7 +113125,7 @@ func _xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uin
// ** argument to xCallback(). If xCallback=NULL then no callback
// ** is invoked, even for queries.
// */
-func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_callback, pArg uintptr, pzErrMsg uintptr) (r int32) {
+func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, __ccgo_fp_xCallback Tsqlite3_callback, pArg uintptr, pzErrMsg uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var azCols, azVals uintptr
@@ -118652,7 +113137,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_c
*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* The current SQL statement */
azCols = uintptr(0) /* True if callback data is initialized */
if !(_sqlite3SafetyCheckOk(tls, db) != 0) {
- return _sqlite3MisuseError(tls, int32(138224))
+ return _sqlite3MisuseError(tls, int32(138251))
}
if zSql == uintptr(0) {
zSql = __ccgo_ts + 1665
@@ -118676,7 +113161,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_c
for int32(1) != 0 {
rc = Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
/* Invoke the callback function if required */
- if xCallback != 0 && (int32(SQLITE_ROW) == rc || int32(SQLITE_DONE) == rc && !(callbackIsInit != 0) && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NullCallback) != 0) {
+ if __ccgo_fp_xCallback != 0 && (int32(SQLITE_ROW) == rc || int32(SQLITE_DONE) == rc && !(callbackIsInit != 0) && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NullCallback) != 0) {
if !(callbackIsInit != 0) {
nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
azCols = _sqlite3DbMallocRaw(tls, db, uint64(libc.Uint64FromInt32(libc.Int32FromInt32(2)*nCol+libc.Int32FromInt32(1))*uint64(8)))
@@ -118717,7 +113202,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_c
}
*(*uintptr)(unsafe.Pointer(azVals + uintptr(i)*8)) = uintptr(0)
}
- if (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xCallback})))(tls, pArg, nCol, azVals, azCols) != 0 {
+ if (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xCallback})))(tls, pArg, nCol, azVals, azCols) != 0 {
/* EVIDENCE-OF: R-38229-40159 If the callback function to
** sqlite3_exec() returns non-zero, then sqlite3_exec() will
** return SQLITE_ABORT. */
@@ -118764,330 +113249,6 @@ exec_out:
return rc
}
-/************** End of legacy.c **********************************************/
-/************** Begin file loadext.c *****************************************/
-/*
-** 2006 June 7
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains code used to dynamically load extensions into
-** the SQLite library.
- */
-
-/************** Include sqlite3ext.h in the middle of loadext.c **************/
-/************** Begin file sqlite3ext.h **************************************/
-/*
-** 2006 June 7
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This header file defines the SQLite interface for use by
-** shared libraries that want to be imported as extensions into
-** an SQLite instance. Shared libraries that intend to be loaded
-** as extensions by SQLite should #include this file instead of
-** sqlite3.h.
- */
-/* #include "sqlite3.h" */
-
-/*
-** The following structure holds pointers to all of the SQLite API
-** routines.
-**
-** WARNING: In order to maintain backwards compatibility, add new
-** interfaces to the end of this structure only. If you insert new
-** interfaces in the middle of this structure, then older different
-** versions of SQLite will not be able to load each other's shared
-** libraries!
- */
-type Tsqlite3_api_routines1 = struct {
- Faggregate_context uintptr
- Faggregate_count uintptr
- Fbind_blob uintptr
- Fbind_double uintptr
- Fbind_int uintptr
- Fbind_int64 uintptr
- Fbind_null uintptr
- Fbind_parameter_count uintptr
- Fbind_parameter_index uintptr
- Fbind_parameter_name uintptr
- Fbind_text uintptr
- Fbind_text16 uintptr
- Fbind_value uintptr
- Fbusy_handler uintptr
- Fbusy_timeout uintptr
- Fchanges uintptr
- Fclose1 uintptr
- Fcollation_needed uintptr
- Fcollation_needed16 uintptr
- Fcolumn_blob uintptr
- Fcolumn_bytes uintptr
- Fcolumn_bytes16 uintptr
- Fcolumn_count uintptr
- Fcolumn_database_name uintptr
- Fcolumn_database_name16 uintptr
- Fcolumn_decltype uintptr
- Fcolumn_decltype16 uintptr
- Fcolumn_double uintptr
- Fcolumn_int uintptr
- Fcolumn_int64 uintptr
- Fcolumn_name uintptr
- Fcolumn_name16 uintptr
- Fcolumn_origin_name uintptr
- Fcolumn_origin_name16 uintptr
- Fcolumn_table_name uintptr
- Fcolumn_table_name16 uintptr
- Fcolumn_text uintptr
- Fcolumn_text16 uintptr
- Fcolumn_type uintptr
- Fcolumn_value uintptr
- Fcommit_hook uintptr
- Fcomplete uintptr
- Fcomplete16 uintptr
- Fcreate_collation uintptr
- Fcreate_collation16 uintptr
- Fcreate_function uintptr
- Fcreate_function16 uintptr
- Fcreate_module uintptr
- Fdata_count uintptr
- Fdb_handle uintptr
- Fdeclare_vtab uintptr
- Fenable_shared_cache uintptr
- Ferrcode uintptr
- Ferrmsg uintptr
- Ferrmsg16 uintptr
- Fexec uintptr
- Fexpired uintptr
- Ffinalize uintptr
- Ffree uintptr
- Ffree_table uintptr
- Fget_autocommit uintptr
- Fget_auxdata uintptr
- Fget_table uintptr
- Fglobal_recover uintptr
- Finterruptx uintptr
- Flast_insert_rowid uintptr
- Flibversion uintptr
- Flibversion_number uintptr
- Fmalloc uintptr
- Fmprintf uintptr
- Fopen uintptr
- Fopen16 uintptr
- Fprepare uintptr
- Fprepare16 uintptr
- Fprofile uintptr
- Fprogress_handler uintptr
- Frealloc uintptr
- Freset uintptr
- Fresult_blob uintptr
- Fresult_double uintptr
- Fresult_error uintptr
- Fresult_error16 uintptr
- Fresult_int uintptr
- Fresult_int64 uintptr
- Fresult_null uintptr
- Fresult_text uintptr
- Fresult_text16 uintptr
- Fresult_text16be uintptr
- Fresult_text16le uintptr
- Fresult_value uintptr
- Frollback_hook uintptr
- Fset_authorizer uintptr
- Fset_auxdata uintptr
- Fxsnprintf uintptr
- Fstep uintptr
- Ftable_column_metadata uintptr
- Fthread_cleanup uintptr
- Ftotal_changes uintptr
- Ftrace uintptr
- Ftransfer_bindings uintptr
- Fupdate_hook uintptr
- Fuser_data uintptr
- Fvalue_blob uintptr
- Fvalue_bytes uintptr
- Fvalue_bytes16 uintptr
- Fvalue_double uintptr
- Fvalue_int uintptr
- Fvalue_int64 uintptr
- Fvalue_numeric_type uintptr
- Fvalue_text uintptr
- Fvalue_text16 uintptr
- Fvalue_text16be uintptr
- Fvalue_text16le uintptr
- Fvalue_type uintptr
- Fvmprintf uintptr
- Foverload_function uintptr
- Fprepare_v2 uintptr
- Fprepare16_v2 uintptr
- Fclear_bindings uintptr
- Fcreate_module_v2 uintptr
- Fbind_zeroblob uintptr
- Fblob_bytes uintptr
- Fblob_close uintptr
- Fblob_open uintptr
- Fblob_read uintptr
- Fblob_write uintptr
- Fcreate_collation_v2 uintptr
- Ffile_control uintptr
- Fmemory_highwater uintptr
- Fmemory_used uintptr
- Fmutex_alloc uintptr
- Fmutex_enter uintptr
- Fmutex_free uintptr
- Fmutex_leave uintptr
- Fmutex_try uintptr
- Fopen_v2 uintptr
- Frelease_memory uintptr
- Fresult_error_nomem uintptr
- Fresult_error_toobig uintptr
- Fsleep uintptr
- Fsoft_heap_limit uintptr
- Fvfs_find uintptr
- Fvfs_register uintptr
- Fvfs_unregister uintptr
- Fxthreadsafe uintptr
- Fresult_zeroblob uintptr
- Fresult_error_code uintptr
- Ftest_control uintptr
- Frandomness uintptr
- Fcontext_db_handle uintptr
- Fextended_result_codes uintptr
- Flimit uintptr
- Fnext_stmt uintptr
- Fsql uintptr
- Fstatus uintptr
- Fbackup_finish uintptr
- Fbackup_init uintptr
- Fbackup_pagecount uintptr
- Fbackup_remaining uintptr
- Fbackup_step uintptr
- Fcompileoption_get uintptr
- Fcompileoption_used uintptr
- Fcreate_function_v2 uintptr
- Fdb_config uintptr
- Fdb_mutex uintptr
- Fdb_status uintptr
- Fextended_errcode uintptr
- Flog uintptr
- Fsoft_heap_limit64 uintptr
- Fsourceid uintptr
- Fstmt_status uintptr
- Fstrnicmp uintptr
- Funlock_notify uintptr
- Fwal_autocheckpoint uintptr
- Fwal_checkpoint uintptr
- Fwal_hook uintptr
- Fblob_reopen uintptr
- Fvtab_config uintptr
- Fvtab_on_conflict uintptr
- Fclose_v2 uintptr
- Fdb_filename uintptr
- Fdb_readonly uintptr
- Fdb_release_memory uintptr
- Ferrstr uintptr
- Fstmt_busy uintptr
- Fstmt_readonly uintptr
- Fstricmp uintptr
- Furi_boolean uintptr
- Furi_int64 uintptr
- Furi_parameter uintptr
- Fxvsnprintf uintptr
- Fwal_checkpoint_v2 uintptr
- Fauto_extension uintptr
- Fbind_blob64 uintptr
- Fbind_text64 uintptr
- Fcancel_auto_extension uintptr
- Fload_extension uintptr
- Fmalloc64 uintptr
- Fmsize uintptr
- Frealloc64 uintptr
- Freset_auto_extension uintptr
- Fresult_blob64 uintptr
- Fresult_text64 uintptr
- Fstrglob uintptr
- Fvalue_dup uintptr
- Fvalue_free uintptr
- Fresult_zeroblob64 uintptr
- Fbind_zeroblob64 uintptr
- Fvalue_subtype uintptr
- Fresult_subtype uintptr
- Fstatus64 uintptr
- Fstrlike uintptr
- Fdb_cacheflush uintptr
- Fsystem_errno uintptr
- Ftrace_v2 uintptr
- Fexpanded_sql uintptr
- Fset_last_insert_rowid uintptr
- Fprepare_v3 uintptr
- Fprepare16_v3 uintptr
- Fbind_pointer uintptr
- Fresult_pointer uintptr
- Fvalue_pointer uintptr
- Fvtab_nochange uintptr
- Fvalue_nochange uintptr
- Fvtab_collation uintptr
- Fkeyword_count uintptr
- Fkeyword_name uintptr
- Fkeyword_check uintptr
- Fstr_new uintptr
- Fstr_finish uintptr
- Fstr_appendf uintptr
- Fstr_vappendf uintptr
- Fstr_append uintptr
- Fstr_appendall uintptr
- Fstr_appendchar uintptr
- Fstr_reset uintptr
- Fstr_errcode uintptr
- Fstr_length uintptr
- Fstr_value uintptr
- Fcreate_window_function uintptr
- Fnormalized_sql uintptr
- Fstmt_isexplain uintptr
- Fvalue_frombind uintptr
- Fdrop_modules uintptr
- Fhard_heap_limit64 uintptr
- Furi_key uintptr
- Ffilename_database uintptr
- Ffilename_journal uintptr
- Ffilename_wal uintptr
- Fcreate_filename uintptr
- Ffree_filename uintptr
- Fdatabase_file_object uintptr
- Ftxn_state uintptr
- Fchanges64 uintptr
- Ftotal_changes64 uintptr
- Fautovacuum_pages uintptr
- Ferror_offset uintptr
- Fvtab_rhs_value uintptr
- Fvtab_distinct uintptr
- Fvtab_in uintptr
- Fvtab_in_first uintptr
- Fvtab_in_next uintptr
- Fdeserialize uintptr
- Fserialize uintptr
- Fdb_name uintptr
- Fvalue_encoding uintptr
- Fis_interrupted uintptr
- Fstmt_explain uintptr
- Fget_clientdata uintptr
- Fset_clientdata uintptr
- Fsetlk_timeout uintptr
-}
-
-type sqlite3_api_routines1 = Tsqlite3_api_routines1
-
// C documentation
//
// /*
@@ -119692,14 +113853,9 @@ type Tsqlite3AutoExtList = struct {
type sqlite3AutoExtList = Tsqlite3AutoExtList
-type Tsqlite3AutoExtList1 = struct {
- FnExt Tu32
- FaExt uintptr
-}
-
-type sqlite3AutoExtList1 = Tsqlite3AutoExtList1
+var _sqlite3Autoext = Tsqlite3AutoExtList{}
-var _sqlite3Autoext = Tsqlite3AutoExtList1{}
+type t__ccgo_fp__Xsqlite3_auto_extension_0 = func(*libc.TLS)
/* The "wsdAutoext" macro will resolve to the autoextension
** state vector. If writable static data is unsupported on the target,
@@ -119714,7 +113870,7 @@ var _sqlite3Autoext = Tsqlite3AutoExtList1{}
// ** Register a statically linked extension that is automatically
// ** loaded by every new database connection.
// */
-func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
+func Xsqlite3_auto_extension(tls *libc.TLS, __ccgo_fp_xInit uintptr) (r int32) {
var aNew, mutex uintptr
var i Tu32
var nByte Tu64
@@ -119732,7 +113888,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
if !(i < _sqlite3Autoext.FnExt) {
break
}
- if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) == xInit {
+ if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) == __ccgo_fp_xInit {
break
}
goto _1
@@ -119747,7 +113903,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
rc = int32(SQLITE_NOMEM)
} else {
_sqlite3Autoext.FaExt = aNew
- *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(_sqlite3Autoext.FnExt)*8)) = xInit
+ *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(_sqlite3Autoext.FnExt)*8)) = __ccgo_fp_xInit
_sqlite3Autoext.FnExt++
}
}
@@ -119757,6 +113913,8 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
return r
}
+type t__ccgo_fp__Xsqlite3_cancel_auto_extension_0 = func(*libc.TLS)
+
// C documentation
//
// /*
@@ -119768,7 +113926,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
// ** Return 1 if xInit was found on the list and removed. Return 0 if xInit
// ** was not on the list.
// */
-func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
+func Xsqlite3_cancel_auto_extension(tls *libc.TLS, __ccgo_fp_xInit uintptr) (r int32) {
var i, n int32
var mutex uintptr
_, _, _ = i, mutex, n
@@ -119780,7 +113938,7 @@ func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
if !(i >= 0) {
break
}
- if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) == xInit {
+ if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) == __ccgo_fp_xInit {
_sqlite3Autoext.FnExt--
*(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(_sqlite3Autoext.FnExt)*8))
n++
@@ -123543,25 +117701,6 @@ type TPragmaVtabCursor = struct {
type PragmaVtabCursor = TPragmaVtabCursor
-type TPragmaVtab1 = struct {
- Fbase Tsqlite3_vtab
- Fdb uintptr
- FpName uintptr
- FnHidden Tu8
- FiHidden Tu8
-}
-
-type PragmaVtab1 = TPragmaVtab1
-
-type TPragmaVtabCursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FpPragma uintptr
- FiRowid Tsqlite_int64
- FazArg [2]uintptr
-}
-
-type PragmaVtabCursor1 = TPragmaVtabCursor1
-
// C documentation
//
// /*
@@ -123963,7 +118102,7 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
(*TInitData)(unsafe.Pointer(pData)).Frc = int32(SQLITE_ERROR)
} else {
if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
- (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143765))
+ (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143792))
} else {
if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 {
v1 = *(*uintptr)(unsafe.Pointer(azObj + 1*8))
@@ -123976,7 +118115,7 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
z = _sqlite3MPrintf(tls, db, __ccgo_ts+19383, libc.VaList(bp+8, z, zExtra))
}
*(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
- (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143772))
+ (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143799))
}
}
}
@@ -124570,7 +118709,7 @@ func _sqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) {
// **
// ** pObj = sqlite3ParserAddCleanup(pParse, destructor, pObj);
// */
-func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) (r uintptr) {
+func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, __ccgo_fp_xCleanup uintptr, pPtr uintptr) (r uintptr) {
var pCleanup uintptr
_ = pCleanup
if _sqlite3FaultSim(tls, int32(300)) != 0 {
@@ -124583,9 +118722,9 @@ func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p
(*TParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*TParse)(unsafe.Pointer(pParse)).FpCleanup
(*TParse)(unsafe.Pointer(pParse)).FpCleanup = pCleanup
(*TParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr = pPtr
- (*TParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup = xCleanup
+ (*TParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup = __ccgo_fp_xCleanup
} else {
- (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{xCleanup})))(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pPtr)
+ (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xCleanup})))(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pPtr)
pPtr = uintptr(0)
}
return pPtr
@@ -124772,7 +118911,7 @@ func _sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int3
cnt = 0
*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
- return _sqlite3MisuseError(tls, int32(144572))
+ return _sqlite3MisuseError(tls, int32(144599))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
_sqlite3BtreeEnterAll(tls, db)
@@ -124906,7 +119045,7 @@ func _sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pr
rc = SQLITE_OK
*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
- return _sqlite3MisuseError(tls, int32(144721))
+ return _sqlite3MisuseError(tls, int32(144748))
}
/* Make sure nBytes is non-negative and correct. It should be the
** number of bytes until the end of the input buffer or until the first
@@ -125028,15 +119167,6 @@ type TDistinctCtx = struct {
type DistinctCtx = TDistinctCtx
-type TDistinctCtx1 = struct {
- FisTnct Tu8
- FeTnctType Tu8
- FtabTnct int32
- FaddrTnct int32
-}
-
-type DistinctCtx1 = TDistinctCtx1
-
// C documentation
//
// /*
@@ -125072,21 +119202,6 @@ type TSortCtx = struct {
type SortCtx = TSortCtx
-type TSortCtx1 = struct {
- FpOrderBy uintptr
- FnOBSat int32
- FiECursor int32
- FregReturn int32
- FlabelBkOut int32
- FaddrSortIndex int32
- FlabelDone int32
- FlabelOBLopt int32
- FsortFlags Tu8
- FpDeferredRowLoad uintptr
-}
-
-type SortCtx1 = TSortCtx1
-
// C documentation
//
// /*
@@ -125773,13 +119888,6 @@ type TRowLoadInfo = struct {
type RowLoadInfo = TRowLoadInfo
-type TRowLoadInfo1 = struct {
- FregResult int32
- FecelFlags Tu8
-}
-
-type RowLoadInfo1 = TRowLoadInfo1
-
// C documentation
//
// /*
@@ -129754,18 +123862,6 @@ type TWhereConst = struct {
type WhereConst = TWhereConst
-type TWhereConst1 = struct {
- FpParse uintptr
- FpOomFault uintptr
- FnConst int32
- FnChng int32
- FbHasAffBlob int32
- FmExcludeOn Tu32
- FapExpr uintptr
-}
-
-type WhereConst1 = TWhereConst1
-
// C documentation
//
// /*
@@ -133358,6 +127454,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r
*(*int32)(unsafe.Pointer(pParse + 64)) += (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr
_sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, iAbortFlag)
_sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, iAMem, iAMem+(*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr-int32(1))
+ _sqlite3ExprNullRegisterRange(tls, pParse, iAMem, (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr)
/* Begin a loop that will extract all source rows in GROUP BY order.
** This might involve two separate loops with an OP_Sort in between, or
** it might be a single loop that uses an index to extract information
@@ -137662,39 +131759,6 @@ var _aCopy = [10]uint8{
8: uint8(BTREE_APPLICATION_ID),
}
-/************** End of vacuum.c **********************************************/
-/************** Begin file vtab.c ********************************************/
-/*
-** 2006 June 10
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains code used to help implement virtual tables.
- */
-/* #include "sqliteInt.h" */
-
-/*
-** Before a virtual table xCreate() or xConnect() method is invoked, the
-** sqlite3.pVtabCtx member variable is set to point to an instance of
-** this struct allocated on the stack. It is used by the implementation of
-** the sqlite3_declare_vtab() and sqlite3_vtab_config() APIs, both of which
-** are invoked only from within xCreate and xConnect methods.
- */
-type TVtabCtx1 = struct {
- FpVTable uintptr
- FpTab uintptr
- FpPrior uintptr
- FbDeclared int32
-}
-
-type VtabCtx1 = TVtabCtx1
-
// C documentation
//
// /*
@@ -137705,7 +131769,7 @@ type VtabCtx1 = TVtabCtx1
// ** If there already exists a module with zName, replace it with the new one.
// ** If pModule==0, then delete the module zName if it exists.
// */
-func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) (r uintptr) {
+func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, __ccgo_fp_xDestroy uintptr) (r uintptr) {
var nName int32
var pDel, pMod, zCopy uintptr
_, _, _, _ = nName, pDel, pMod, zCopy
@@ -137724,7 +131788,7 @@ func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule
(*TModule)(unsafe.Pointer(pMod)).FzName = zCopy
(*TModule)(unsafe.Pointer(pMod)).FpModule = pModule
(*TModule)(unsafe.Pointer(pMod)).FpAux = pAux
- (*TModule)(unsafe.Pointer(pMod)).FxDestroy = xDestroy
+ (*TModule)(unsafe.Pointer(pMod)).FxDestroy = __ccgo_fp_xDestroy
(*TModule)(unsafe.Pointer(pMod)).FpEpoTab = uintptr(0)
(*TModule)(unsafe.Pointer(pMod)).FnRefModule = int32(1)
}
@@ -137749,15 +131813,15 @@ func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule
// ** This function implements the sqlite3_create_module() and
// ** sqlite3_create_module_v2() interfaces.
// */
-func _createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) (r int32) {
+func _createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
var rc int32
_ = rc
rc = SQLITE_OK
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- _sqlite3VtabCreateModule(tls, db, zName, pModule, pAux, xDestroy)
+ _sqlite3VtabCreateModule(tls, db, zName, pModule, pAux, __ccgo_fp_xDestroy)
rc = _sqlite3ApiExit(tls, db, rc)
- if rc != SQLITE_OK && xDestroy != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestroy})))(tls, pAux)
+ if rc != SQLITE_OK && __ccgo_fp_xDestroy != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestroy})))(tls, pAux)
}
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return rc
@@ -137772,13 +131836,15 @@ func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule ui
return _createModule(tls, db, zName, pModule, pAux, uintptr(0))
}
+type t__ccgo_fp__Xsqlite3_create_module_v2_4 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** External API function used to create a new virtual-table module.
// */
-func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) (r int32) {
- return _createModule(tls, db, zName, pModule, pAux, xDestroy)
+func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
+ return _createModule(tls, db, zName, pModule, pAux, __ccgo_fp_xDestroy)
}
// C documentation
@@ -138300,7 +132366,7 @@ func _sqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) {
// ** pointer to the function to invoke is passed as the fourth parameter
// ** to this procedure.
// */
-func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, xConstruct uintptr, pzErr uintptr) (r int32) {
+func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, __ccgo_fp_xConstruct uintptr, pzErr uintptr) (r int32) {
bp := tls.Alloc(64)
defer tls.Free(64)
var azArg, pCtx, pVTable, zFormat, zModuleName, zType, p6 uintptr
@@ -138361,7 +132427,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
(*(*TVtabCtx)(unsafe.Pointer(bp))).FbDeclared = 0
(*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp
(*TTable)(unsafe.Pointer(pTab)).FnTabRef++
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConstruct})))(tls, db, (*TModule)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+32)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConstruct})))(tls, db, (*TModule)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+32)
_sqlite3DeleteTable(tls, db, pTab)
(*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*(*TVtabCtx)(unsafe.Pointer(bp))).FpPrior
if rc == int32(SQLITE_NOMEM) {
@@ -138645,9 +132711,9 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pCtx = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx
if !(pCtx != 0) || (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
- _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(158372)))
+ _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(158400)))
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- return _sqlite3MisuseError(tls, int32(158374))
+ return _sqlite3MisuseError(tls, int32(158402))
}
pTab = (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab
_sqlite3ParseObjectInit(tls, bp, db)
@@ -139229,7 +133295,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
p = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx
if !(p != 0) {
- rc = _sqlite3MisuseError(tls, int32(158869))
+ rc = _sqlite3MisuseError(tls, int32(158897))
} else {
ap = va
switch op {
@@ -139242,7 +133308,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in
case int32(SQLITE_VTAB_USES_ALL_SCHEMAS):
(*TVTable)(unsafe.Pointer((*TVtabCtx)(unsafe.Pointer(p)).FpVTable)).FbAllSchemas = uint8(1)
default:
- rc = _sqlite3MisuseError(tls, int32(158891))
+ rc = _sqlite3MisuseError(tls, int32(158919))
break
}
_ = ap
@@ -139502,435 +133568,6 @@ type TWhereRightJoin = struct {
type WhereRightJoin = TWhereRightJoin
-/*
-** This object is a header on a block of allocated memory that will be
-** automatically freed when its WInfo object is destructed.
- */
-type TWhereMemBlock1 = struct {
- FpNext uintptr
- Fsz Tu64
-}
-
-type WhereMemBlock1 = TWhereMemBlock1
-
-/*
-** Extra information attached to a WhereLevel that is a RIGHT JOIN.
- */
-type TWhereRightJoin1 = struct {
- FiMatch int32
- FregBloom int32
- FregReturn int32
- FaddrSubrtn int32
- FendSubrtn int32
-}
-
-type WhereRightJoin1 = TWhereRightJoin1
-
-/*
-** This object contains information needed to implement a single nested
-** loop in WHERE clause.
-**
-** Contrast this object with WhereLoop. This object describes the
-** implementation of the loop. WhereLoop describes the algorithm.
-** This object contains a pointer to the WhereLoop algorithm as one of
-** its elements.
-**
-** The WhereInfo object contains a single instance of this object for
-** each term in the FROM clause (which is to say, for each of the
-** nested loops as implemented). The order of WhereLevel objects determines
-** the loop nested order, with WhereInfo.a[0] being the outer loop and
-** WhereInfo.a[WhereInfo.nLevel-1] being the inner loop.
- */
-type TWhereLevel1 = struct {
- FiLeftJoin int32
- FiTabCur int32
- FiIdxCur int32
- FaddrBrk int32
- FaddrNxt int32
- FaddrSkip int32
- FaddrCont int32
- FaddrFirst int32
- FaddrBody int32
- FregBignull int32
- FaddrBignull int32
- FregFilter int32
- FpRJ uintptr
- FiFrom Tu8
- Fop Tu8
- Fp3 Tu8
- Fp5 Tu8
- Fp1 int32
- Fp2 int32
- Fu struct {
- FpCoveringIdx [0]uintptr
- Fin struct {
- FnIn int32
- FaInLoop uintptr
- }
- }
- FpWLoop uintptr
- FnotReady TBitmask
-}
-
-type WhereLevel1 = TWhereLevel1
-
-/*
-** Each instance of this object represents an algorithm for evaluating one
-** term of a join. Every term of the FROM clause will have at least
-** one corresponding WhereLoop object (unless INDEXED BY constraints
-** prevent a query solution - which is an error) and many terms of the
-** FROM clause will have multiple WhereLoop objects, each describing a
-** potential way of implementing that FROM-clause term, together with
-** dependencies and cost estimates for using the chosen algorithm.
-**
-** Query planning consists of building up a collection of these WhereLoop
-** objects, then computing a particular sequence of WhereLoop objects, with
-** one WhereLoop object per FROM clause term, that satisfy all dependencies
-** and that minimize the overall cost.
- */
-type TWhereLoop1 = struct {
- Fprereq TBitmask
- FmaskSelf TBitmask
- FiTab Tu8
- FiSortIdx Tu8
- FrSetup TLogEst
- FrRun TLogEst
- FnOut TLogEst
- Fu struct {
- Fvtab [0]struct {
- FidxNum int32
- F__ccgo4 uint8
- FisOrdered Ti8
- FomitMask Tu16
- FidxStr uintptr
- FmHandleIn Tu32
- }
- Fbtree struct {
- FnEq Tu16
- FnBtm Tu16
- FnTop Tu16
- FnDistinctCol Tu16
- FpIndex uintptr
- FpOrderBy uintptr
- }
- }
- FwsFlags Tu32
- FnLTerm Tu16
- FnSkip Tu16
- FnLSlot Tu16
- FaLTerm uintptr
- FpNextLoop uintptr
- FaLTermSpace [3]uintptr
-}
-
-type WhereLoop1 = TWhereLoop1
-
-/* This object holds the prerequisites and the cost of running a
-** subquery on one operand of an OR operator in the WHERE clause.
-** See WhereOrSet for additional information
- */
-type TWhereOrCost1 = struct {
- Fprereq TBitmask
- FrRun TLogEst
- FnOut TLogEst
-}
-
-type WhereOrCost1 = TWhereOrCost1
-
-/* The WhereOrSet object holds a set of possible WhereOrCosts that
-** correspond to the subquery(s) of OR-clause processing. Only the
-** best N_OR_COST elements are retained.
- */
-type TWhereOrSet1 = struct {
- Fn Tu16
- Fa [3]TWhereOrCost
-}
-
-type WhereOrSet1 = TWhereOrSet1
-
-/*
-** Each instance of this object holds a sequence of WhereLoop objects
-** that implement some or all of a query plan.
-**
-** Think of each WhereLoop object as a node in a graph with arcs
-** showing dependencies and costs for travelling between nodes. (That is
-** not a completely accurate description because WhereLoop costs are a
-** vector, not a scalar, and because dependencies are many-to-one, not
-** one-to-one as are graph nodes. But it is a useful visualization aid.)
-** Then a WherePath object is a path through the graph that visits some
-** or all of the WhereLoop objects once.
-**
-** The "solver" works by creating the N best WherePath objects of length
-** 1. Then using those as a basis to compute the N best WherePath objects
-** of length 2. And so forth until the length of WherePaths equals the
-** number of nodes in the FROM clause. The best (lowest cost) WherePath
-** at the end is the chosen query plan.
- */
-type TWherePath1 = struct {
- FmaskLoop TBitmask
- FrevLoop TBitmask
- FnRow TLogEst
- FrCost TLogEst
- FrUnsort TLogEst
- FisOrdered Ti8
- FaLoop uintptr
-}
-
-type WherePath1 = TWherePath1
-
-/*
-** The query generator uses an array of instances of this structure to
-** help it analyze the subexpressions of the WHERE clause. Each WHERE
-** clause subexpression is separated from the others by AND operators,
-** usually, or sometimes subexpressions separated by OR.
-**
-** All WhereTerms are collected into a single WhereClause structure.
-** The following identity holds:
-**
-** WhereTerm.pWC->a[WhereTerm.idx] == WhereTerm
-**
-** When a term is of the form:
-**
-** X
-**
-** where X is a column name and is one of certain operators,
-** then WhereTerm.leftCursor and WhereTerm.u.leftColumn record the
-** cursor number and column number for X. WhereTerm.eOperator records
-** the using a bitmask encoding defined by WO_xxx below. The
-** use of a bitmask encoding for the operator allows us to search
-** quickly for terms that match any of several different operators.
-**
-** A WhereTerm might also be two or more subterms connected by OR:
-**
-** (t1.X ) OR (t1.Y ) OR ....
-**
-** In this second case, wtFlag has the TERM_ORINFO bit set and eOperator==WO_OR
-** and the WhereTerm.u.pOrInfo field points to auxiliary information that
-** is collected about the OR clause.
-**
-** If a term in the WHERE clause does not match either of the two previous
-** categories, then eOperator==0. The WhereTerm.pExpr field is still set
-** to the original subexpression content and wtFlags is set up appropriately
-** but no other fields in the WhereTerm object are meaningful.
-**
-** When eOperator!=0, prereqRight and prereqAll record sets of cursor numbers,
-** but they do so indirectly. A single WhereMaskSet structure translates
-** cursor number into bits and the translated bit is stored in the prereq
-** fields. The translation is used in order to maximize the number of
-** bits that will fit in a Bitmask. The VDBE cursor numbers might be
-** spread out over the non-negative integers. For example, the cursor
-** numbers might be 3, 8, 9, 10, 20, 23, 41, and 45. The WhereMaskSet
-** translates these sparse cursor numbers into consecutive integers
-** beginning with 0 in order to make the best possible use of the available
-** bits in the Bitmask. So, in the example above, the cursor numbers
-** would be mapped into integers 0 through 7.
-**
-** The number of terms in a join is limited by the number of bits
-** in prereqRight and prereqAll. The default is 64 bits, hence SQLite
-** is only able to process joins with 64 or fewer tables.
- */
-type TWhereTerm1 = struct {
- FpExpr uintptr
- FpWC uintptr
- FtruthProb TLogEst
- FwtFlags Tu16
- FeOperator Tu16
- FnChild Tu8
- FeMatchOp Tu8
- FiParent int32
- FleftCursor int32
- Fu struct {
- FpOrInfo [0]uintptr
- FpAndInfo [0]uintptr
- Fx struct {
- FleftColumn int32
- FiField int32
- }
- }
- FprereqRight TBitmask
- FprereqAll TBitmask
-}
-
-type WhereTerm1 = TWhereTerm1
-
-/*
-** Allowed values of WhereTerm.wtFlags
- */
-
-/*
-** An instance of the WhereScan object is used as an iterator for locating
-** terms in the WHERE clause that are useful to the query planner.
- */
-type TWhereScan1 = struct {
- FpOrigWC uintptr
- FpWC uintptr
- FzCollName uintptr
- FpIdxExpr uintptr
- Fk int32
- FopMask Tu32
- Fidxaff int8
- FiEquiv uint8
- FnEquiv uint8
- FaiCur [11]int32
- FaiColumn [11]Ti16
-}
-
-type WhereScan1 = TWhereScan1
-
-/*
-** An instance of the following structure holds all information about a
-** WHERE clause. Mostly this is a container for one or more WhereTerms.
-**
-** Explanation of pOuter: For a WHERE clause of the form
-**
-** a AND ((b AND c) OR (d AND e)) AND f
-**
-** There are separate WhereClause objects for the whole clause and for
-** the subclauses "(b AND c)" and "(d AND e)". The pOuter field of the
-** subclauses points to the WhereClause object for the whole clause.
- */
-type TWhereClause1 = struct {
- FpWInfo uintptr
- FpOuter uintptr
- Fop Tu8
- FhasOr Tu8
- FnTerm int32
- FnSlot int32
- FnBase int32
- Fa uintptr
- FaStatic [8]TWhereTerm
-}
-
-type WhereClause1 = TWhereClause1
-
-/*
-** A WhereTerm with eOperator==WO_OR has its u.pOrInfo pointer set to
-** a dynamically allocated instance of the following structure.
- */
-type TWhereOrInfo1 = struct {
- Fwc TWhereClause
- Findexable TBitmask
-}
-
-type WhereOrInfo1 = TWhereOrInfo1
-
-/*
-** A WhereTerm with eOperator==WO_AND has its u.pAndInfo pointer set to
-** a dynamically allocated instance of the following structure.
- */
-type TWhereAndInfo1 = struct {
- Fwc TWhereClause
-}
-
-type WhereAndInfo1 = TWhereAndInfo1
-
-/*
-** An instance of the following structure keeps track of a mapping
-** between VDBE cursor numbers and bits of the bitmasks in WhereTerm.
-**
-** The VDBE cursor numbers are small integers contained in
-** SrcItem.iCursor and Expr.iTable fields. For any given WHERE
-** clause, the cursor numbers might not begin with 0 and they might
-** contain gaps in the numbering sequence. But we want to make maximum
-** use of the bits in our bitmasks. This structure provides a mapping
-** from the sparse cursor numbers into consecutive integers beginning
-** with 0.
-**
-** If WhereMaskSet.ix[A]==B it means that The A-th bit of a Bitmask
-** corresponds VDBE cursor number B. The A-th bit of a bitmask is 1<3, 5->1, 8->2, 29->0,
-** 57->5, 73->4. Or one of 719 other combinations might be used. It
-** does not really matter. What is important is that sparse cursor
-** numbers all get mapped into bit numbers that begin with 0 and contain
-** no gaps.
- */
-type TWhereMaskSet1 = struct {
- FbVarSelect int32
- Fn int32
- Fix [64]int32
-}
-
-type WhereMaskSet1 = TWhereMaskSet1
-
-/*
-** This object is a convenience wrapper holding all information needed
-** to construct WhereLoop objects for a particular query.
- */
-type TWhereLoopBuilder1 = struct {
- FpWInfo uintptr
- FpWC uintptr
- FpNew uintptr
- FpOrSet uintptr
- FpRec uintptr
- FnRecValid int32
- FbldFlags1 uint8
- FbldFlags2 uint8
- FiPlanLimit uint32
-}
-
-type WhereLoopBuilder1 = TWhereLoopBuilder1
-
-/* Allowed values for WhereLoopBuider.bldFlags */
-
-/* The WhereLoopBuilder.iPlanLimit is used to limit the number of
-** index+constraint combinations the query planner will consider for a
-** particular query. If this parameter is unlimited, then certain
-** pathological queries can spend excess time in the sqlite3WhereBegin()
-** routine. The limit is high enough that is should not impact real-world
-** queries.
-**
-** SQLITE_QUERY_PLANNER_LIMIT is the baseline limit. The limit is
-** increased by SQLITE_QUERY_PLANNER_LIMIT_INCR before each term of the FROM
-** clause is processed, so that every table in a join is guaranteed to be
-** able to propose a some index+constraint combinations even if the initial
-** baseline limit was exhausted by prior tables of the join.
- */
-
-/*
-** The WHERE clause processing routine has two halves. The
-** first part does the start of the WHERE loop and the second
-** half does the tail of the WHERE loop. An instance of
-** this structure is returned by the first half and passed
-** into the second half to give some continuity.
-**
-** An instance of this object holds the complete state of the query
-** planner.
- */
-type TWhereInfo1 = struct {
- FpParse uintptr
- FpTabList uintptr
- FpOrderBy uintptr
- FpResultSet uintptr
- FpSelect uintptr
- FaiCurOnePass [2]int32
- FiContinue int32
- FiBreak int32
- FsavedNQueryLoop int32
- FwctrlFlags Tu16
- FiLimit TLogEst
- FnLevel Tu8
- FnOBSat Ti8
- FeOnePass Tu8
- FeDistinct Tu8
- F__ccgo68 uint8
- FnRowOut TLogEst
- FiTop int32
- FiEndWhere int32
- FpLoops uintptr
- FpMemToFree uintptr
- FrevMask TBitmask
- FsWC TWhereClause
- FsMaskSet TWhereMaskSet
-}
-
-type WhereInfo1 = TWhereInfo1
-
/*
** Bitmasks for the operators on WhereTerm objects. These are all
** operators that are of interest to the query planner. An
@@ -140275,10 +133912,10 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
v1 = pParse
}
if libc.Int32FromUint8((*TParse)(unsafe.Pointer(v1)).Fexplain) == int32(2) || libc.Bool(0 != 0) {
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_MULTI_OR) == uint32(0) && libc.Int32FromUint16(wctrlFlags)&int32(WHERE_OR_SUBCLAUSE) == 0 {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_MULTI_OR) == uint32(0) && libc.Int32FromUint16(wctrlFlags)&int32(WHERE_OR_SUBCLAUSE) == 0 {
v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe
addr = _sqlite3VdbeCurrentAddr(tls, v)
- ret = _sqlite3VdbeAddOp3(tls, v, int32(OP_Explain), addr, (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, int32((*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FrRun))
+ ret = _sqlite3VdbeAddOp3(tls, v, int32(OP_Explain), addr, (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, int32((*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FrRun))
_sqlite3WhereAddExplainText(tls, pParse, addr, pTabList, pLevel, wctrlFlags)
}
}
@@ -140901,7 +134538,7 @@ func _codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uint
** not a transitive constraint. For an example of where that does not
** work, see https://sqlite.org/forum/forumpost/eb8613976a (2021-05-04)
*/
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_TRANSCONS) == uint32(0) || libc.Int32FromUint16((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_EQUIV) == 0 {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_TRANSCONS) == uint32(0) || libc.Int32FromUint16((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_EQUIV) == 0 {
_disableTerm(tls, pLevel, pTerm)
}
return iReg
@@ -141251,7 +134888,7 @@ func _filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32
if (*TWhereLevel)(unsafe.Pointer(pLevel)).FregFilter == 0 {
continue
}
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FnSkip != 0 {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FnSkip != 0 {
continue
}
/* ,--- Because sqlite3ConstructBloomFilter() has will not have set
@@ -142797,7 +136434,7 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
break
}
pRight = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiFrom)*80
- mAll |= (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FpWLoop)).FmaskSelf
+ mAll |= (*TWhereLoop)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FpWLoop)).FmaskSelf
if int32(*(*uint32)(unsafe.Pointer(pRight + 24 + 4))&0x40>>6) != 0 {
pSubq = *(*uintptr)(unsafe.Pointer(pRight + 72))
_sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, (*TSubquery)(unsafe.Pointer(pSubq)).FregResult, (*TSubquery)(unsafe.Pointer(pSubq)).FregResult+(*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSubquery)(unsafe.Pointer(pSubq)).FpSelect)).FpEList)).FnExpr-int32(1))
@@ -144936,16 +138573,6 @@ type THiddenIndexInfo = struct {
type HiddenIndexInfo = THiddenIndexInfo
-type THiddenIndexInfo1 = struct {
- FpWC uintptr
- FpParse uintptr
- FeDistinct int32
- FmIn Tu32
- FmHandleIn Tu32
-}
-
-type HiddenIndexInfo1 = THiddenIndexInfo1
-
// C documentation
//
// /*
@@ -145058,7 +138685,7 @@ func _sqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) {
break
}
pInner = pWInfo + 856 + uintptr(i)*104
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pInner)).FpWLoop)).FwsFlags&uint32(WHERE_COLUMN_IN) != uint32(0) {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pInner)).FpWLoop)).FwsFlags&uint32(WHERE_COLUMN_IN) != uint32(0) {
_sqlite3VdbeGoto(tls, v, (*TWhereLevel)(unsafe.Pointer(pInner)).FaddrNxt)
return
}
@@ -146576,10 +140203,10 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB
i++
}
}
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FpWC = pWC
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FpParse = pParse
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FeDistinct = eDistinct
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FmIn = uint32(0)
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FpWC = pWC
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FpParse = pParse
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FeDistinct = eDistinct
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FmIn = uint32(0)
p = pWC
v10 = libc.Int32FromInt32(0)
j = v10
@@ -148860,15 +142487,6 @@ type TCoveringIndexCheck = struct {
type CoveringIndexCheck = TCoveringIndexCheck
-type TCoveringIndexCheck1 = struct {
- FpIdx uintptr
- FiTabCur int32
- FbExpr Tu8
- FbUnidx Tu8
-}
-
-type CoveringIndexCheck1 = TCoveringIndexCheck1
-
// C documentation
//
// /*
@@ -148900,7 +142518,7 @@ func _whereIsCoveringIndexWalkCallback(tls *libc.TLS, pWalk uintptr, pExpr uintp
if (*TExpr)(unsafe.Pointer(pExpr)).FiTable != (*TCoveringIndexCheck)(unsafe.Pointer(pCk)).FiTabCur {
return WRC_Continue
}
- pIdx = (*TCoveringIndexCheck1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 40)))).FpIdx
+ pIdx = (*TCoveringIndexCheck)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 40)))).FpIdx
aiColumn = (*TIndex)(unsafe.Pointer(pIdx)).FaiColumn
nColumn = (*TIndex)(unsafe.Pointer(pIdx)).FnColumn
i = 0
@@ -148919,7 +142537,7 @@ func _whereIsCoveringIndexWalkCallback(tls *libc.TLS, pWalk uintptr, pExpr uintp
(*TCoveringIndexCheck)(unsafe.Pointer(pCk)).FbUnidx = uint8(1)
return int32(WRC_Abort)
} else {
- if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x800>>11)) != 0 && _exprIsCoveredByIndex(tls, pExpr, pIdx, (*TCoveringIndexCheck1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 40)))).FiTabCur) != 0 {
+ if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x800>>11)) != 0 && _exprIsCoveredByIndex(tls, pExpr, pIdx, (*TCoveringIndexCheck)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 40)))).FiTabCur) != 0 {
(*TCoveringIndexCheck)(unsafe.Pointer(pCk)).FbExpr = uint8(1)
return int32(WRC_Prune)
}
@@ -148956,7 +142574,7 @@ func _whereIsCoveringIndex(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iTabCur
bp := tls.Alloc(64)
defer tls.Free(64)
var i, rc int32
- var _ /* ck at bp+0 */ TCoveringIndexCheck1
+ var _ /* ck at bp+0 */ TCoveringIndexCheck
var _ /* w at bp+16 */ TWalker
_, _ = i, rc
if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect == uintptr(0) {
@@ -148985,19 +142603,19 @@ func _whereIsCoveringIndex(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iTabCur
return uint32(0)
}
}
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FpIdx = pIdx
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FiTabCur = iTabCur
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbExpr = uint8(0)
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbUnidx = uint8(0)
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FpIdx = pIdx
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FiTabCur = iTabCur
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbExpr = uint8(0)
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbUnidx = uint8(0)
libc.X__builtin___memset_chk(tls, bp+16, 0, uint64(48), ^t__predefined_size_t(0))
(*(*TWalker)(unsafe.Pointer(bp + 16))).FxExprCallback = __ccgo_fp(_whereIsCoveringIndexWalkCallback)
(*(*TWalker)(unsafe.Pointer(bp + 16))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkNoop)
*(*uintptr)(unsafe.Pointer(bp + 16 + 40)) = bp
_sqlite3WalkSelect(tls, bp+16, (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)
- if (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbUnidx != 0 {
+ if (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbUnidx != 0 {
rc = 0
} else {
- if (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbExpr != 0 {
+ if (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbExpr != 0 {
rc = int32(WHERE_EXPRIDX)
} else {
rc = int32(WHERE_IDX_ONLY)
@@ -149299,6 +142917,14 @@ func _whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask) (r in
FpIndex uintptr
FpOrderBy uintptr
})(unsafe.Pointer(pNew + 24))).FnTop = uint16(0)
+ (*(*struct {
+ FnEq Tu16
+ FnBtm Tu16
+ FnTop Tu16
+ FnDistinctCol Tu16
+ FpIndex uintptr
+ FpOrderBy uintptr
+ })(unsafe.Pointer(pNew + 24))).FnDistinctCol = uint16(0)
(*TWhereLoop)(unsafe.Pointer(pNew)).FnSkip = uint16(0)
(*TWhereLoop)(unsafe.Pointer(pNew)).FnLTerm = uint16(0)
(*TWhereLoop)(unsafe.Pointer(pNew)).FiSortIdx = uint8(0)
@@ -149841,7 +143467,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal
pVal = uintptr(0)
rc = SQLITE_OK
if iCons < 0 || iCons >= (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint {
- rc = _sqlite3MisuseError(tls, int32(168932)) /* EV: R-30545-25046 */
+ rc = _sqlite3MisuseError(tls, int32(168961)) /* EV: R-30545-25046 */
} else {
if *(*uintptr)(unsafe.Pointer(pH + 32 + uintptr(iCons)*8)) == uintptr(0) {
pTerm = _termFromWhereClause(tls, (*THiddenIndexInfo)(unsafe.Pointer(pH)).FpWC, (*(*Tsqlite3_index_constraint)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(iCons)*12))).FiTermOffset)
@@ -150506,17 +144132,6 @@ func _wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr,
*(*TBitmask)(unsafe.Pointer(bp)) = obDone
}
break
- } else {
- if libc.Int32FromUint16(wctrlFlags)&int32(WHERE_DISTINCTBY) != 0 {
- (*(*struct {
- FnEq Tu16
- FnBtm Tu16
- FnTop Tu16
- FnDistinctCol Tu16
- FpIndex uintptr
- FpOrderBy uintptr
- })(unsafe.Pointer(pLoop + 24))).FnDistinctCol = uint16(0)
- }
}
iCur = (*(*TSrcItem)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*TWhereLoop)(unsafe.Pointer(pLoop)).FiTab)*80))).FiCursor
/* Mark off any ORDER BY term X that is a column in the table of
@@ -152491,7 +146106,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere
** that use the OR optimization.
*/
if libc.Int32FromUint16(wctrlFlags)&int32(WHERE_ONEPASS_DESIRED) != 0 {
- wsFlags = libc.Int32FromUint32((*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856))).FpWLoop)).FwsFlags)
+ wsFlags = libc.Int32FromUint32((*TWhereLoop)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856))).FpWLoop)).FwsFlags)
bOnerow = libc.BoolInt32(wsFlags&int32(WHERE_ONEROW) != 0)
if bOnerow != 0 || 0 != libc.Int32FromUint16(wctrlFlags)&int32(WHERE_ONEPASS_MULTIROW) && !(libc.Int32FromUint8((*TTable)(unsafe.Pointer((*(*TSrcItem)(unsafe.Pointer(pTabList + 8))).FpSTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) && (0 == wsFlags&int32(WHERE_MULTI_OR) || libc.Int32FromUint16(wctrlFlags)&int32(WHERE_DUPLICATES_OK) != 0) && (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&libc.Uint32FromInt32(libc.Int32FromInt32(SQLITE_OnePass)) == uint32(0) {
if bOnerow != 0 {
@@ -152504,7 +146119,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere
if libc.Int32FromUint16(wctrlFlags)&int32(WHERE_ONEPASS_MULTIROW) != 0 {
bFordelete = uint8(OPFLAG_FORDELETE)
}
- (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856))).FpWLoop)).FwsFlags = libc.Uint32FromInt32(wsFlags & ^libc.Int32FromInt32(WHERE_IDX_ONLY))
+ (*TWhereLoop)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856))).FpWLoop)).FwsFlags = libc.Uint32FromInt32(wsFlags & ^libc.Int32FromInt32(WHERE_IDX_ONLY))
}
}
}
@@ -152683,7 +146298,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere
goto whereBeginError
}
pLevel = pWInfo + 856 + uintptr(ii)*104
- wsFlags1 = libc.Int32FromUint32((*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags)
+ wsFlags1 = libc.Int32FromUint32((*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags)
pSrc = pTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*80
if int32(*(*uint32)(unsafe.Pointer(pSrc + 24 + 4))&0x20>>5) != 0 {
iOnce = 0
@@ -154018,16 +147633,6 @@ type TWindowRewrite = struct {
type WindowRewrite = TWindowRewrite
-type TWindowRewrite1 = struct {
- FpWin uintptr
- FpSrc uintptr
- FpSub uintptr
- FpTab uintptr
- FpSubSelect uintptr
-}
-
-type WindowRewrite1 = TWindowRewrite1
-
// C documentation
//
// /*
@@ -154046,17 +147651,17 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
** TK_COLUMN expressions that refer to it (the outer SELECT). Do
** not process aggregates or window functions at all, as they belong
** to the scalar sub-select. */
- if (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect != 0 {
+ if (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect != 0 {
if libc.Int32FromUint8((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_COLUMN) {
return WRC_Continue
} else {
- nSrc = (*TSrcList)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSrc)).FnSrc
+ nSrc = (*TSrcList)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSrc)).FnSrc
i = 0
for {
if !(i < nSrc) {
break
}
- if (*TExpr)(unsafe.Pointer(pExpr)).FiTable == (*(*TSrcItem)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*80))).FiCursor {
+ if (*TExpr)(unsafe.Pointer(pExpr)).FiTable == (*(*TSrcItem)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*80))).FiCursor {
break
}
goto _1
@@ -154074,7 +147679,7 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
if !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&libc.Uint32FromInt32(libc.Int32FromInt32(EP_WinFunc)) != libc.Uint32FromInt32(0)) {
break
} else {
- pWin = (*TWindowRewrite1)(unsafe.Pointer(p)).FpWin
+ pWin = (*TWindowRewrite)(unsafe.Pointer(p)).FpWin
for {
if !(pWin != 0) {
break
@@ -154098,13 +147703,13 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 {
return int32(WRC_Abort)
}
- if (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub != 0 {
+ if (*TWindowRewrite)(unsafe.Pointer(p)).FpSub != 0 {
i1 = 0
for {
- if !(i1 < (*TExprList)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSub)).FnExpr) {
+ if !(i1 < (*TExprList)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSub)).FnExpr) {
break
}
- if 0 == _sqlite3ExprCompare(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSub + 8 + uintptr(i1)*32))).FpExpr, pExpr, -int32(1)) {
+ if 0 == _sqlite3ExprCompare(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSub + 8 + uintptr(i1)*32))).FpExpr, pExpr, -int32(1)) {
iCol = i1
break
}
@@ -154119,9 +147724,9 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
if pDup != 0 && libc.Int32FromUint8((*TExpr)(unsafe.Pointer(pDup)).Fop) == int32(TK_AGG_FUNCTION) {
(*TExpr)(unsafe.Pointer(pDup)).Fop = uint8(TK_FUNCTION)
}
- (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub = _sqlite3ExprListAppend(tls, pParse, (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub, pDup)
+ (*TWindowRewrite)(unsafe.Pointer(p)).FpSub = _sqlite3ExprListAppend(tls, pParse, (*TWindowRewrite)(unsafe.Pointer(p)).FpSub, pDup)
}
- if (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub != 0 {
+ if (*TWindowRewrite)(unsafe.Pointer(p)).FpSub != 0 {
f = libc.Int32FromUint32((*TExpr)(unsafe.Pointer(pExpr)).Fflags & uint32(EP_Collate))
*(*Tu32)(unsafe.Pointer(pExpr + 4)) |= libc.Uint32FromInt32(libc.Int32FromInt32(EP_Static))
_sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr)
@@ -154129,13 +147734,13 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
libc.X__builtin___memset_chk(tls, pExpr, 0, uint64(72), ^t__predefined_size_t(0))
(*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_COLUMN)
if iCol < 0 {
- v4 = (*TExprList)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSub)).FnExpr - int32(1)
+ v4 = (*TExprList)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSub)).FnExpr - int32(1)
} else {
v4 = iCol
}
(*TExpr)(unsafe.Pointer(pExpr)).FiColumn = int16(v4)
- (*TExpr)(unsafe.Pointer(pExpr)).FiTable = (*TWindow)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpWin)).FiEphCsr
- *(*uintptr)(unsafe.Pointer(pExpr + 64)) = (*TWindowRewrite1)(unsafe.Pointer(p)).FpTab
+ (*TExpr)(unsafe.Pointer(pExpr)).FiTable = (*TWindow)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpWin)).FiEphCsr
+ *(*uintptr)(unsafe.Pointer(pExpr + 64)) = (*TWindowRewrite)(unsafe.Pointer(p)).FpTab
(*TExpr)(unsafe.Pointer(pExpr)).Fflags = libc.Uint32FromInt32(f)
}
if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 {
@@ -154151,13 +147756,13 @@ func _selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintpt
var p, pSave uintptr
_, _ = p, pSave
p = *(*uintptr)(unsafe.Pointer(pWalker + 40))
- pSave = (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect
+ pSave = (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect
if pSave == pSelect {
return WRC_Continue
} else {
- (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect = pSelect
+ (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect = pSelect
_sqlite3WalkSelect(tls, pWalker, pSelect)
- (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect = pSave
+ (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect = pSave
}
return int32(WRC_Prune)
}
@@ -154934,87 +148539,6 @@ type TWindowCsrAndReg = struct {
type WindowCsrAndReg = TWindowCsrAndReg
-/*
-** See comments above struct WindowCodeArg.
- */
-type TWindowCsrAndReg1 = struct {
- Fcsr int32
- Freg int32
-}
-
-type WindowCsrAndReg1 = TWindowCsrAndReg1
-
-/*
-** A single instance of this structure is allocated on the stack by
-** sqlite3WindowCodeStep() and a pointer to it passed to the various helper
-** routines. This is to reduce the number of arguments required by each
-** helper function.
-**
-** regArg:
-** Each window function requires an accumulator register (just as an
-** ordinary aggregate function does). This variable is set to the first
-** in an array of accumulator registers - one for each window function
-** in the WindowCodeArg.pMWin list.
-**
-** eDelete:
-** The window functions implementation sometimes caches the input rows
-** that it processes in a temporary table. If it is not zero, this
-** variable indicates when rows may be removed from the temp table (in
-** order to reduce memory requirements - it would always be safe just
-** to leave them there). Possible values for eDelete are:
-**
-** WINDOW_RETURN_ROW:
-** An input row can be discarded after it is returned to the caller.
-**
-** WINDOW_AGGINVERSE:
-** An input row can be discarded after the window functions xInverse()
-** callbacks have been invoked in it.
-**
-** WINDOW_AGGSTEP:
-** An input row can be discarded after the window functions xStep()
-** callbacks have been invoked in it.
-**
-** start,current,end
-** Consider a window-frame similar to the following:
-**
-** (ORDER BY a, b GROUPS BETWEEN 2 PRECEDING AND 2 FOLLOWING)
-**
-** The windows functions implementation caches the input rows in a temp
-** table, sorted by "a, b" (it actually populates the cache lazily, and
-** aggressively removes rows once they are no longer required, but that's
-** a mere detail). It keeps three cursors open on the temp table. One
-** (current) that points to the next row to return to the query engine
-** once its window function values have been calculated. Another (end)
-** points to the next row to call the xStep() method of each window function
-** on (so that it is 2 groups ahead of current). And a third (start) that
-** points to the next row to call the xInverse() method of each window
-** function on.
-**
-** Each cursor (start, current and end) consists of a VDBE cursor
-** (WindowCsrAndReg.csr) and an array of registers (starting at
-** WindowCodeArg.reg) that always contains a copy of the peer values
-** read from the corresponding cursor.
-**
-** Depending on the window-frame in question, all three cursors may not
-** be required. In this case both WindowCodeArg.csr and reg are set to
-** 0.
- */
-type TWindowCodeArg1 = struct {
- FpParse uintptr
- FpMWin uintptr
- FpVdbe uintptr
- FaddrGosub int32
- FregGosub int32
- FregArg int32
- FeDelete int32
- FregRowid int32
- Fstart TWindowCsrAndReg
- Fcurrent TWindowCsrAndReg
- Fend TWindowCsrAndReg
-}
-
-type WindowCodeArg1 = TWindowCodeArg1
-
// C documentation
//
// /*
@@ -163263,14 +156787,6 @@ var _yyFallback = [187]uint16{
** actually contains the reduce action for the second half of the
** SHIFTREDUCE.
*/
-type TyyStackEntry1 = struct {
- Fstateno uint16
- Fmajor uint16
- Fminor TYYMINORTYPE
-}
-
-type yyStackEntry1 = TyyStackEntry1
-
type TyyStackEntry = struct {
Fstateno uint16
Fmajor uint16
@@ -163281,16 +156797,6 @@ type yyStackEntry = TyyStackEntry
/* The state of the parser is completely contained in an instance of
** the following structure */
-type TyyParser1 = struct {
- Fyytos uintptr
- FpParse uintptr
- FyystackEnd uintptr
- Fyystack uintptr
- Fyystk0 [100]TyyStackEntry
-}
-
-type yyParser1 = TyyParser1
-
type TyyParser = struct {
Fyytos uintptr
FpParse uintptr
@@ -170264,7 +163770,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) (r int32) {
*/
if libc.AtomicLoadPInt32(uintptr(unsafe.Pointer(&_sqlite3Config))+340) != 0 {
if op < 0 || op > int32(63) || libc.Uint64FromInt32(1)< 0 {
- (*Tsqlite3)(unsafe.Pointer(db)).FxProgress = xProgress
+ (*Tsqlite3)(unsafe.Pointer(db)).FxProgress = __ccgo_fp_xProgress
(*Tsqlite3)(unsafe.Pointer(db)).FnProgressOps = libc.Uint32FromInt32(nOps)
(*Tsqlite3)(unsafe.Pointer(db)).FpProgressArg = pArg
} else {
@@ -171634,12 +165144,12 @@ func Xsqlite3_is_interrupted(tls *libc.TLS, db uintptr) (r int32) {
// ** that if a malloc() fails in sqlite3_create_function(), an error code
// ** is returned and the mallocFailed flag cleared.
// */
-func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, enc int32, pUserData uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr, xValue uintptr, xInverse uintptr, pDestructor uintptr) (r int32) {
+func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, enc int32, pUserData uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xValue uintptr, __ccgo_fp_xInverse uintptr, pDestructor uintptr) (r int32) {
var extraFlags, rc int32
var p, v1 uintptr
_, _, _, _ = extraFlags, p, rc, v1
- if zFunctionName == uintptr(0) || xSFunc != uintptr(0) && xFinal != uintptr(0) || libc.BoolInt32(xFinal == uintptr(0)) != libc.BoolInt32(xStep == uintptr(0)) || libc.BoolInt32(xValue == uintptr(0)) != libc.BoolInt32(xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) {
- return _sqlite3MisuseError(tls, int32(184559))
+ if zFunctionName == uintptr(0) || __ccgo_fp_xSFunc != uintptr(0) && __ccgo_fp_xFinal != uintptr(0) || libc.BoolInt32(__ccgo_fp_xFinal == uintptr(0)) != libc.BoolInt32(__ccgo_fp_xStep == uintptr(0)) || libc.BoolInt32(__ccgo_fp_xValue == uintptr(0)) != libc.BoolInt32(__ccgo_fp_xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) {
+ return _sqlite3MisuseError(tls, int32(184586))
}
extraFlags = enc & (libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_INNOCUOUS) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_SELFORDER1))
enc &= libc.Int32FromInt32(SQLITE_FUNC_ENCMASK) | libc.Int32FromInt32(SQLITE_ANY)
@@ -171657,9 +165167,9 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
case int32(SQLITE_UTF16):
enc = int32(SQLITE_UTF16LE)
case int32(SQLITE_ANY):
- rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF8)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, xSFunc, xStep, xFinal, xValue, xInverse, pDestructor)
+ rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF8)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, pDestructor)
if rc == SQLITE_OK {
- rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF16LE)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, xSFunc, xStep, xFinal, xValue, xInverse, pDestructor)
+ rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF16LE)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, pDestructor)
}
if rc != SQLITE_OK {
return rc
@@ -171688,7 +165198,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
_sqlite3ExpirePreparedStatements(tls, db, 0)
}
} else {
- if xSFunc == uintptr(0) && xFinal == uintptr(0) {
+ if __ccgo_fp_xSFunc == uintptr(0) && __ccgo_fp_xFinal == uintptr(0) {
/* Trying to delete a function that does not exist. This is a no-op.
** https://sqlite.org/forum/forumpost/726219164b */
return SQLITE_OK
@@ -171706,15 +165216,15 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
}
*(*uintptr)(unsafe.Pointer(p + 64)) = pDestructor
(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags = (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK) | libc.Uint32FromInt32(extraFlags)
- if xSFunc != 0 {
- v1 = xSFunc
+ if __ccgo_fp_xSFunc != 0 {
+ v1 = __ccgo_fp_xSFunc
} else {
- v1 = xStep
+ v1 = __ccgo_fp_xStep
}
(*TFuncDef)(unsafe.Pointer(p)).FxSFunc = v1
- (*TFuncDef)(unsafe.Pointer(p)).FxFinalize = xFinal
- (*TFuncDef)(unsafe.Pointer(p)).FxValue = xValue
- (*TFuncDef)(unsafe.Pointer(p)).FxInverse = xInverse
+ (*TFuncDef)(unsafe.Pointer(p)).FxFinalize = __ccgo_fp_xFinal
+ (*TFuncDef)(unsafe.Pointer(p)).FxValue = __ccgo_fp_xValue
+ (*TFuncDef)(unsafe.Pointer(p)).FxInverse = __ccgo_fp_xInverse
(*TFuncDef)(unsafe.Pointer(p)).FpUserData = pUserData
(*TFuncDef)(unsafe.Pointer(p)).FnArg = libc.Int16FromUint16(libc.Uint16FromInt32(nArg))
return SQLITE_OK
@@ -171729,27 +165239,27 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
// ** sqlite3_create_function_v2()
// ** sqlite3_create_window_function()
// */
-func _createFunctionApi(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr, xValue uintptr, xInverse uintptr, xDestroy uintptr) (r int32) {
+func _createFunctionApi(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xValue uintptr, __ccgo_fp_xInverse uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
var pArg uintptr
var rc int32
_, _ = pArg, rc
rc = int32(SQLITE_ERROR)
pArg = uintptr(0)
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- if xDestroy != 0 {
+ if __ccgo_fp_xDestroy != 0 {
pArg = _sqlite3Malloc(tls, uint64(24))
if !(pArg != 0) {
_sqlite3OomFault(tls, db)
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestroy})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestroy})))(tls, p)
goto out
}
(*TFuncDestructor)(unsafe.Pointer(pArg)).FnRef = 0
- (*TFuncDestructor)(unsafe.Pointer(pArg)).FxDestroy = xDestroy
+ (*TFuncDestructor)(unsafe.Pointer(pArg)).FxDestroy = __ccgo_fp_xDestroy
(*TFuncDestructor)(unsafe.Pointer(pArg)).FpUserData = p
}
- rc = _sqlite3CreateFunc(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, xValue, xInverse, pArg)
+ rc = _sqlite3CreateFunc(tls, db, zFunc, nArg, enc, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, pArg)
if pArg != 0 && (*TFuncDestructor)(unsafe.Pointer(pArg)).FnRef == 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestroy})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestroy})))(tls, p)
Xsqlite3_free(tls, pArg)
}
goto out
@@ -171760,30 +165270,60 @@ out:
return rc
}
+type t__ccgo_fp__Xsqlite3_create_function_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_6 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_7 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Create new user functions.
// */
-func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) (r int32) {
- return _createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), uintptr(0))
+func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr) (r int32) {
+ return _createFunctionApi(tls, db, zFunc, nArg, enc, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, uintptr(0), uintptr(0), uintptr(0))
}
-func Xsqlite3_create_function_v2(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr, xDestroy uintptr) (r int32) {
- return _createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), xDestroy)
+type t__ccgo_fp__Xsqlite3_create_function_v2_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_v2_6 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_v2_7 = func(*libc.TLS, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_v2_8 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_create_function_v2(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
+ return _createFunctionApi(tls, db, zFunc, nArg, enc, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, uintptr(0), uintptr(0), __ccgo_fp_xDestroy)
}
-func Xsqlite3_create_window_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xStep uintptr, xFinal uintptr, xValue uintptr, xInverse uintptr, xDestroy uintptr) (r int32) {
- return _createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), xStep, xFinal, xValue, xInverse, xDestroy)
+type t__ccgo_fp__Xsqlite3_create_window_function_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_6 = func(*libc.TLS, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_7 = func(*libc.TLS, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_8 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_9 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_create_window_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xValue uintptr, __ccgo_fp_xInverse uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
+ return _createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, __ccgo_fp_xDestroy)
}
-func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) (r int32) {
+type t__ccgo_fp__Xsqlite3_create_function16_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function16_6 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function16_7 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr) (r int32) {
var rc int32
var zFunc8 uintptr
_, _ = rc, zFunc8
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
zFunc8 = _sqlite3Utf16to8(tls, db, zFunctionName, -int32(1), uint8(SQLITE_UTF16LE))
- rc = _sqlite3CreateFunc(tls, db, zFunc8, nArg, eTextRep, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), uintptr(0))
+ rc = _sqlite3CreateFunc(tls, db, zFunc8, nArg, eTextRep, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, uintptr(0), uintptr(0), uintptr(0))
_sqlite3DbFree(tls, db, zFunc8)
rc = _sqlite3ApiExit(tls, db, rc)
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -171846,6 +165386,8 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i
return Xsqlite3_create_function_v2(tls, db, zName, nArg, int32(SQLITE_UTF8), zCopy, __ccgo_fp(_sqlite3InvalidFunction), uintptr(0), uintptr(0), __ccgo_fp(Xsqlite3_free))
}
+type t__ccgo_fp__Xsqlite3_trace_1 = func(*libc.TLS, uintptr, uintptr)
+
// C documentation
//
// /*
@@ -171856,43 +165398,47 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i
// ** trace is a pointer to a function that is invoked at the start of each
// ** SQL statement.
// */
-func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_trace(tls *libc.TLS, db uintptr, __ccgo_fp_xTrace uintptr, pArg uintptr) (r uintptr) {
var pOld uintptr
var v1 int32
_, _ = pOld, v1
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pOld = (*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg
- if xTrace != 0 {
+ if __ccgo_fp_xTrace != 0 {
v1 = int32(SQLITE_TRACE_LEGACY)
} else {
v1 = 0
}
(*Tsqlite3)(unsafe.Pointer(db)).FmTrace = libc.Uint8FromInt32(v1)
- *(*uintptr)(unsafe.Pointer(db + 248)) = xTrace
+ *(*uintptr)(unsafe.Pointer(db + 248)) = __ccgo_fp_xTrace
(*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pOld
}
+type t__ccgo_fp__Xsqlite3_trace_v2_2 = func(*libc.TLS, uint32, uintptr, uintptr, uintptr) int32
+
// C documentation
//
// /* Register a trace callback using the version-2 interface.
// */
-func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) (r int32) {
+func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, __ccgo_fp_xTrace uintptr, pArg uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if mTrace == uint32(0) {
- xTrace = uintptr(0)
+ __ccgo_fp_xTrace = uintptr(0)
}
- if xTrace == uintptr(0) {
+ if __ccgo_fp_xTrace == uintptr(0) {
mTrace = uint32(0)
}
(*Tsqlite3)(unsafe.Pointer(db)).FmTrace = uint8(mTrace)
- *(*uintptr)(unsafe.Pointer(db + 248)) = xTrace
+ *(*uintptr)(unsafe.Pointer(db + 248)) = __ccgo_fp_xTrace
(*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
+type t__ccgo_fp__Xsqlite3_profile_1 = func(*libc.TLS, uintptr, uintptr, uint64)
+
// C documentation
//
// /*
@@ -171903,12 +165449,12 @@ func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr,
// ** profile is a pointer to a function that is invoked at the conclusion of
// ** each SQL statement that is run.
// */
-func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_profile(tls *libc.TLS, db uintptr, __ccgo_fp_xProfile uintptr, pArg uintptr) (r uintptr) {
var pOld, p1, p2 uintptr
_, _, _ = pOld, p1, p2
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pOld = (*Tsqlite3)(unsafe.Pointer(db)).FpProfileArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxProfile = xProfile
+ (*Tsqlite3)(unsafe.Pointer(db)).FxProfile = __ccgo_fp_xProfile
(*Tsqlite3)(unsafe.Pointer(db)).FpProfileArg = pArg
p1 = db + 110
*(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) & libc.Int32FromInt32(SQLITE_TRACE_NONLEGACY_MASK))
@@ -171920,6 +165466,8 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr)
return pOld
}
+type t__ccgo_fp__Xsqlite3_commit_hook_1 = func(*libc.TLS, uintptr) int32
+
// C documentation
//
// /*
@@ -171927,82 +165475,92 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr)
// ** If the invoked function returns non-zero, then the commit becomes a
// ** rollback.
// */
-func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pOld uintptr
_ = pOld
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pOld = (*Tsqlite3)(unsafe.Pointer(db)).FpCommitArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxCommitCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxCommitCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpCommitArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pOld
}
+type t__ccgo_fp__Xsqlite3_update_hook_1 = func(*libc.TLS, uintptr, int32, uintptr, uintptr, int64)
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a row is updated,
// ** inserted or deleted using this database connection.
// */
-func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpUpdateArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxUpdateCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxUpdateCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpUpdateArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
}
+type t__ccgo_fp__Xsqlite3_rollback_hook_1 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a transaction is rolled
// ** back by this database connection.
// */
-func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpRollbackArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxRollbackCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxRollbackCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpRollbackArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
}
+type t__ccgo_fp__Xsqlite3_preupdate_hook_1 = func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, int64, int64)
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a row is updated,
// ** inserted or deleted using this database connection.
// */
-func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdateArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdateArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
}
+type t__ccgo_fp__Xsqlite3_autovacuum_pages_1 = func(*libc.TLS, uintptr, uintptr, uint32, uint32, uint32) uint32
+
+type t__ccgo_fp__Xsqlite3_autovacuum_pages_3 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a function to be invoked prior to each autovacuum that
// ** determines the number of pages to vacuum.
// */
-func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr, xDestructor uintptr) (r int32) {
+func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr != 0 {
(*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg)
}
- (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacPages = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacPages = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg = pArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr = xDestructor
+ (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr = __ccgo_fp_xDestructor
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
@@ -172046,18 +165604,20 @@ func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) (r int
return SQLITE_OK
}
+type t__ccgo_fp__Xsqlite3_wal_hook_1 = func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a transaction is written
// ** into the write-ahead-log by this database connection.
// */
-func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpWalArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpWalArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
@@ -172083,7 +165643,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
if eMode < SQLITE_CHECKPOINT_PASSIVE || eMode > int32(SQLITE_CHECKPOINT_TRUNCATE) {
/* EVIDENCE-OF: R-03996-12088 The M parameter must be a valid checkpoint
** mode: */
- return _sqlite3MisuseError(tls, int32(185175))
+ return _sqlite3MisuseError(tls, int32(185202))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if zDb != 0 && *(*int8)(unsafe.Pointer(zDb)) != 0 {
@@ -172215,7 +165775,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) (r uintptr) {
return _sqlite3ErrStr(tls, int32(SQLITE_NOMEM))
}
if !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) {
- return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(185311)))
+ return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(185338)))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -172347,7 +165907,7 @@ var _misuse = [34]Tu16{
// */
func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) {
if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) {
- return _sqlite3MisuseError(tls, int32(185390))
+ return _sqlite3MisuseError(tls, int32(185417))
}
if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
return int32(SQLITE_NOMEM)
@@ -172357,7 +165917,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) {
func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) (r int32) {
if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) {
- return _sqlite3MisuseError(tls, int32(185399))
+ return _sqlite3MisuseError(tls, int32(185426))
}
if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
return int32(SQLITE_NOMEM)
@@ -172393,7 +165953,7 @@ func Xsqlite3_errstr(tls *libc.TLS, rc int32) (r uintptr) {
// ** Create a new collating function for database "db". The name is zName
// ** and the encoding is enc.
// */
-func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx uintptr, xCompare uintptr, xDel uintptr) (r int32) {
+func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx uintptr, __ccgo_fp_xCompare uintptr, __ccgo_fp_xDel uintptr) (r int32) {
var aColl, p, pColl uintptr
var enc2, j int32
_, _, _, _, _ = aColl, enc2, j, p, pColl
@@ -172406,7 +165966,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui
enc2 = int32(SQLITE_UTF16LE)
}
if enc2 < int32(SQLITE_UTF8) || enc2 > int32(SQLITE_UTF16BE) {
- return _sqlite3MisuseError(tls, int32(185447))
+ return _sqlite3MisuseError(tls, int32(185474))
}
/* Check if this call is removing or replacing an existing collation
** sequence. If so, and there are active VMs, return busy. If there
@@ -172450,9 +166010,9 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui
if pColl == uintptr(0) {
return int32(SQLITE_NOMEM)
}
- (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp = xCompare
+ (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp = __ccgo_fp_xCompare
(*TCollSeq)(unsafe.Pointer(pColl)).FpUser = pCtx
- (*TCollSeq)(unsafe.Pointer(pColl)).FxDel = xDel
+ (*TCollSeq)(unsafe.Pointer(pColl)).FxDel = __ccgo_fp_xDel
(*TCollSeq)(unsafe.Pointer(pColl)).Fenc = libc.Uint8FromInt32(enc2 | libc.Int32FromUint8(enc)&libc.Int32FromInt32(SQLITE_UTF16_ALIGNED))
_sqlite3Error(tls, db, SQLITE_OK)
return SQLITE_OK
@@ -172954,7 +166514,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32
/* READWRITE */
/* READWRITE | CREATE */
if int32(1)<<(*(*uint32)(unsafe.Pointer(bp))&uint32(7))&int32(0x46) == 0 {
- rc = _sqlite3MisuseError(tls, int32(186122)) /* IMP: R-18321-05872 */
+ rc = _sqlite3MisuseError(tls, int32(186149)) /* IMP: R-18321-05872 */
} else {
if zFilename == uintptr(0) {
zFilename = __ccgo_ts + 4629
@@ -173108,36 +166668,44 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) (r int32) {
return rc & int32(0xff)
}
+type t__ccgo_fp__Xsqlite3_create_collation_4 = func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
// ** Register a new collation sequence with the database handle db.
// */
-func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) (r int32) {
- return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, xCompare, uintptr(0))
+func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, __ccgo_fp_xCompare uintptr) (r int32) {
+ return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, __ccgo_fp_xCompare, uintptr(0))
}
+type t__ccgo_fp__Xsqlite3_create_collation_v2_4 = func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3_create_collation_v2_5 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a new collation sequence with the database handle db.
// */
-func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr, xDel uintptr) (r int32) {
+func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, __ccgo_fp_xCompare uintptr, __ccgo_fp_xDel uintptr) (r int32) {
var rc int32
_ = rc
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- rc = _createCollation(tls, db, zName, libc.Uint8FromInt32(enc), pCtx, xCompare, xDel)
+ rc = _createCollation(tls, db, zName, libc.Uint8FromInt32(enc), pCtx, __ccgo_fp_xCompare, __ccgo_fp_xDel)
rc = _sqlite3ApiExit(tls, db, rc)
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return rc
}
+type t__ccgo_fp__Xsqlite3_create_collation16_4 = func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
// ** Register a new collation sequence with the database handle db.
// */
-func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) (r int32) {
+func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, __ccgo_fp_xCompare uintptr) (r int32) {
var rc int32
var zName8 uintptr
_, _ = rc, zName8
@@ -173145,7 +166713,7 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
zName8 = _sqlite3Utf16to8(tls, db, zName, -int32(1), uint8(SQLITE_UTF16LE))
if zName8 != 0 {
- rc = _createCollation(tls, db, zName8, libc.Uint8FromInt32(enc), pCtx, xCompare, uintptr(0))
+ rc = _createCollation(tls, db, zName8, libc.Uint8FromInt32(enc), pCtx, __ccgo_fp_xCompare, uintptr(0))
_sqlite3DbFree(tls, db, zName8)
}
rc = _sqlite3ApiExit(tls, db, rc)
@@ -173153,31 +166721,35 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i
return rc
}
+type t__ccgo_fp__Xsqlite3_collation_needed_2 = func(*libc.TLS, uintptr, uintptr, int32, uintptr)
+
// C documentation
//
// /*
// ** Register a collation sequence factory callback with the database handle
// ** db. Replace any previously installed collation sequence factory.
// */
-func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded uintptr) (r int32) {
+func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, __ccgo_fp_xCollNeeded uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded = xCollNeeded
+ (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded = __ccgo_fp_xCollNeeded
(*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = uintptr(0)
(*Tsqlite3)(unsafe.Pointer(db)).FpCollNeededArg = pCollNeededArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
+type t__ccgo_fp__Xsqlite3_collation_needed16_2 = func(*libc.TLS, uintptr, uintptr, int32, uintptr)
+
// C documentation
//
// /*
// ** Register a collation sequence factory callback with the database handle
// ** db. Replace any previously installed collation sequence factory.
// */
-func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded16 uintptr) (r int32) {
+func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, __ccgo_fp_xCollNeeded16 uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
(*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded = uintptr(0)
- (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = xCollNeeded16
+ (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = __ccgo_fp_xCollNeeded16
(*Tsqlite3)(unsafe.Pointer(db)).FpCollNeededArg = pCollNeededArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
@@ -173211,12 +166783,14 @@ func Xsqlite3_get_clientdata(tls *libc.TLS, db uintptr, zName uintptr) (r uintpt
return uintptr(0)
}
+type t__ccgo_fp__Xsqlite3_set_clientdata_3 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Add new client data to a database connection.
// */
-func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uintptr, xDestructor uintptr) (r int32) {
+func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
var n Tsize_t
var p, pp uintptr
_, _, _ = n, p, pp
@@ -173251,8 +166825,8 @@ func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uin
n = libc.Xstrlen(tls, zName)
p = Xsqlite3_malloc64(tls, uint64(uint64(libc.UintptrFromInt32(0)+24)+(n+libc.Uint64FromInt32(1))))
if p == uintptr(0) {
- if xDestructor != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestructor})))(tls, pData)
+ if __ccgo_fp_xDestructor != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestructor})))(tls, pData)
}
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return int32(SQLITE_NOMEM)
@@ -173263,7 +166837,7 @@ func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uin
}
}
(*TDbClientData)(unsafe.Pointer(p)).FpData = pData
- (*TDbClientData)(unsafe.Pointer(p)).FxDestructor = xDestructor
+ (*TDbClientData)(unsafe.Pointer(p)).FxDestructor = __ccgo_fp_xDestructor
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
@@ -174615,6 +168189,8 @@ func _leaveMutex(tls *libc.TLS) {
Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_MAIN)))
}
+type t__ccgo_fp__Xsqlite3_unlock_notify_1 = func(*libc.TLS, uintptr, int32)
+
// C documentation
//
// /*
@@ -174638,7 +168214,7 @@ func _leaveMutex(tls *libc.TLS) {
// ** on the same "db". If xNotify==0 then any prior callbacks are immediately
// ** cancelled.
// */
-func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg uintptr) (r int32) {
+func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, __ccgo_fp_xNotify uintptr, _pArg uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
*(*uintptr)(unsafe.Pointer(bp)) = _pArg
@@ -174648,7 +168224,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui
rc = SQLITE_OK
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
_enterMutex(tls)
- if xNotify == uintptr(0) {
+ if __ccgo_fp_xNotify == uintptr(0) {
_removeFromBlockedList(tls, db)
(*Tsqlite3)(unsafe.Pointer(db)).FpBlockingConnection = uintptr(0)
(*Tsqlite3)(unsafe.Pointer(db)).FpUnlockConnection = uintptr(0)
@@ -174660,7 +168236,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui
** blocking transaction. In either case, invoke the notify callback
** immediately.
*/
- (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{xNotify})))(tls, bp, int32(1))
+ (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xNotify})))(tls, bp, int32(1))
} else {
p = (*Tsqlite3)(unsafe.Pointer(db)).FpBlockingConnection
for {
@@ -174676,7 +168252,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui
rc = int32(SQLITE_LOCKED) /* Deadlock detected. */
} else {
(*Tsqlite3)(unsafe.Pointer(db)).FpUnlockConnection = (*Tsqlite3)(unsafe.Pointer(db)).FpBlockingConnection
- (*Tsqlite3)(unsafe.Pointer(db)).FxUnlockNotify = xNotify
+ (*Tsqlite3)(unsafe.Pointer(db)).FxUnlockNotify = __ccgo_fp_xNotify
(*Tsqlite3)(unsafe.Pointer(db)).FpUnlockArg = *(*uintptr)(unsafe.Pointer(bp))
_removeFromBlockedList(tls, db)
_addToBlockedList(tls, db)
@@ -175892,106 +169468,6 @@ type TJsonParse = struct {
type JsonParse = TJsonParse
-/*
-** Magic number used for the JSON parse cache in sqlite3_get_auxdata()
- */
-
-/*
-** jsonUnescapeOneChar() returns this invalid code point if it encounters
-** a syntax error.
- */
-
-/* A cache mapping JSON text into JSONB blobs.
-**
-** Each cache entry is a JsonParse object with the following restrictions:
-**
-** * The bReadOnly flag must be set
-**
-** * The aBlob[] array must be owned by the JsonParse object. In other
-** words, nBlobAlloc must be non-zero.
-**
-** * eEdit and delta must be zero.
-**
-** * zJson must be an RCStr. In other words bJsonIsRCStr must be true.
- */
-type TJsonCache1 = struct {
- Fdb uintptr
- FnUsed int32
- Fa [4]uintptr
-}
-
-type JsonCache1 = TJsonCache1
-
-/* An instance of this object represents a JSON string
-** under construction. Really, this is a generic string accumulator
-** that can be and is used to create strings other than JSON.
-**
-** If the generated string is longer than will fit into the zSpace[] buffer,
-** then it will be an RCStr string. This aids with caching of large
-** JSON strings.
- */
-type TJsonString1 = struct {
- FpCtx uintptr
- FzBuf uintptr
- FnAlloc Tu64
- FnUsed Tu64
- FbStatic Tu8
- FeErr Tu8
- FzSpace [100]int8
-}
-
-type JsonString1 = TJsonString1
-
-/* Allowed values for JsonString.eErr */
-
-/* The "subtype" set for text JSON values passed through using
-** sqlite3_result_subtype() and sqlite3_value_subtype().
- */
-
-/*
-** Bit values for the flags passed into various SQL function implementations
-** via the sqlite3_user_data() value.
- */
-
-/* A parsed JSON value. Lifecycle:
-**
-** 1. JSON comes in and is parsed into a JSONB value in aBlob. The
-** original text is stored in zJson. This step is skipped if the
-** input is JSONB instead of text JSON.
-**
-** 2. The aBlob[] array is searched using the JSON path notation, if needed.
-**
-** 3. Zero or more changes are made to aBlob[] (via json_remove() or
-** json_replace() or json_patch() or similar).
-**
-** 4. New JSON text is generated from the aBlob[] for output. This step
-** is skipped if the function is one of the jsonb_* functions that
-** returns JSONB instead of text JSON.
- */
-type TJsonParse1 = struct {
- FaBlob uintptr
- FnBlob Tu32
- FnBlobAlloc Tu32
- FzJson uintptr
- Fdb uintptr
- FnJson int32
- FnJPRef Tu32
- FiErr Tu32
- FiDepth Tu16
- FnErr Tu8
- Foom Tu8
- FbJsonIsRCStr Tu8
- FhasNonstd Tu8
- FbReadOnly Tu8
- FeEdit Tu8
- Fdelta int32
- FnIns Tu32
- FiLabel Tu32
- FaIns uintptr
-}
-
-type JsonParse1 = TJsonParse1
-
/**************************************************************************
** Utility routines for dealing with JsonCache objects
**************************************************************************/
@@ -178602,16 +172078,6 @@ type TJsonPretty = struct {
type JsonPretty = TJsonPretty
-type TJsonPretty1 = struct {
- FpParse uintptr
- FpOut uintptr
- FzIndent uintptr
- FszIndent Tu32
- FnIndent Tu32
-}
-
-type JsonPretty1 = TJsonPretty1
-
// C documentation
//
// /* Append indentation to the pretty JSON under construction */
@@ -181438,16 +174904,6 @@ type TJsonParent = struct {
type JsonParent = TJsonParent
-type TJsonParent1 = struct {
- FiHead Tu32
- FiValue Tu32
- FiEnd Tu32
- FnPath Tu32
- FiKey Ti64
-}
-
-type JsonParent1 = TJsonParent1
-
type TJsonEachCursor = struct {
Fbase Tsqlite3_vtab_cursor
FiRowid Tu32
@@ -181466,24 +174922,6 @@ type TJsonEachCursor = struct {
type JsonEachCursor = TJsonEachCursor
-type TJsonEachCursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FiRowid Tu32
- Fi Tu32
- FiEnd Tu32
- FnRoot Tu32
- FeType Tu8
- FbRecursive Tu8
- FnParent Tu32
- FnParentAlloc Tu32
- FaParent uintptr
- Fdb uintptr
- Fpath TJsonString
- FsParse TJsonParse
-}
-
-type JsonEachCursor1 = TJsonEachCursor1
-
type TJsonEachConnection = struct {
Fbase Tsqlite3_vtab
Fdb uintptr
@@ -181491,13 +174929,6 @@ type TJsonEachConnection = struct {
type JsonEachConnection = TJsonEachConnection
-type TJsonEachConnection1 = struct {
- Fbase Tsqlite3_vtab
- Fdb uintptr
-}
-
-type JsonEachConnection1 = TJsonEachConnection1
-
// C documentation
//
// /* Constructor for the json_each virtual table */
@@ -182469,223 +175900,9 @@ type TRtree = struct {
FaHash [97]uintptr
}
-type Rtree = TRtree
-
-type TRtreeCursor = struct {
- Fbase Tsqlite3_vtab_cursor
- FatEOF Tu8
- FbPoint Tu8
- FbAuxValid Tu8
- FiStrategy int32
- FnConstraint int32
- FaConstraint uintptr
- FnPointAlloc int32
- FnPoint int32
- FmxLevel int32
- FaPoint uintptr
- FpReadAux uintptr
- FsPoint TRtreeSearchPoint
- FaNode [5]uintptr
- FanQueue [41]Tu32
-}
-
-type RtreeCursor = TRtreeCursor
-
-type TRtreeNode = struct {
- FpParent uintptr
- FiNode Ti64
- FnRef int32
- FisDirty int32
- FzData uintptr
- FpNext uintptr
-}
-
-type RtreeNode = TRtreeNode
-
-type TRtreeCell = struct {
- FiRowid Ti64
- FaCoord [10]TRtreeCoord
-}
-
-type RtreeCell = TRtreeCell
-
-type TRtreeConstraint = struct {
- FiCoord int32
- Fop int32
- Fu struct {
- FxGeom [0]uintptr
- FxQueryFunc [0]uintptr
- FrValue TRtreeDValue
- }
- FpInfo uintptr
-}
-
-type RtreeConstraint = TRtreeConstraint
-
-type TRtreeMatchArg = struct {
- FiSize Tu32
- Fcb TRtreeGeomCallback
- FnParam int32
- FapSqlParam uintptr
-}
-
-type RtreeMatchArg = TRtreeMatchArg
-
-type TRtreeGeomCallback = struct {
- FxGeom uintptr
- FxQueryFunc uintptr
- FxDestructor uintptr
- FpContext uintptr
-}
-
-type RtreeGeomCallback = TRtreeGeomCallback
-
-type TRtreeCoord = struct {
- Fi [0]int32
- Fu [0]Tu32
- Ff TRtreeValue
-}
-
-type RtreeCoord = TRtreeCoord
-
-type TRtreeSearchPoint = struct {
- FrScore TRtreeDValue
- Fid Tsqlite3_int64
- FiLevel Tu8
- FeWithin Tu8
- FiCell Tu8
-}
-
-type RtreeSearchPoint = TRtreeSearchPoint
-
-/* The rtree may have between 1 and RTREE_MAX_DIMENSIONS dimensions. */
-
-/* Maximum number of auxiliary columns */
-
-/* Size of hash table Rtree.aHash. This hash table is not expected to
-** ever contain very many entries, so a fixed number of buckets is
-** used.
- */
-
-/* The xBestIndex method of this virtual table requires an estimate of
-** the number of rows in the virtual table to calculate the costs of
-** various strategies. If possible, this estimate is loaded from the
-** sqlite_stat1 table (with RTREE_MIN_ROWEST as a hard-coded minimum).
-** Otherwise, if no sqlite_stat1 entry is available, use
-** RTREE_DEFAULT_ROWEST.
- */
-
-/*
-** An rtree virtual-table object.
- */
-type TRtree1 = struct {
- Fbase Tsqlite3_vtab
- Fdb uintptr
- FiNodeSize int32
- FnDim Tu8
- FnDim2 Tu8
- FeCoordType Tu8
- FnBytesPerCell Tu8
- FinWrTrans Tu8
- FnAux Tu8
- FnAuxNotNull Tu8
- FiDepth int32
- FzDb uintptr
- FzName uintptr
- FzNodeName uintptr
- FnBusy Tu32
- FnRowEst Ti64
- FnCursor Tu32
- FnNodeRef Tu32
- FzReadAuxSql uintptr
- FpDeleted uintptr
- FpNodeBlob uintptr
- FpWriteNode uintptr
- FpDeleteNode uintptr
- FpReadRowid uintptr
- FpWriteRowid uintptr
- FpDeleteRowid uintptr
- FpReadParent uintptr
- FpWriteParent uintptr
- FpDeleteParent uintptr
- FpWriteAux uintptr
- FaHash [97]uintptr
-}
-
-type Rtree1 = TRtree1
-
-/* Possible values for Rtree.eCoordType: */
-
-// C documentation
-//
-// /*
-// ** If SQLITE_RTREE_INT_ONLY is defined, then this virtual table will
-// ** only deal with integer coordinates. No floating point operations
-// ** will be done.
-// */
-type TRtreeDValue = float64
-
-type RtreeDValue = TRtreeDValue
-
-/* High accuracy coordinate */
-
-type TRtreeValue = float32
-
-type RtreeValue = TRtreeValue
-
-/* Low accuracy coordinate */
-
-/*
-** Set the Rtree.bCorrupt flag
- */
-
-/*
-** When doing a search of an r-tree, instances of the following structure
-** record intermediate results from the tree walk.
-**
-** The id is always a node-id. For iLevel>=1 the id is the node-id of
-** the node that the RtreeSearchPoint represents. When iLevel==0, however,
-** the id is of the parent node and the cell that RtreeSearchPoint
-** represents is the iCell-th entry in the parent node.
- */
-type TRtreeSearchPoint1 = struct {
- FrScore TRtreeDValue
- Fid Tsqlite3_int64
- FiLevel Tu8
- FeWithin Tu8
- FiCell Tu8
-}
-
-type RtreeSearchPoint1 = TRtreeSearchPoint1
-
-/*
-** The minimum number of cells allowed for a node is a third of the
-** maximum. In Gutman's notation:
-**
-** m = M/3
-**
-** If an R*-tree "Reinsert" operation is required, the same number of
-** cells are removed from the overfull node and reinserted into the tree.
- */
-
-/*
-** The smallest possible node-size is (512-64)==448 bytes. And the largest
-** supported cell size is 48 bytes (8 byte rowid + ten 4 byte coordinates).
-** Therefore all non-root nodes must contain at least 3 entries. Since
-** 3^40 is greater than 2^64, an r-tree structure always has a depth of
-** 40 or less.
- */
-
-/*
-** Number of entries in the cursor RtreeNode cache. The first entry is
-** used to cache the RtreeNode for RtreeCursor.sPoint. The remaining
-** entries cache the RtreeNode for the first elements of the priority queue.
- */
+type Rtree = TRtree
-/*
-** An rtree cursor object.
- */
-type TRtreeCursor1 = struct {
+type TRtreeCursor = struct {
Fbase Tsqlite3_vtab_cursor
FatEOF Tu8
FbPoint Tu8
@@ -182703,33 +175920,27 @@ type TRtreeCursor1 = struct {
FanQueue [41]Tu32
}
-type RtreeCursor1 = TRtreeCursor1
-
-/* Return the Rtree of a RtreeCursor */
+type RtreeCursor = TRtreeCursor
-/*
-** A coordinate can be either a floating point number or a integer. All
-** coordinates within a single R-Tree are always of the same time.
- */
-type TRtreeCoord1 = struct {
- Fi [0]int32
- Fu [0]Tu32
- Ff TRtreeValue
+type TRtreeNode = struct {
+ FpParent uintptr
+ FiNode Ti64
+ FnRef int32
+ FisDirty int32
+ FzData uintptr
+ FpNext uintptr
}
-type RtreeCoord1 = TRtreeCoord1
+type RtreeNode = TRtreeNode
-/*
-** The argument is an RtreeCoord. Return the value stored within the RtreeCoord
-** formatted as a RtreeDValue (double or int64). This macro assumes that local
-** variable pRtree points to the Rtree structure associated with the
-** RtreeCoord.
- */
+type TRtreeCell = struct {
+ FiRowid Ti64
+ FaCoord [10]TRtreeCoord
+}
-/*
-** A search constraint.
- */
-type TRtreeConstraint1 = struct {
+type RtreeCell = TRtreeCell
+
+type TRtreeConstraint = struct {
FiCoord int32
Fop int32
Fu struct {
@@ -182740,78 +175951,62 @@ type TRtreeConstraint1 = struct {
FpInfo uintptr
}
-type RtreeConstraint1 = TRtreeConstraint1
-
-/* Possible values for RtreeConstraint.op */
-
-/* Special operators available only on cursors. Needs to be consecutive
-** with the normal values above, but must be less than RTREE_MATCH. These
-** are used in the cursor for contraints such as x=NULL (RTREE_FALSE) or
-** x<'xyz' (RTREE_TRUE) */
-
-/*
-** An rtree structure node.
- */
-type TRtreeNode1 = struct {
- FpParent uintptr
- FiNode Ti64
- FnRef int32
- FisDirty int32
- FzData uintptr
- FpNext uintptr
-}
-
-type RtreeNode1 = TRtreeNode1
-
-/* Return the number of cells in a node */
+type RtreeConstraint = TRtreeConstraint
-/*
-** A single cell from a node, deserialized
- */
-type TRtreeCell1 = struct {
- FiRowid Ti64
- FaCoord [10]TRtreeCoord
+type TRtreeMatchArg = struct {
+ FiSize Tu32
+ Fcb TRtreeGeomCallback
+ FnParam int32
+ FapSqlParam uintptr
}
-type RtreeCell1 = TRtreeCell1
+type RtreeMatchArg = TRtreeMatchArg
-/*
-** This object becomes the sqlite3_user_data() for the SQL functions
-** that are created by sqlite3_rtree_geometry_callback() and
-** sqlite3_rtree_query_callback() and which appear on the right of MATCH
-** operators in order to constrain a search.
-**
-** xGeom and xQueryFunc are the callback functions. Exactly one of
-** xGeom and xQueryFunc fields is non-NULL, depending on whether the
-** SQL function was created using sqlite3_rtree_geometry_callback() or
-** sqlite3_rtree_query_callback().
-**
-** This object is deleted automatically by the destructor mechanism in
-** sqlite3_create_function_v2().
- */
-type TRtreeGeomCallback1 = struct {
+type TRtreeGeomCallback = struct {
FxGeom uintptr
FxQueryFunc uintptr
FxDestructor uintptr
FpContext uintptr
}
-type RtreeGeomCallback1 = TRtreeGeomCallback1
+type RtreeGeomCallback = TRtreeGeomCallback
-/*
-** An instance of this structure (in the form of a BLOB) is returned by
-** the SQL functions that sqlite3_rtree_geometry_callback() and
-** sqlite3_rtree_query_callback() create, and is read as the right-hand
-** operand to the MATCH operator of an R-Tree.
- */
-type TRtreeMatchArg1 = struct {
- FiSize Tu32
- Fcb TRtreeGeomCallback
- FnParam int32
- FapSqlParam uintptr
+type TRtreeCoord = struct {
+ Fi [0]int32
+ Fu [0]Tu32
+ Ff TRtreeValue
+}
+
+type RtreeCoord = TRtreeCoord
+
+type TRtreeSearchPoint = struct {
+ FrScore TRtreeDValue
+ Fid Tsqlite3_int64
+ FiLevel Tu8
+ FeWithin Tu8
+ FiCell Tu8
}
-type RtreeMatchArg1 = TRtreeMatchArg1
+type RtreeSearchPoint = TRtreeSearchPoint
+
+/* Possible values for Rtree.eCoordType: */
+
+// C documentation
+//
+// /*
+// ** If SQLITE_RTREE_INT_ONLY is defined, then this virtual table will
+// ** only deal with integer coordinates. No floating point operations
+// ** will be done.
+// */
+type TRtreeDValue = float64
+
+type RtreeDValue = TRtreeDValue
+
+/* High accuracy coordinate */
+
+type TRtreeValue = float32
+
+type RtreeValue = TRtreeValue
/* Size of an RtreeMatchArg object with N parameters */
@@ -185772,9 +178967,9 @@ func _rtreeValueDown(tls *libc.TLS, v uintptr) (r TRtreeValue) {
f = float32(d)
if float64(f) > d {
if d < libc.Float64FromInt32(0) {
- v1 = float64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
} else {
- v1 = float64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
}
f = float32(float64(d * v1))
}
@@ -185789,9 +178984,9 @@ func _rtreeValueUp(tls *libc.TLS, v uintptr) (r TRtreeValue) {
f = float32(d)
if float64(f) < d {
if d < libc.Float64FromInt32(0) {
- v1 = float64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
} else {
- v1 = float64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
}
f = float32(float64(d * v1))
}
@@ -186691,23 +179886,6 @@ type TRtreeCheck = struct {
type RtreeCheck = TRtreeCheck
-type TRtreeCheck1 = struct {
- Fdb uintptr
- FzDb uintptr
- FzTab uintptr
- FbInt int32
- FnDim int32
- FpGetNode uintptr
- FaCheckMapping [2]uintptr
- FnLeaf int32
- FnNonLeaf int32
- Frc int32
- FzReport uintptr
- FnErr int32
-}
-
-type RtreeCheck1 = TRtreeCheck1
-
// C documentation
//
// /*
@@ -187292,14 +180470,6 @@ type TGeoPoly = struct {
type GeoPoly = TGeoPoly
-type TGeoPoly1 = struct {
- FnVertex int32
- Fhdr [4]uint8
- Fa [8]TGeoCoord
-}
-
-type GeoPoly1 = TGeoPoly1
-
/* The size of a memory allocation needed for a GeoPoly object sufficient
** to hold N coordinate pairs.
*/
@@ -187324,16 +180494,6 @@ type TGeoParse = struct {
type GeoParse = TGeoParse
-type TGeoParse1 = struct {
- Fz uintptr
- FnVertex int32
- FnAlloc int32
- FnErr int32
- Fa uintptr
-}
-
-type GeoParse1 = TGeoParse1
-
// C documentation
//
// /* Do a 4-byte byte swap */
@@ -188116,13 +181276,6 @@ type TGeoBBox = struct {
type GeoBBox = TGeoBBox
-type TGeoBBox1 = struct {
- FisInit int32
- Fa [4]TRtreeCoord
-}
-
-type GeoBBox1 = TGeoBBox1
-
// C documentation
//
// /*
@@ -188357,36 +181510,6 @@ type TGeoOverlap = struct {
type GeoOverlap = TGeoOverlap
-type TGeoEvent1 = struct {
- Fx float64
- FeType int32
- FpSeg uintptr
- FpNext uintptr
-}
-
-type GeoEvent1 = TGeoEvent1
-
-type TGeoSegment1 = struct {
- FC float64
- FB float64
- Fy float64
- Fy0 float32
- Fside uint8
- Fidx uint32
- FpNext uintptr
-}
-
-type GeoSegment1 = TGeoSegment1
-
-type TGeoOverlap1 = struct {
- FaEvent uintptr
- FaSegment uintptr
- FnEvent int32
- FnSegment int32
-}
-
-type GeoOverlap1 = TGeoOverlap1
-
// C documentation
//
// /*
@@ -189357,16 +182480,16 @@ geopoly_update_end:
// ** Report that geopoly_overlap() is an overloaded function suitable
// ** for use in xBestIndex.
// */
-func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) {
+func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, __ccgo_fp_pxFunc uintptr, ppArg uintptr) (r int32) {
_ = pVtab
_ = nArg
if Xsqlite3_stricmp(tls, zName, __ccgo_ts+29063) == 0 {
- *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyOverlapFunc)
+ *(*uintptr)(unsafe.Pointer(__ccgo_fp_pxFunc)) = __ccgo_fp(_geopolyOverlapFunc)
*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
return int32(SQLITE_INDEX_CONSTRAINT_FUNCTION)
}
if Xsqlite3_stricmp(tls, zName, __ccgo_ts+29079) == 0 {
- *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyWithinFunc)
+ *(*uintptr)(unsafe.Pointer(__ccgo_fp_pxFunc)) = __ccgo_fp(_geopolyWithinFunc)
*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
return libc.Int32FromInt32(SQLITE_INDEX_CONSTRAINT_FUNCTION) + libc.Int32FromInt32(1)
}
@@ -189675,12 +182798,14 @@ func _geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
}
}
+type t__ccgo_fp__Xsqlite3_rtree_geometry_callback_2 = func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Register a new geometry function for use with the r-tree MATCH operator.
// */
-func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, xGeom uintptr, pContext uintptr) (r int32) {
+func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, __ccgo_fp_xGeom uintptr, pContext uintptr) (r int32) {
var pGeomCtx uintptr
_ = pGeomCtx /* Context object for new user-function */
/* Allocate and populate the context object. */
@@ -189688,33 +182813,37 @@ func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr,
if !(pGeomCtx != 0) {
return int32(SQLITE_NOMEM)
}
- (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxGeom = xGeom
+ (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxGeom = __ccgo_fp_xGeom
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxQueryFunc = uintptr(0)
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxDestructor = uintptr(0)
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FpContext = pContext
return Xsqlite3_create_function_v2(tls, db, zGeom, -int32(1), int32(SQLITE_ANY), pGeomCtx, __ccgo_fp(_geomCallback), uintptr(0), uintptr(0), __ccgo_fp(_rtreeFreeCallback))
}
+type t__ccgo_fp__Xsqlite3_rtree_query_callback_2 = func(*libc.TLS, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3_rtree_query_callback_4 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a new 2nd-generation geometry function for use with the
// ** r-tree MATCH operator.
// */
-func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, xQueryFunc uintptr, pContext uintptr, xDestructor uintptr) (r int32) {
+func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, __ccgo_fp_xQueryFunc uintptr, pContext uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
var pGeomCtx uintptr
_ = pGeomCtx /* Context object for new user-function */
/* Allocate and populate the context object. */
pGeomCtx = Xsqlite3_malloc(tls, int32(32))
if !(pGeomCtx != 0) {
- if xDestructor != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestructor})))(tls, pContext)
+ if __ccgo_fp_xDestructor != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestructor})))(tls, pContext)
}
return int32(SQLITE_NOMEM)
}
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxGeom = uintptr(0)
- (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxQueryFunc = xQueryFunc
- (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxDestructor = xDestructor
+ (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxQueryFunc = __ccgo_fp_xQueryFunc
+ (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxDestructor = __ccgo_fp_xDestructor
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FpContext = pContext
return Xsqlite3_create_function_v2(tls, db, zQueryFunc, -int32(1), int32(SQLITE_ANY), pGeomCtx, __ccgo_fp(_geomCallback), uintptr(0), uintptr(0), __ccgo_fp(_rtreeFreeCallback))
}
@@ -190332,248 +183461,6 @@ type TRbuUpdateStmt = struct {
type RbuUpdateStmt = TRbuUpdateStmt
-/*
-** These values must match the values defined in wal.c for the equivalent
-** locks. These are not magic numbers as they are part of the SQLite file
-** format.
- */
-
-/*
-** A structure to store values read from the rbu_state table in memory.
- */
-type TRbuState1 = struct {
- FeStage int32
- FzTbl uintptr
- FzDataTbl uintptr
- FzIdx uintptr
- FiWalCksum Ti64
- FnRow int32
- FnProgress Ti64
- FiCookie Tu32
- FiOalSz Ti64
- FnPhaseOneStep Ti64
-}
-
-type RbuState1 = TRbuState1
-
-type TRbuUpdateStmt1 = struct {
- FzMask uintptr
- FpUpdate uintptr
- FpNext uintptr
-}
-
-type RbuUpdateStmt1 = TRbuUpdateStmt1
-
-type TRbuSpan1 = struct {
- FzSpan uintptr
- FnSpan int32
-}
-
-type RbuSpan1 = TRbuSpan1
-
-/*
-** An iterator of this type is used to iterate through all objects in
-** the target database that require updating. For each such table, the
-** iterator visits, in order:
-**
-** * the table itself,
-** * each index of the table (zero or more points to visit), and
-** * a special "cleanup table" state.
-**
-** abIndexed:
-** If the table has no indexes on it, abIndexed is set to NULL. Otherwise,
-** it points to an array of flags nTblCol elements in size. The flag is
-** set for each column that is either a part of the PK or a part of an
-** index. Or clear otherwise.
-**
-** If there are one or more partial indexes on the table, all fields of
-** this array set set to 1. This is because in that case, the module has
-** no way to tell which fields will be required to add and remove entries
-** from the partial indexes.
-**
- */
-type TRbuObjIter1 = struct {
- FpTblIter uintptr
- FpIdxIter uintptr
- FnTblCol int32
- FazTblCol uintptr
- FazTblType uintptr
- FaiSrcOrder uintptr
- FabTblPk uintptr
- FabNotNull uintptr
- FabIndexed uintptr
- FeType int32
- FbCleanup int32
- FzTbl uintptr
- FzDataTbl uintptr
- FzIdx uintptr
- FiTnum int32
- FiPkTnum int32
- FbUnique int32
- FnIndex int32
- FnCol int32
- FpSelect uintptr
- FpInsert uintptr
- FpDelete uintptr
- FpTmpInsert uintptr
- FnIdxCol int32
- FaIdxCol uintptr
- FzIdxSql uintptr
- FpRbuUpdate uintptr
-}
-
-type RbuObjIter1 = TRbuObjIter1
-
-/*
-** Values for RbuObjIter.eType
-**
-** 0: Table does not exist (error)
-** 1: Table has an implicit rowid.
-** 2: Table has an explicit IPK column.
-** 3: Table has an external PK index.
-** 4: Table is WITHOUT ROWID.
-** 5: Table is a virtual table.
- */
-
-/*
-** Within the RBU_STAGE_OAL stage, each call to sqlite3rbu_step() performs
-** one of the following operations.
- */
-
-/*
-** A single step of an incremental checkpoint - frame iWalFrame of the wal
-** file should be copied to page iDbPage of the database file.
- */
-type TRbuFrame1 = struct {
- FiDbPage Tu32
- FiWalFrame Tu32
-}
-
-type RbuFrame1 = TRbuFrame1
-
-/*
-** RBU handle.
-**
-** nPhaseOneStep:
-** If the RBU database contains an rbu_count table, this value is set to
-** a running estimate of the number of b-tree operations required to
-** finish populating the *-oal file. This allows the sqlite3_bp_progress()
-** API to calculate the permyriadage progress of populating the *-oal file
-** using the formula:
-**
-** permyriadage = (10000 * nProgress) / nPhaseOneStep
-**
-** nPhaseOneStep is initialized to the sum of:
-**
-** nRow * (nIndex + 1)
-**
-** for all source tables in the RBU database, where nRow is the number
-** of rows in the source table and nIndex the number of indexes on the
-** corresponding target database table.
-**
-** This estimate is accurate if the RBU update consists entirely of
-** INSERT operations. However, it is inaccurate if:
-**
-** * the RBU update contains any UPDATE operations. If the PK specified
-** for an UPDATE operation does not exist in the target table, then
-** no b-tree operations are required on index b-trees. Or if the
-** specified PK does exist, then (nIndex*2) such operations are
-** required (one delete and one insert on each index b-tree).
-**
-** * the RBU update contains any DELETE operations for which the specified
-** PK does not exist. In this case no operations are required on index
-** b-trees.
-**
-** * the RBU update contains REPLACE operations. These are similar to
-** UPDATE operations.
-**
-** nPhaseOneStep is updated to account for the conditions above during the
-** first pass of each source table. The updated nPhaseOneStep value is
-** stored in the rbu_state table if the RBU update is suspended.
- */
-type Tsqlite3rbu1 = struct {
- FeStage int32
- FdbMain uintptr
- FdbRbu uintptr
- FzTarget uintptr
- FzRbu uintptr
- FzState uintptr
- FzStateDb [5]int8
- Frc int32
- FzErrmsg uintptr
- FnStep int32
- FnProgress Tsqlite3_int64
- Fobjiter TRbuObjIter
- FzVfsName uintptr
- FpTargetFd uintptr
- FnPagePerSector int32
- FiOalSz Ti64
- FnPhaseOneStep Ti64
- FpRenameArg uintptr
- FxRename uintptr
- FiMaxFrame Tu32
- FmLock Tu32
- FnFrame int32
- FnFrameAlloc int32
- FaFrame uintptr
- Fpgsz int32
- FaBuf uintptr
- FiWalCksum Ti64
- FszTemp Ti64
- FszTempLimit Ti64
- FnRbu int32
- FpRbuFd uintptr
-}
-
-type sqlite3rbu1 = Tsqlite3rbu1
-
-/*
-** An rbu VFS is implemented using an instance of this structure.
-**
-** Variable pRbu is only non-NULL for automatically created RBU VFS objects.
-** It is NULL for RBU VFS objects created explicitly using
-** sqlite3rbu_create_vfs(). It is used to track the total amount of temp
-** space used by the RBU handle.
- */
-type Trbu_vfs1 = struct {
- Fbase Tsqlite3_vfs
- FpRealVfs uintptr
- Fmutex uintptr
- FpRbu uintptr
- FpMain uintptr
- FpMainRbu uintptr
-}
-
-type rbu_vfs1 = Trbu_vfs1
-
-/*
-** Each file opened by an rbu VFS is represented by an instance of
-** the following structure.
-**
-** If this is a temporary file (pRbu!=0 && flags&DELETE_ON_CLOSE), variable
-** "sz" is set to the current size of the database file.
- */
-type Trbu_file1 = struct {
- Fbase Tsqlite3_file
- FpReal uintptr
- FpRbuVfs uintptr
- FpRbu uintptr
- Fsz Ti64
- FopenFlags int32
- FiCookie Tu32
- FiWriteVer Tu8
- FbNolock Tu8
- FnShm int32
- FapShm uintptr
- FzDel uintptr
- FzWal uintptr
- FpWalFd uintptr
- FpMainNext uintptr
- FpMainRbuNext uintptr
-}
-
-type rbu_file1 = Trbu_file1
-
/*
** True for an RBU vacuum handle, or false otherwise.
*/
@@ -193287,7 +186174,7 @@ func _rbuShmChecksum(tls *libc.TLS, p uintptr) (r Ti64) {
iRet = 0
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
iRet = libc.Int64FromUint64(uint64(libc.AtomicLoadPUint32(*(*uintptr)(unsafe.Pointer(bp))+libc.UintptrFromInt32(10)*4))< (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz {
(*Tsqlite3rbu)(unsafe.Pointer(p)).FnPagePerSector = nSectorSize / (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz
} else {
@@ -193389,7 +186276,7 @@ func _rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
** directory in which the target database and the wal file reside, in
** case it has not been synced since the rename() call in
** rbuMoveOalFile(). */
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxSync})))(tls, pWal, int32(SQLITE_SYNC_NORMAL))
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxSync})))(tls, pWal, int32(SQLITE_SYNC_NORMAL))
}
}
}
@@ -193462,12 +186349,12 @@ func _rbuCheckpointFrame(tls *libc.TLS, p uintptr, pFrame uintptr) {
pWal = (*Trbu_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd)).FpReal
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
iOff = libc.Int64FromUint32((*TRbuFrame)(unsafe.Pointer(pFrame)).FiWalFrame-libc.Uint32FromInt32(1))*int64((*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz+libc.Int32FromInt32(24)) + int64(32) + int64(24)
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxRead})))(tls, pWal, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxRead})))(tls, pWal, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
return
}
iOff = libc.Int64FromUint32((*TRbuFrame)(unsafe.Pointer(pFrame)).FiDbPage-libc.Uint32FromInt32(1)) * int64((*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz)
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxWrite})))(tls, pDb, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxWrite})))(tls, pDb, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
}
/*
@@ -193492,18 +186379,18 @@ func _rbuLockDatabase(tls *libc.TLS, db uintptr) (r int32) {
Xsqlite3_file_control(tls, db, __ccgo_ts+7084, int32(RBU_ZIPVFS_CTRL_FILE_POINTER), bp)
if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
Xsqlite3_file_control(tls, db, __ccgo_ts+7084, int32(SQLITE_FCNTL_FILE_POINTER), bp)
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
if rc == SQLITE_OK {
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxUnlock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), SQLITE_LOCK_NONE)
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxUnlock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), SQLITE_LOCK_NONE)
}
Xsqlite3_file_control(tls, db, __ccgo_ts+7084, int32(RBU_ZIPVFS_CTRL_FILE_POINTER), bp)
} else {
Xsqlite3_file_control(tls, db, __ccgo_ts+7084, int32(SQLITE_FCNTL_FILE_POINTER), bp)
}
if rc == SQLITE_OK && (*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods != 0 {
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
if rc == SQLITE_OK {
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_EXCLUSIVE))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_EXCLUSIVE))
}
}
return rc
@@ -194021,10 +186908,10 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) (r int32) {
if (*Tsqlite3rbu)(unsafe.Pointer(p)).FnStep >= (*Tsqlite3rbu)(unsafe.Pointer(p)).FnFrame {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
/* Sync the db file */
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
/* Update nBackfill */
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
*(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 24*4)) = (*Tsqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame
}
@@ -194543,7 +187430,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) {
/* Sync the db file if currently doing an incremental checkpoint */
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
}
_rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) {
@@ -194664,7 +187551,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) {
/* Sync the db file */
if rc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
}
(*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc
_rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage)
@@ -194709,9 +187596,11 @@ func _xDefaultRename(tls *libc.TLS, pArg uintptr, zOld uintptr, zNew uintptr) (r
return rc
}
-func Xsqlite3rbu_rename_handler(tls *libc.TLS, pRbu uintptr, pArg uintptr, xRename uintptr) {
- if xRename != 0 {
- (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FxRename = xRename
+type t__ccgo_fp__Xsqlite3rbu_rename_handler_2 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+func Xsqlite3rbu_rename_handler(tls *libc.TLS, pRbu uintptr, pArg uintptr, __ccgo_fp_xRename uintptr) {
+ if __ccgo_fp_xRename != 0 {
+ (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FxRename = __ccgo_fp_xRename
(*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FpRenameArg = pArg
} else {
(*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FxRename = __ccgo_fp(_xDefaultRename)
@@ -194783,7 +187672,7 @@ func _rbuUnlockShm(tls *libc.TLS, p uintptr) {
var xShmLock uintptr
_, _ = i, xShmLock
if (*Trbu_file)(unsafe.Pointer(p)).FpRbu != 0 {
- xShmLock = (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock
+ xShmLock = (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock
i = 0
for {
if !(i < int32(SQLITE_SHM_NLOCK)) {
@@ -194986,7 +187875,7 @@ func _rbuVfsClose(tls *libc.TLS, pFile uintptr) (r int32) {
}
}
/* Close the underlying file handle */
- rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxClose})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal)
+ rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxClose})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal)
return rc
}
@@ -195037,14 +187926,14 @@ func _rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst T
rc = SQLITE_OK
libc.X__builtin___memset_chk(tls, zBuf, 0, libc.Uint64FromInt32(iAmt), ^t__predefined_size_t(0))
} else {
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxRead})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxRead})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst)
/* If this is being called to read the first page of the target
** database as part of an rbu vacuum operation, synthesize the
** contents of the first page if it does not yet exist. Otherwise,
** SQLite will not check for a *-wal file. */
if pRbu != 0 && (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzTarget == uintptr(0) && rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(2)<= libc.Int32FromUint64(libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(64)) {
_statResetCsr(tls, pCsr)
- return _sqlite3CorruptError(tls, int32(227354))
+ return _sqlite3CorruptError(tls, int32(227381))
}
if (*TStatPage)(unsafe.Pointer(p)).FiCell == (*TStatPage)(unsafe.Pointer(p)).FnCell {
(*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiPgno = (*TStatPage)(unsafe.Pointer(p)).FiRightChildPg
@@ -196969,315 +189797,6 @@ type TSessionHook = struct {
type SessionHook = TSessionHook
-type TSessionHook1 = struct {
- FpCtx uintptr
- FxOld uintptr
- FxNew uintptr
- FxCount uintptr
- FxDepth uintptr
-}
-
-type SessionHook1 = TSessionHook1
-
-/*
-** Session handle structure.
- */
-type Tsqlite3_session1 = struct {
- Fdb uintptr
- FzDb uintptr
- FbEnableSize int32
- FbEnable int32
- FbIndirect int32
- FbAutoAttach int32
- FbImplicitPK int32
- Frc int32
- FpFilterCtx uintptr
- FxTableFilter uintptr
- FnMalloc Ti64
- FnMaxChangesetSize Ti64
- FpZeroBlob uintptr
- FpNext uintptr
- FpTable uintptr
- Fhook TSessionHook
-}
-
-type sqlite3_session1 = Tsqlite3_session1
-
-/*
-** Instances of this structure are used to build strings or binary records.
- */
-type TSessionBuffer1 = struct {
- FaBuf uintptr
- FnBuf int32
- FnAlloc int32
-}
-
-type SessionBuffer1 = TSessionBuffer1
-
-/*
-** An object of this type is used internally as an abstraction for
-** input data. Input data may be supplied either as a single large buffer
-** (e.g. sqlite3changeset_start()) or using a stream function (e.g.
-** sqlite3changeset_start_strm()).
-**
-** bNoDiscard:
-** If true, then the only time data is discarded is as a result of explicit
-** sessionDiscardData() calls. Not within every sessionInputBuffer() call.
- */
-type TSessionInput1 = struct {
- FbNoDiscard int32
- FiCurrent int32
- FiNext int32
- FaData uintptr
- FnData int32
- Fbuf TSessionBuffer
- FxInput uintptr
- FpIn uintptr
- FbEof int32
-}
-
-type SessionInput1 = TSessionInput1
-
-/*
-** Structure for changeset iterators.
- */
-type Tsqlite3_changeset_iter1 = struct {
- Fin TSessionInput
- Ftblhdr TSessionBuffer
- FbPatchset int32
- FbInvert int32
- FbSkipEmpty int32
- Frc int32
- FpConflict uintptr
- FzTab uintptr
- FnCol int32
- Fop int32
- FbIndirect int32
- FabPK uintptr
- FapValue uintptr
-}
-
-type sqlite3_changeset_iter1 = Tsqlite3_changeset_iter1
-
-/*
-** Each session object maintains a set of the following structures, one
-** for each table the session object is monitoring. The structures are
-** stored in a linked list starting at sqlite3_session.pTable.
-**
-** The keys of the SessionTable.aChange[] hash table are all rows that have
-** been modified in any way since the session object was attached to the
-** table.
-**
-** The data associated with each hash-table entry is a structure containing
-** a subset of the initial values that the modified row contained at the
-** start of the session. Or no initial values if the row was inserted.
-**
-** pDfltStmt:
-** This is only used by the sqlite3changegroup_xxx() APIs, not by
-** regular sqlite3_session objects. It is a SELECT statement that
-** selects the default value for each table column. For example,
-** if the table is
-**
-** CREATE TABLE xx(a DEFAULT 1, b, c DEFAULT 'abc')
-**
-** then this variable is the compiled version of:
-**
-** SELECT 1, NULL, 'abc'
- */
-type TSessionTable1 = struct {
- FpNext uintptr
- FzName uintptr
- FnCol int32
- FnTotalCol int32
- FbStat1 int32
- FbRowid int32
- FazCol uintptr
- FazDflt uintptr
- FaiIdx uintptr
- FabPK uintptr
- FnEntry int32
- FnChange int32
- FapChange uintptr
- FpDfltStmt uintptr
-}
-
-type SessionTable1 = TSessionTable1
-
-/*
-** RECORD FORMAT:
-**
-** The following record format is similar to (but not compatible with) that
-** used in SQLite database files. This format is used as part of the
-** change-set binary format, and so must be architecture independent.
-**
-** Unlike the SQLite database record format, each field is self-contained -
-** there is no separation of header and data. Each field begins with a
-** single byte describing its type, as follows:
-**
-** 0x00: Undefined value.
-** 0x01: Integer value.
-** 0x02: Real value.
-** 0x03: Text value.
-** 0x04: Blob value.
-** 0x05: SQL NULL value.
-**
-** Note that the above match the definitions of SQLITE_INTEGER, SQLITE_TEXT
-** and so on in sqlite3.h. For undefined and NULL values, the field consists
-** only of the single type byte. For other types of values, the type byte
-** is followed by:
-**
-** Text values:
-** A varint containing the number of bytes in the value (encoded using
-** UTF-8). Followed by a buffer containing the UTF-8 representation
-** of the text value. There is no nul terminator.
-**
-** Blob values:
-** A varint containing the number of bytes in the value, followed by
-** a buffer containing the value itself.
-**
-** Integer values:
-** An 8-byte big-endian integer value.
-**
-** Real values:
-** An 8-byte big-endian IEEE 754-2008 real value.
-**
-** Varint values are encoded in the same way as varints in the SQLite
-** record format.
-**
-** CHANGESET FORMAT:
-**
-** A changeset is a collection of DELETE, UPDATE and INSERT operations on
-** one or more tables. Operations on a single table are grouped together,
-** but may occur in any order (i.e. deletes, updates and inserts are all
-** mixed together).
-**
-** Each group of changes begins with a table header:
-**
-** 1 byte: Constant 0x54 (capital 'T')
-** Varint: Number of columns in the table.
-** nCol bytes: 0x01 for PK columns, 0x00 otherwise.
-** N bytes: Unqualified table name (encoded using UTF-8). Nul-terminated.
-**
-** Followed by one or more changes to the table.
-**
-** 1 byte: Either SQLITE_INSERT (0x12), UPDATE (0x17) or DELETE (0x09).
-** 1 byte: The "indirect-change" flag.
-** old.* record: (delete and update only)
-** new.* record: (insert and update only)
-**
-** The "old.*" and "new.*" records, if present, are N field records in the
-** format described above under "RECORD FORMAT", where N is the number of
-** columns in the table. The i'th field of each record is associated with
-** the i'th column of the table, counting from left to right in the order
-** in which columns were declared in the CREATE TABLE statement.
-**
-** The new.* record that is part of each INSERT change contains the values
-** that make up the new row. Similarly, the old.* record that is part of each
-** DELETE change contains the values that made up the row that was deleted
-** from the database. In the changeset format, the records that are part
-** of INSERT or DELETE changes never contain any undefined (type byte 0x00)
-** fields.
-**
-** Within the old.* record associated with an UPDATE change, all fields
-** associated with table columns that are not PRIMARY KEY columns and are
-** not modified by the UPDATE change are set to "undefined". Other fields
-** are set to the values that made up the row before the UPDATE that the
-** change records took place. Within the new.* record, fields associated
-** with table columns modified by the UPDATE change contain the new
-** values. Fields associated with table columns that are not modified
-** are set to "undefined".
-**
-** PATCHSET FORMAT:
-**
-** A patchset is also a collection of changes. It is similar to a changeset,
-** but leaves undefined those fields that are not useful if no conflict
-** resolution is required when applying the changeset.
-**
-** Each group of changes begins with a table header:
-**
-** 1 byte: Constant 0x50 (capital 'P')
-** Varint: Number of columns in the table.
-** nCol bytes: 0x01 for PK columns, 0x00 otherwise.
-** N bytes: Unqualified table name (encoded using UTF-8). Nul-terminated.
-**
-** Followed by one or more changes to the table.
-**
-** 1 byte: Either SQLITE_INSERT (0x12), UPDATE (0x17) or DELETE (0x09).
-** 1 byte: The "indirect-change" flag.
-** single record: (PK fields for DELETE, PK and modified fields for UPDATE,
-** full record for INSERT).
-**
-** As in the changeset format, each field of the single record that is part
-** of a patchset change is associated with the correspondingly positioned
-** table column, counting from left to right within the CREATE TABLE
-** statement.
-**
-** For a DELETE change, all fields within the record except those associated
-** with PRIMARY KEY columns are omitted. The PRIMARY KEY fields contain the
-** values identifying the row to delete.
-**
-** For an UPDATE change, all fields except those associated with PRIMARY KEY
-** columns and columns that are modified by the UPDATE are set to "undefined".
-** PRIMARY KEY fields contain the values identifying the table row to update,
-** and fields associated with modified columns contain the new column values.
-**
-** The records associated with INSERT changes are in the same format as for
-** changesets. It is not possible for a record associated with an INSERT
-** change to contain a field set to "undefined".
-**
-** REBASE BLOB FORMAT:
-**
-** A rebase blob may be output by sqlite3changeset_apply_v2() and its
-** streaming equivalent for use with the sqlite3_rebaser APIs to rebase
-** existing changesets. A rebase blob contains one entry for each conflict
-** resolved using either the OMIT or REPLACE strategies within the apply_v2()
-** call.
-**
-** The format used for a rebase blob is very similar to that used for
-** changesets. All entries related to a single table are grouped together.
-**
-** Each group of entries begins with a table header in changeset format:
-**
-** 1 byte: Constant 0x54 (capital 'T')
-** Varint: Number of columns in the table.
-** nCol bytes: 0x01 for PK columns, 0x00 otherwise.
-** N bytes: Unqualified table name (encoded using UTF-8). Nul-terminated.
-**
-** Followed by one or more entries associated with the table.
-**
-** 1 byte: Either SQLITE_INSERT (0x12), DELETE (0x09).
-** 1 byte: Flag. 0x01 for REPLACE, 0x00 for OMIT.
-** record: (in the record format defined above).
-**
-** In a rebase blob, the first field is set to SQLITE_INSERT if the change
-** that caused the conflict was an INSERT or UPDATE, or to SQLITE_DELETE if
-** it was a DELETE. The second field is set to 0x01 if the conflict
-** resolution strategy was REPLACE, or 0x00 if it was OMIT.
-**
-** If the change that caused the conflict was a DELETE, then the single
-** record is a copy of the old.* record from the original changeset. If it
-** was an INSERT, then the single record is a copy of the new.* record. If
-** the conflicting change was an UPDATE, then the single record is a copy
-** of the new.* record with the PK fields filled in based on the original
-** old.* record.
- */
-
-/*
-** For each row modified during a session, there exists a single instance of
-** this structure stored in a SessionTable.aChange[] hash table.
- */
-type TSessionChange1 = struct {
- Fop Tu8
- FbIndirect Tu8
- FnRecordField Tu16
- FnMaxSize int32
- FnRecord int32
- FaRecord uintptr
- FpNext uintptr
-}
-
-type SessionChange1 = TSessionChange1
-
// C documentation
//
// /*
@@ -198683,13 +191202,6 @@ type TSessionStat1Ctx = struct {
type SessionStat1Ctx = TSessionStat1Ctx
-type TSessionStat1Ctx1 = struct {
- Fhook TSessionHook
- FpSession uintptr
-}
-
-type SessionStat1Ctx1 = TSessionStat1Ctx1
-
func _sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
@@ -199181,14 +191693,6 @@ type TSessionDiffCtx = struct {
type SessionDiffCtx = TSessionDiffCtx
-type TSessionDiffCtx1 = struct {
- FpStmt uintptr
- FbRowid int32
- FnOldOff int32
-}
-
-type SessionDiffCtx1 = TSessionDiffCtx1
-
// C documentation
//
// /*
@@ -199696,15 +192200,17 @@ func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) {
Xsqlite3_free(tls, pSession)
}
+type t__ccgo_fp__Xsqlite3session_table_filter_1 = func(*libc.TLS, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Set a table filter on a Session Object.
// */
-func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) {
+func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, __ccgo_fp_xFilter uintptr, pCtx uintptr) {
(*Tsqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = int32(1)
(*Tsqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx
- (*Tsqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter
+ (*Tsqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = __ccgo_fp_xFilter
}
// C documentation
@@ -200326,7 +192832,7 @@ func _sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab u
// ** occurs, an SQLite error code is returned and both output variables set
// ** to 0.
// */
-func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) (r int32) {
+func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, __ccgo_fp_xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var db, p, pTab, zName uintptr
@@ -200340,7 +192846,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
/* Zero the output variables in case an error occurs. If this session
** object is already in the error state (sqlite3_session.rc != SQLITE_OK),
** this call will be a no-op. */
- if xOutput == uintptr(0) {
+ if __ccgo_fp_xOutput == uintptr(0) {
*(*int32)(unsafe.Pointer(pnChangeset)) = 0
*(*uintptr)(unsafe.Pointer(ppChangeset)) = uintptr(0)
}
@@ -200416,8 +192922,8 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
}
/* If the buffer is now larger than sessions_strm_chunk_size, pass
** its contents to the xOutput() callback. */
- if xOutput != 0 && *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > nNoop && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp + 16)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
+ if __ccgo_fp_xOutput != 0 && *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > nNoop && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp + 16)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
nNoop = -int32(1)
(*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf = 0
}
@@ -200442,13 +192948,13 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext
}
if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
- if xOutput == uintptr(0) {
+ if __ccgo_fp_xOutput == uintptr(0) {
*(*int32)(unsafe.Pointer(pnChangeset)) = (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf
*(*uintptr)(unsafe.Pointer(ppChangeset)) = (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf
(*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf = uintptr(0)
} else {
if (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > 0 {
- *(*int32)(unsafe.Pointer(bp + 16)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
+ *(*int32)(unsafe.Pointer(bp + 16)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
}
}
}
@@ -200477,28 +192983,32 @@ func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uint
return rc
}
+type t__ccgo_fp__Xsqlite3session_changeset_strm_1 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3session_changeset().
// */
-func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) (r int32) {
- if xOutput == uintptr(0) {
+func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
+ if __ccgo_fp_xOutput == uintptr(0) {
return int32(SQLITE_MISUSE)
}
- return _sessionGenerateChangeset(tls, pSession, 0, xOutput, pOut, uintptr(0), uintptr(0))
+ return _sessionGenerateChangeset(tls, pSession, 0, __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
}
+type t__ccgo_fp__Xsqlite3session_patchset_strm_1 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3session_patchset().
// */
-func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) (r int32) {
- if xOutput == uintptr(0) {
+func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
+ if __ccgo_fp_xOutput == uintptr(0) {
return int32(SQLITE_MISUSE)
}
- return _sessionGenerateChangeset(tls, pSession, int32(1), xOutput, pOut, uintptr(0), uintptr(0))
+ return _sessionGenerateChangeset(tls, pSession, int32(1), __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
}
// C documentation
@@ -200637,7 +193147,7 @@ func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) (r Tsqlite3
// /*
// ** Do the work for either sqlite3changeset_start() or start_strm().
// */
-func _sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) (r int32) {
+func _sessionChangesetStart(tls *libc.TLS, pp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) (r int32) {
var nByte, v1 int32
var pRet uintptr
_, _, _ = nByte, pRet, v1 /* Number of bytes to allocate for iterator */
@@ -200652,9 +193162,9 @@ func _sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintp
libc.X__builtin___memset_chk(tls, pRet, 0, uint64(152), ^t__predefined_size_t(0))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FaData = pChangeset
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FnData = nChangeset
- (*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = xInput
+ (*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = __ccgo_fp_xInput
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FpIn = pIn
- if xInput != 0 {
+ if __ccgo_fp_xInput != 0 {
v1 = 0
} else {
v1 = int32(1)
@@ -200683,20 +193193,24 @@ func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pCh
return _sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0)
}
+type t__ccgo_fp__Xsqlite3changeset_start_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3changeset_start().
// */
-func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) (r int32) {
- return _sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0)
+func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr) (r int32) {
+ return _sessionChangesetStart(tls, pp, __ccgo_fp_xInput, pIn, 0, uintptr(0), 0, 0)
}
-func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) (r int32) {
+type t__ccgo_fp__Xsqlite3changeset_start_v2_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, flags int32) (r int32) {
var bInvert int32
_ = bInvert
bInvert = libc.BoolInt32(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETSTART_INVERT) != 0))
- return _sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0)
+ return _sessionChangesetStart(tls, pp, __ccgo_fp_xInput, pIn, 0, uintptr(0), bInvert, 0)
}
// C documentation
@@ -200871,7 +193385,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap
rc = _sessionInputBuffer(tls, pIn, int32(9))
if rc == SQLITE_OK {
if (*TSessionInput)(unsafe.Pointer(pIn)).FiNext >= (*TSessionInput)(unsafe.Pointer(pIn)).FnData {
- rc = _sqlite3CorruptError(tls, int32(231641))
+ rc = _sqlite3CorruptError(tls, int32(231668))
} else {
v3 = pIn + 8
v2 = *(*int32)(unsafe.Pointer(v3))
@@ -200895,7 +193409,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap
rc = _sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
if rc == SQLITE_OK {
if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext {
- rc = _sqlite3CorruptError(tls, int32(231661))
+ rc = _sqlite3CorruptError(tls, int32(231688))
} else {
if eType == int32(SQLITE_TEXT) {
v4 = int32(SQLITE_UTF8)
@@ -200910,7 +193424,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap
}
if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) {
if (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext < int32(8) {
- rc = _sqlite3CorruptError(tls, int32(231671))
+ rc = _sqlite3CorruptError(tls, int32(231698))
} else {
*(*Tsqlite3_int64)(unsafe.Pointer(bp + 8)) = _sessionGetI64(tls, aVal)
if eType == int32(SQLITE_INTEGER) {
@@ -200966,7 +193480,7 @@ func _sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) (
** large value for nCol may cause nRead to wrap around and become
** negative. Leading to a crash. */
if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > int32(65536) {
- rc = _sqlite3CorruptError(tls, int32(231719))
+ rc = _sqlite3CorruptError(tls, int32(231746))
} else {
rc = _sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+int32(100))
nRead += *(*int32)(unsafe.Pointer(bp))
@@ -201071,7 +193585,7 @@ func _sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) (r int32) {
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
_sessionBufferGrow(tls, p+72, int64(nByte), bp)
} else {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(231807))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(231834))
}
}
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
@@ -201177,7 +193691,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin
if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
/* The first record in the changeset is not a table header. Must be a
** corrupt changeset. */
- v7 = _sqlite3CorruptError(tls, int32(231893))
+ v7 = _sqlite3CorruptError(tls, int32(231920))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v7
return v7
}
@@ -201187,7 +193701,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin
*(*int32)(unsafe.Pointer(v9))++
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(v8))))
if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_DELETE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_INSERT) {
- v10 = _sqlite3CorruptError(tls, int32(231899))
+ v10 = _sqlite3CorruptError(tls, int32(231926))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v10
return v10
}
@@ -201266,7 +193780,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin
if *(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
*(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8))
if *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) {
- v16 = _sqlite3CorruptError(tls, int32(231943))
+ v16 = _sqlite3CorruptError(tls, int32(231970))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v16
return v16
}
@@ -201527,7 +194041,7 @@ func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) (r int32) {
return rc
}
-func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) (r int32) {
+func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) (r int32) {
bp := tls.Alloc(64)
defer tls.Free(64)
var abPK, apVal, pVal, pVal1, v7 uintptr
@@ -201676,11 +194190,11 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu
goto finished_invert
}
default:
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(232308))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(232335))
goto finished_invert
}
- if xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
+ if __ccgo_fp_xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
(*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf = 0
if *(*int32)(unsafe.Pointer(bp)) != SQLITE_OK {
goto finished_invert
@@ -201692,8 +194206,8 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu
*(*uintptr)(unsafe.Pointer(ppInverted)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf
(*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf = uintptr(0)
} else {
- if (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf > 0 && xOutput != uintptr(0) {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
+ if (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf > 0 && __ccgo_fp_xOutput != uintptr(0) {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
}
}
goto finished_invert
@@ -201721,12 +194235,16 @@ func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintpt
return _sessionChangesetInvert(tls, bp, uintptr(0), uintptr(0), pnInverted, ppInverted)
}
+type t__ccgo_fp__Xsqlite3changeset_invert_strm_0 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_invert_strm_2 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3changeset_invert().
// */
-func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) (r int32) {
+func Xsqlite3changeset_invert_strm(tls *libc.TLS, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
bp := tls.Alloc(80)
defer tls.Free(80)
var rc int32
@@ -201734,9 +194252,9 @@ func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, x
_ = rc
/* Set up the input stream */
libc.X__builtin___memset_chk(tls, bp, 0, uint64(72), ^t__predefined_size_t(0))
- (*(*TSessionInput)(unsafe.Pointer(bp))).FxInput = xInput
+ (*(*TSessionInput)(unsafe.Pointer(bp))).FxInput = __ccgo_fp_xInput
(*(*TSessionInput)(unsafe.Pointer(bp))).FpIn = pIn
- rc = _sessionChangesetInvert(tls, bp, xOutput, pOut, uintptr(0), uintptr(0))
+ rc = _sessionChangesetInvert(tls, bp, __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
Xsqlite3_free(tls, (*(*TSessionInput)(unsafe.Pointer(bp))).Fbuf.FaBuf)
return rc
}
@@ -201749,14 +194267,6 @@ type TSessionUpdate = struct {
type SessionUpdate = TSessionUpdate
-type TSessionUpdate1 = struct {
- FpStmt uintptr
- FaMask uintptr
- FpNext uintptr
-}
-
-type SessionUpdate1 = TSessionUpdate1
-
type TSessionApplyCtx = struct {
Fdb uintptr
FpDelete uintptr
@@ -201780,29 +194290,6 @@ type TSessionApplyCtx = struct {
type SessionApplyCtx = TSessionApplyCtx
-type TSessionApplyCtx1 = struct {
- Fdb uintptr
- FpDelete uintptr
- FpInsert uintptr
- FpSelect uintptr
- FnCol int32
- FazCol uintptr
- FabPK uintptr
- FaUpdateMask uintptr
- FpUp uintptr
- FbStat1 int32
- FbDeferConstraints int32
- FbInvertConstraints int32
- Fconstraints TSessionBuffer
- Frebase TSessionBuffer
- FbRebaseStarted Tu8
- FbRebase Tu8
- FbIgnoreNoop Tu8
- FbRowid int32
-}
-
-type SessionApplyCtx1 = TSessionApplyCtx1
-
/* Number of prepared UPDATE statements to cache. */
// C documentation
@@ -202206,7 +194693,7 @@ func _sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) (r i
// **
// ** An SQLite error code is returned if an error occurs. Otherwise, SQLITE_OK.
// */
-func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) (r int32) {
+func _sessionBindRow(tls *libc.TLS, pIter uintptr, __ccgo_fp_xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var i, rc int32
@@ -202224,11 +194711,11 @@ func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, a
}
if !(abPK != 0) || *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
- (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xValue})))(tls, pIter, i, bp)
+ (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xValue})))(tls, pIter, i, bp)
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
/* The value in the changeset was "undefined". This indicates a
** corrupt changeset blob. */
- rc = _sqlite3CorruptError(tls, int32(232790))
+ rc = _sqlite3CorruptError(tls, int32(232817))
} else {
rc = _sessionBindValue(tls, pStmt, i+int32(1), *(*uintptr)(unsafe.Pointer(bp)))
}
@@ -202405,7 +194892,7 @@ func _sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) (r
// ** SQLITE_MISUSE. If the conflict handler returns SQLITE_CHANGESET_OMIT,
// ** this function returns SQLITE_OK.
// */
-func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) (r int32) {
+func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, pbReplace uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var aBlob uintptr
@@ -202429,7 +194916,7 @@ func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintpt
res = SQLITE_CHANGESET_OMIT
} else {
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*TSessionApplyCtx)(unsafe.Pointer(p)).FpSelect
- res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConflict})))(tls, pCtx, eType, pIter)
+ res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConflict})))(tls, pCtx, eType, pIter)
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0)
}
*(*int32)(unsafe.Pointer(bp)) = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpSelect)
@@ -202444,7 +194931,7 @@ func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintpt
return SQLITE_OK
} else {
/* No other row with the new.* primary key. */
- res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConflict})))(tls, pCtx, eType+int32(1), pIter)
+ res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConflict})))(tls, pCtx, eType+int32(1), pIter)
if res == int32(SQLITE_CHANGESET_REPLACE) {
*(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_MISUSE)
}
@@ -202495,7 +194982,7 @@ func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintpt
// ** returns SQLITE_ABORT. Otherwise, if no error occurs, SQLITE_OK is
// ** returned.
// */
-func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) (r int32) {
+func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var abPK, pNew, pOld, v1 uintptr
@@ -202535,10 +195022,10 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
Xsqlite3_step(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpDelete)
rc = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpDelete)
if rc == SQLITE_OK && Xsqlite3_changes(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0 && libc.Int32FromUint8((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop) == 0 {
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, xConflict, pCtx, pbRetry)
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, __ccgo_fp_xConflict, pCtx, pbRetry)
} else {
if rc&int32(0xff) == int32(SQLITE_CONSTRAINT) {
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, xConflict, pCtx, uintptr(0))
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, __ccgo_fp_xConflict, pCtx, uintptr(0))
}
}
} else {
@@ -202576,11 +195063,11 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
/* A NOTFOUND or DATA error. Search the table to see if it contains
** a row with a matching primary key. If so, this is a DATA conflict.
** Otherwise, if there is no primary key match, it is a NOTFOUND. */
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, xConflict, pCtx, pbRetry)
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, __ccgo_fp_xConflict, pCtx, pbRetry)
} else {
if rc&int32(0xff) == int32(SQLITE_CONSTRAINT) {
/* This is always a CONSTRAINT conflict. */
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, xConflict, pCtx, uintptr(0))
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, __ccgo_fp_xConflict, pCtx, uintptr(0))
}
}
} else {
@@ -202603,7 +195090,7 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
rc = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpInsert)
}
if rc&int32(0xff) == int32(SQLITE_CONSTRAINT) {
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, xConflict, pCtx, pbReplace)
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, __ccgo_fp_xConflict, pCtx, pbReplace)
}
}
}
@@ -202622,7 +195109,7 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
// ** returns SQLITE_CHANGESET_REPLACE - indicating that the change should be
// ** retried in some manner.
// */
-func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
+func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
@@ -202631,7 +195118,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
_ = rc
*(*int32)(unsafe.Pointer(bp)) = 0
*(*int32)(unsafe.Pointer(bp + 4)) = 0
- rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, bp, bp+4)
+ rc = _sessionApplyOneOp(tls, pIter, pApply, __ccgo_fp_xConflict, pCtx, bp, bp+4)
if rc == SQLITE_OK {
/* If the bRetry flag is set, the change has not been applied due to an
** SQLITE_CHANGESET_DATA problem (i.e. this is an UPDATE or DELETE and
@@ -202641,7 +195128,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
** but pass NULL as the final argument so that sessionApplyOneOp() ignores
** the SQLITE_CHANGESET_DATA problem. */
if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
- rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
+ rc = _sessionApplyOneOp(tls, pIter, pApply, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0))
} else {
if *(*int32)(unsafe.Pointer(bp)) != 0 {
rc = Xsqlite3_exec(tls, db, __ccgo_ts+35168, uintptr(0), uintptr(0), uintptr(0))
@@ -202654,7 +195141,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
rc = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete)
}
if rc == SQLITE_OK {
- rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
+ rc = _sessionApplyOneOp(tls, pIter, pApply, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0))
}
if rc == SQLITE_OK {
rc = Xsqlite3_exec(tls, db, __ccgo_ts+35189, uintptr(0), uintptr(0), uintptr(0))
@@ -202670,7 +195157,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
// /*
// ** Retry the changes accumulated in the pApply->constraints buffer.
// */
-func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
+func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var cons TSessionBuffer
@@ -202697,7 +195184,7 @@ func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab u
libc.X__builtin___memset_chk(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).FapValue, 0, nByte, ^t__predefined_size_t(0))
}
for *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
- *(*int32)(unsafe.Pointer(bp)) = _sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8)), pApply, xConflict, pCtx)
+ *(*int32)(unsafe.Pointer(bp)) = _sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8)), pApply, __ccgo_fp_xConflict, pCtx)
}
rc2 = Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
@@ -202725,7 +195212,7 @@ func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab u
// ** conflict handler callback is invoked to resolve any conflicts encountered
// ** while applying the change.
// */
-func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
+func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
bp := tls.Alloc(352)
defer tls.Free(352)
var bPatchset, i, nMinCol, nTab, rc, rc2, res, schemaMismatch, v2, v3, v4, v6 int32
@@ -202765,7 +195252,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, pIter) {
Xsqlite3changeset_op(tls, pIter, bp+144, bp+136, bp+140, uintptr(0))
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) || Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 144)), *(*uintptr)(unsafe.Pointer(bp)), nTab+int32(1)) != 0 {
- rc = _sessionRetryConstraints(tls, db, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+8, xConflict, pCtx)
+ rc = _sessionRetryConstraints(tls, db, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+8, __ccgo_fp_xConflict, pCtx)
if rc != SQLITE_OK {
break
}
@@ -202789,7 +195276,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
/* If an xFilter() callback was specified, invoke it now. If the
** xFilter callback returns zero, skip this table. If it returns
** non-zero, proceed. */
- schemaMismatch = libc.BoolInt32(xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144))))
+ schemaMismatch = libc.BoolInt32(__ccgo_fp_xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144))))
if schemaMismatch != 0 {
*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3890, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144))))
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
@@ -202865,7 +195352,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
if schemaMismatch != 0 {
continue
}
- rc = _sessionApplyOneWithRetry(tls, db, pIter, bp+8, xConflict, pCtx)
+ rc = _sessionApplyOneWithRetry(tls, db, pIter, bp+8, __ccgo_fp_xConflict, pCtx)
}
bPatchset = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset
if rc == SQLITE_OK {
@@ -202874,7 +195361,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
Xsqlite3changeset_finalize(tls, pIter)
}
if rc == SQLITE_OK {
- rc = _sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+8, xConflict, pCtx)
+ rc = _sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+8, __ccgo_fp_xConflict, pCtx)
}
if rc == SQLITE_OK {
Xsqlite3_db_status(tls, db, int32(SQLITE_DBSTATUS_DEFERRED_FKS), bp+160, bp+164, 0)
@@ -202882,7 +195369,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
res = int32(SQLITE_CHANGESET_ABORT)
libc.X__builtin___memset_chk(tls, bp+168, 0, uint64(152), ^t__predefined_size_t(0))
(*(*Tsqlite3_changeset_iter)(unsafe.Pointer(bp + 168))).FnCol = *(*int32)(unsafe.Pointer(bp + 160))
- res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConflict})))(tls, pCtx, int32(SQLITE_CHANGESET_FOREIGN_KEY), bp+168)
+ res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConflict})))(tls, pCtx, int32(SQLITE_CHANGESET_FOREIGN_KEY), bp+168)
if res != SQLITE_CHANGESET_OMIT {
rc = int32(SQLITE_CONSTRAINT)
}
@@ -202921,13 +195408,17 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
return rc
}
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
// ** Apply the changeset passed via pChangeset/nChangeset to the main
// ** database attached to handle "db".
// */
-func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
+func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var bInv, rc int32
@@ -202936,11 +195427,15 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh
bInv = libc.BoolInt32(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_INVERT) != 0))
rc = _sessionChangesetStart(tls, bp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInv, int32(1))
if rc == SQLITE_OK {
- rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags)
+ rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, ppRebase, pnRebase, flags)
}
return rc
}
+type t__ccgo_fp__Xsqlite3changeset_apply_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
@@ -202948,10 +195443,16 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh
// ** attached to handle "db". Invoke the supplied conflict handler callback
// ** to resolve any conflicts encountered while applying the change.
// */
-func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
- return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0)
+func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
+ return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0), 0)
}
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_strm_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_strm_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
@@ -202959,37 +195460,29 @@ func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChang
// ** attached to handle "db". Invoke the supplied conflict handler callback
// ** to resolve any conflicts encountered while applying the change.
// */
-func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
+func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var bInverse, rc int32
var _ /* pIter at bp+0 */ uintptr
_, _ = bInverse, rc /* Iterator to skip through changeset */
bInverse = libc.BoolInt32(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_INVERT) != 0))
- rc = _sessionChangesetStart(tls, bp, xInput, pIn, 0, uintptr(0), bInverse, int32(1))
+ rc = _sessionChangesetStart(tls, bp, __ccgo_fp_xInput, pIn, 0, uintptr(0), bInverse, int32(1))
if rc == SQLITE_OK {
- rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags)
+ rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, ppRebase, pnRebase, flags)
}
return rc
}
-func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
- return Xsqlite3changeset_apply_v2_strm(tls, db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0)
-}
+type t__ccgo_fp__Xsqlite3changeset_apply_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
-/*
-** sqlite3_changegroup handle.
- */
-type Tsqlite3_changegroup1 = struct {
- Frc int32
- FbPatch int32
- FpList uintptr
- Frec TSessionBuffer
- Fdb uintptr
- FzDb uintptr
-}
+type t__ccgo_fp__Xsqlite3changeset_apply_strm_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_strm_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
-type sqlite3_changegroup1 = Tsqlite3_changegroup1
+func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
+ return Xsqlite3changeset_apply_v2_strm(tls, db, __ccgo_fp_xInput, pIn, __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0), 0)
+}
// C documentation
//
@@ -203565,7 +196058,7 @@ func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase
// ** error code. If an error occurs and xOutput is NULL, (*ppOut) and (*pnOut)
// ** are both set to 0 before returning.
// */
-func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
+func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var i int32
@@ -203600,8 +196093,8 @@ func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOu
_sessionAppendByte(tls, bp+8, (*TSessionChange)(unsafe.Pointer(p)).Fop, bp)
_sessionAppendByte(tls, bp+8, (*TSessionChange)(unsafe.Pointer(p)).FbIndirect, bp)
_sessionAppendBlob(tls, bp+8, (*TSessionChange)(unsafe.Pointer(p)).FaRecord, (*TSessionChange)(unsafe.Pointer(p)).FnRecord, bp)
- if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
+ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && __ccgo_fp_xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
(*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf = 0
}
goto _3
@@ -203620,9 +196113,9 @@ func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOu
pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext
}
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
- if xOutput != 0 {
+ if __ccgo_fp_xOutput != 0 {
if (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf > 0 {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
}
} else {
if ppOut != 0 {
@@ -203733,18 +196226,20 @@ func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppD
return _sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData)
}
+type t__ccgo_fp__Xsqlite3changegroup_add_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Streaming versions of changegroup_add().
// */
-func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) (r int32) {
+func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
var _ /* pIter at bp+0 */ uintptr
_ = rc /* Return code */
- rc = Xsqlite3changeset_start_strm(tls, bp, xInput, pIn)
+ rc = Xsqlite3changeset_start_strm(tls, bp, __ccgo_fp_xInput, pIn)
if rc == SQLITE_OK {
rc = _sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp)), pGrp, 0)
}
@@ -203752,13 +196247,15 @@ func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, p
return rc
}
+type t__ccgo_fp__Xsqlite3changegroup_output_strm_1 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming versions of changegroup_output().
// */
-func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) (r int32) {
- return _sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0))
+func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
+ return _sessionChangegroupOutput(tls, pGrp, __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
}
// C documentation
@@ -203800,12 +196297,18 @@ func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight
return rc
}
+type t__ccgo_fp__Xsqlite3changeset_concat_strm_0 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_concat_strm_2 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_concat_strm_4 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3changeset_concat().
// */
-func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) (r int32) {
+func Xsqlite3changeset_concat_strm(tls *libc.TLS, __ccgo_fp_xInputA uintptr, pInA uintptr, __ccgo_fp_xInputB uintptr, pInB uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
@@ -203813,27 +196316,18 @@ func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr,
_ = rc
rc = Xsqlite3changegroup_new(tls, bp)
if rc == SQLITE_OK {
- rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), xInputA, pInA)
+ rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xInputA, pInA)
}
if rc == SQLITE_OK {
- rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), xInputB, pInB)
+ rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xInputB, pInB)
}
if rc == SQLITE_OK {
- rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), xOutput, pOut)
+ rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xOutput, pOut)
}
Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp)))
return rc
}
-/*
-** Changeset rebaser handle.
- */
-type Tsqlite3_rebaser1 = struct {
- Fgrp Tsqlite3_changegroup
-}
-
-type sqlite3_rebaser1 = Tsqlite3_rebaser1
-
// C documentation
//
// /*
@@ -203988,7 +196482,7 @@ func _sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRe
// ** pnOut are not NULL, then the two output parameters are set to 0 before
// ** returning.
// */
-func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
+func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
bp := tls.Alloc(48)
defer tls.Free(48)
var bDone, iHash, v2 int32
@@ -204096,8 +196590,8 @@ func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pO
_sessionAppendByte(tls, bp+24, libc.Uint8FromInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp)
_sessionAppendBlob(tls, bp+24, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*int32)(unsafe.Pointer(bp + 16)), bp)
}
- if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf > _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf)
+ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && __ccgo_fp_xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf > _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf)
(*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf = 0
}
if *(*int32)(unsafe.Pointer(bp)) != 0 {
@@ -204109,9 +196603,9 @@ func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pO
libc.X__builtin___memset_chk(tls, bp+24, 0, uint64(16), ^t__predefined_size_t(0))
}
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
- if xOutput != 0 {
+ if __ccgo_fp_xOutput != 0 {
if (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf > 0 {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf)
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf)
}
} else {
if ppOut != 0 {
@@ -204185,21 +196679,25 @@ func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pn
return rc
}
+type t__ccgo_fp__Xsqlite3rebaser_rebase_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3rebaser_rebase_strm_3 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Rebase a changeset according to current rebaser configuration
// */
-func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) (r int32) {
+func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
var _ /* pIter at bp+0 */ uintptr
_ = rc
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Iterator to skip through input */
- rc = Xsqlite3changeset_start_strm(tls, bp, xInput, pIn)
+ rc = Xsqlite3changeset_start_strm(tls, bp, __ccgo_fp_xInput, pIn)
if rc == SQLITE_OK {
- rc = _sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp)), xOutput, pOut, uintptr(0), uintptr(0))
+ rc = _sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp)))
}
return rc
@@ -204356,18 +196854,6 @@ type TFts5Colset = struct {
type Fts5Colset = TFts5Colset
-/* If a NEAR() clump or phrase may only match a specific set of columns,
-** then an object of the following type is used to record the set of columns.
-** Each entry in the aiCol[] array is a column that may be matched.
-**
-** This object is used by fts5_expr.c and fts5_index.c.
- */
-type TFts5Colset1 = struct {
- FnCol int32
-}
-
-type Fts5Colset1 = TFts5Colset1
-
/* Size (int bytes) of a complete Fts5Colset object with N columns. */
/**************************************************************************
@@ -204427,99 +196913,6 @@ type TFts5TokenizerConfig = struct {
type Fts5TokenizerConfig = TFts5TokenizerConfig
-type TFts5TokenizerConfig1 = struct {
- FpTok uintptr
- FpApi2 uintptr
- FpApi1 uintptr
- FazArg uintptr
- FnArg int32
- FePattern int32
- FpLocale uintptr
- FnLocale int32
-}
-
-type Fts5TokenizerConfig1 = TFts5TokenizerConfig1
-
-/*
-** An instance of the following structure encodes all information that can
-** be gleaned from the CREATE VIRTUAL TABLE statement.
-**
-** And all information loaded from the %_config table.
-**
-** nAutomerge:
-** The minimum number of segments that an auto-merge operation should
-** attempt to merge together. A value of 1 sets the object to use the
-** compile time default. Zero disables auto-merge altogether.
-**
-** bContentlessDelete:
-** True if the contentless_delete option was present in the CREATE
-** VIRTUAL TABLE statement.
-**
-** zContent:
-**
-** zContentRowid:
-** The value of the content_rowid= option, if one was specified. Or
-** the string "rowid" otherwise. This text is not quoted - if it is
-** used as part of an SQL statement it needs to be quoted appropriately.
-**
-** zContentExprlist:
-**
-** pzErrmsg:
-** This exists in order to allow the fts5_index.c module to return a
-** decent error message if it encounters a file-format version it does
-** not understand.
-**
-** bColumnsize:
-** True if the %_docsize table is created.
-**
-** bPrefixIndex:
-** This is only used for debugging. If set to false, any prefix indexes
-** are ignored. This value is configured using:
-**
-** INSERT INTO tbl(tbl, rank) VALUES('prefix-index', $bPrefixIndex);
-**
-** bLocale:
-** Set to true if locale=1 was specified when the table was created.
- */
-type TFts5Config1 = struct {
- Fdb uintptr
- FpGlobal uintptr
- FzDb uintptr
- FzName uintptr
- FnCol int32
- FazCol uintptr
- FabUnindexed uintptr
- FnPrefix int32
- FaPrefix uintptr
- FeContent int32
- FbContentlessDelete int32
- FbContentlessUnindexed int32
- FzContent uintptr
- FzContentRowid uintptr
- FbColumnsize int32
- FbTokendata int32
- FbLocale int32
- FeDetail int32
- FzContentExprlist uintptr
- Ft TFts5TokenizerConfig
- FbLock int32
- FiVersion int32
- FiCookie int32
- Fpgsz int32
- FnAutomerge int32
- FnCrisisMerge int32
- FnUsermerge int32
- FnHashSize int32
- FzRank uintptr
- FzRankArgs uintptr
- FbSecureDelete int32
- FnDeleteMerge int32
- FbPrefixInsttoken int32
- FpzErrmsg uintptr
-}
-
-type Fts5Config1 = TFts5Config1
-
/*
** End of interface to code in fts5_config.c.
**************************************************************************/
@@ -204541,14 +196934,6 @@ type TFts5Buffer = struct {
type Fts5Buffer = TFts5Buffer
-type TFts5Buffer1 = struct {
- Fp uintptr
- Fn int32
- FnSpace int32
-}
-
-type Fts5Buffer1 = TFts5Buffer1
-
type TFts5PoslistReader = struct {
Fa uintptr
Fn int32
@@ -204560,29 +196945,12 @@ type TFts5PoslistReader = struct {
type Fts5PoslistReader = TFts5PoslistReader
-type TFts5PoslistReader1 = struct {
- Fa uintptr
- Fn int32
- Fi int32
- FbFlag Tu8
- FbEof Tu8
- FiPos Ti64
-}
-
-type Fts5PoslistReader1 = TFts5PoslistReader1
-
type TFts5PoslistWriter = struct {
FiPrev Ti64
}
type Fts5PoslistWriter = TFts5PoslistWriter
-type TFts5PoslistWriter1 = struct {
- FiPrev Ti64
-}
-
-type Fts5PoslistWriter1 = TFts5PoslistWriter1
-
// C documentation
//
// /* Bucket of terms object used by the integrity-check in offsets=0 mode. */
@@ -204638,15 +197006,6 @@ type TFts5IndexIter = struct {
type Fts5IndexIter = TFts5IndexIter
-type TFts5IndexIter1 = struct {
- FiRowid Ti64
- FpData uintptr
- FnData int32
- FbEof Tu8
-}
-
-type Fts5IndexIter1 = TFts5IndexIter1
-
/*
** End of interface to code in fts5_varint.c.
**************************************************************************/
@@ -204668,14 +197027,6 @@ type TFts5Table = struct {
type Fts5Table = TFts5Table
-type TFts5Table1 = struct {
- Fbase Tsqlite3_vtab
- FpConfig uintptr
- FpIndex uintptr
-}
-
-type Fts5Table1 = TFts5Table1
-
/*
** End of interface to code in fts5.c.
**************************************************************************/
@@ -204785,13 +197136,6 @@ type TFts5ExprNearset = struct {
type Fts5ExprNearset = TFts5ExprNearset
-type TFts5Token1 = struct {
- Fp uintptr
- Fn int32
-}
-
-type Fts5Token1 = TFts5Token1
-
type TFts5PoslistPopulator = struct {
Fwriter TFts5PoslistWriter
FbOk int32
@@ -205358,14 +197702,6 @@ var _fts5yy_default = [35]uint8{
** actually contains the reduce action for the second half of the
** SHIFTREDUCE.
*/
-type Tfts5yyStackEntry1 = struct {
- Fstateno uint8
- Fmajor uint8
- Fminor Tfts5YYMINORTYPE
-}
-
-type fts5yyStackEntry1 = Tfts5yyStackEntry1
-
type Tfts5yyStackEntry = struct {
Fstateno uint8
Fmajor uint8
@@ -205376,16 +197712,6 @@ type fts5yyStackEntry = Tfts5yyStackEntry
/* The state of the parser is completely contained in an instance of
** the following structure */
-type Tfts5yyParser1 = struct {
- Ffts5yytos uintptr
- FpParse uintptr
- Ffts5yystackEnd uintptr
- Ffts5yystack uintptr
- Ffts5yystk0 [100]Tfts5yyStackEntry
-}
-
-type fts5yyParser1 = Tfts5yyParser1
-
type Tfts5yyParser = struct {
Ffts5yytos uintptr
FpParse uintptr
@@ -205437,10 +197763,10 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) {
// ** A pointer to a parser. This pointer is used in subsequent calls
// ** to sqlite3Fts5Parser and sqlite3Fts5ParserFree.
// */
-func _sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) (r uintptr) {
+func _sqlite3Fts5ParserAlloc(tls *libc.TLS, __ccgo_fp_mallocProc uintptr) (r uintptr) {
var fts5yypParser uintptr
_ = fts5yypParser
- fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2432))
+ fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_mallocProc})))(tls, libc.Uint64FromInt64(2432))
if fts5yypParser != 0 {
_sqlite3Fts5ParserInit(tls, fts5yypParser)
}
@@ -205546,12 +197872,12 @@ func _sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) {
// ** is defined in a %include section of the input grammar) then it is
// ** assumed that the input pointer is never NULL.
// */
-func _sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) {
+func _sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, __ccgo_fp_freeProc uintptr) {
if p == uintptr(0) {
return
}
_sqlite3Fts5ParserFinalize(tls, p)
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{freeProc})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_freeProc})))(tls, p)
}
/*
@@ -206159,18 +198485,6 @@ type TCInstIter = struct {
type CInstIter = TCInstIter
-type TCInstIter1 = struct {
- FpApi uintptr
- FpFts uintptr
- FiCol int32
- FiInst int32
- FnInst int32
- FiStart int32
- FiEnd int32
-}
-
-type CInstIter1 = TCInstIter1
-
// C documentation
//
// /*
@@ -206253,22 +198567,6 @@ type THighlightContext = struct {
type HighlightContext = THighlightContext
-type THighlightContext1 = struct {
- FiRangeStart int32
- FiRangeEnd int32
- FzOpen uintptr
- FzClose uintptr
- FzIn uintptr
- FnIn int32
- Fiter TCInstIter
- FiPos int32
- FiOff int32
- FbOpen int32
- FzOut uintptr
-}
-
-type HighlightContext1 = THighlightContext1
-
// C documentation
//
// /*
@@ -206446,16 +198744,6 @@ type TFts5SFinder = struct {
type Fts5SFinder = TFts5SFinder
-type TFts5SFinder1 = struct {
- FiPos int32
- FnFirstAlloc int32
- FnFirst int32
- FaFirst uintptr
- FzDoc uintptr
-}
-
-type Fts5SFinder1 = TFts5SFinder1
-
// C documentation
//
// /*
@@ -206823,15 +199111,6 @@ type TFts5Bm25Data = struct {
type Fts5Bm25Data = TFts5Bm25Data
-type TFts5Bm25Data1 = struct {
- FnPhrase int32
- Favgdl float64
- FaIDF uintptr
- FaFreq uintptr
-}
-
-type Fts5Bm25Data1 = TFts5Bm25Data1
-
// C documentation
//
// /*
@@ -207562,21 +199841,6 @@ type TFts5TermsetEntry = struct {
type Fts5TermsetEntry = TFts5TermsetEntry
-type TFts5TermsetEntry1 = struct {
- FpTerm uintptr
- FnTerm int32
- FiIdx int32
- FpNext uintptr
-}
-
-type Fts5TermsetEntry1 = TFts5TermsetEntry1
-
-type TFts5Termset1 = struct {
- FapHash [512]uintptr
-}
-
-type Fts5Termset1 = TFts5Termset1
-
func _sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
@@ -207885,13 +200149,6 @@ func _sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) {
}
}
-type TFts5Enum1 = struct {
- FzName uintptr
- FeVal int32
-}
-
-type Fts5Enum1 = TFts5Enum1
-
type TFts5Enum = struct {
FzName uintptr
FeVal int32
@@ -208547,7 +200804,7 @@ func _sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) (r int32) {
// ** because the callback returned another non-zero value, it is assumed
// ** to be an SQLite error code and returned to the caller.
// */
-func _sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, xToken uintptr) (r int32) {
+func _sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, __ccgo_fp_xToken uintptr) (r int32) {
var rc int32
_ = rc
rc = SQLITE_OK
@@ -208557,9 +200814,9 @@ func _sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uin
}
if rc == SQLITE_OK {
if (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi1 != 0 {
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi1)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, xToken)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi1)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, __ccgo_fp_xToken)
} else {
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer_v2)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi2)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpLocale, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FnLocale, xToken)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer_v2)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi2)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpLocale, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FnLocale, __ccgo_fp_xToken)
}
}
}
@@ -208921,115 +201178,6 @@ type TFts5ExprTerm = struct {
type Fts5ExprTerm = TFts5ExprTerm
-type TFts5Expr1 = struct {
- FpIndex uintptr
- FpConfig uintptr
- FpRoot uintptr
- FbDesc int32
- FnPhrase int32
- FapExprPhrase uintptr
-}
-
-type Fts5Expr1 = TFts5Expr1
-
-/*
-** eType:
-** Expression node type. Usually one of:
-**
-** FTS5_AND (nChild, apChild valid)
-** FTS5_OR (nChild, apChild valid)
-** FTS5_NOT (nChild, apChild valid)
-** FTS5_STRING (pNear valid)
-** FTS5_TERM (pNear valid)
-**
-** An expression node with eType==0 may also exist. It always matches zero
-** rows. This is created when a phrase containing no tokens is parsed.
-** e.g. "".
-**
-** iHeight:
-** Distance from this node to furthest leaf. This is always 0 for nodes
-** of type FTS5_STRING and FTS5_TERM. For all other nodes it is one
-** greater than the largest child value.
- */
-type TFts5ExprNode1 = struct {
- FeType int32
- FbEof int32
- FbNomatch int32
- FiHeight int32
- FxNext uintptr
- FiRowid Ti64
- FpNear uintptr
- FnChild int32
-}
-
-type Fts5ExprNode1 = TFts5ExprNode1
-
-/* Size (in bytes) of an Fts5ExprNode object that holds up to N children */
-
-/*
-** Invoke the xNext method of an Fts5ExprNode object. This macro should be
-** used as if it has the same signature as the xNext() methods themselves.
- */
-
-/*
-** An instance of the following structure represents a single search term
-** or term prefix.
- */
-type TFts5ExprTerm1 = struct {
- FbPrefix Tu8
- FbFirst Tu8
- FpTerm uintptr
- FnQueryTerm int32
- FnFullTerm int32
- FpIter uintptr
- FpSynonym uintptr
-}
-
-type Fts5ExprTerm1 = TFts5ExprTerm1
-
-/*
-** A phrase. One or more terms that must appear in a contiguous sequence
-** within a document for it to match.
- */
-type TFts5ExprPhrase1 = struct {
- FpNode uintptr
- Fposlist TFts5Buffer
- FnTerm int32
-}
-
-type Fts5ExprPhrase1 = TFts5ExprPhrase1
-
-/* Size (in bytes) of an Fts5ExprPhrase object that holds up to N terms */
-
-/*
-** One or more phrases that must appear within a certain token distance of
-** each other within each matching document.
- */
-type TFts5ExprNearset1 = struct {
- FnNear int32
- FpColset uintptr
- FnPhrase int32
-}
-
-type Fts5ExprNearset1 = TFts5ExprNearset1
-
-/* Size (in bytes) of an Fts5ExprNearset object covering up to N phrases */
-
-/*
-** Parse context.
- */
-type TFts5Parse1 = struct {
- FpConfig uintptr
- FzErr uintptr
- Frc int32
- FnPhrase int32
- FapPhrase uintptr
- FpExpr uintptr
- FbPhraseToAnd int32
-}
-
-type Fts5Parse1 = TFts5Parse1
-
/*
** Check that the Fts5ExprNode.iHeight variables are set correctly in
** the expression tree passed as the only argument.
@@ -209714,16 +201862,6 @@ type TFts5LookaheadReader = struct {
type Fts5LookaheadReader = TFts5LookaheadReader
-type TFts5LookaheadReader1 = struct {
- Fa uintptr
- Fn int32
- Fi int32
- FiPos Ti64
- FiLookahead Ti64
-}
-
-type Fts5LookaheadReader1 = TFts5LookaheadReader1
-
func _fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) (r int32) {
(*TFts5LookaheadReader)(unsafe.Pointer(p)).FiPos = (*TFts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead
if _sqlite3Fts5PoslistNext64(tls, (*TFts5LookaheadReader)(unsafe.Pointer(p)).Fa, (*TFts5LookaheadReader)(unsafe.Pointer(p)).Fn, p+12, p+24) != 0 {
@@ -209748,14 +201886,6 @@ type TFts5NearTrimmer = struct {
type Fts5NearTrimmer = TFts5NearTrimmer
-type TFts5NearTrimmer1 = struct {
- Freader TFts5LookaheadReader
- Fwriter TFts5PoslistWriter
- FpOut uintptr
-}
-
-type Fts5NearTrimmer1 = TFts5NearTrimmer1
-
// C documentation
//
// /*
@@ -210876,14 +203006,6 @@ type TTokenCtx = struct {
type TokenCtx = TTokenCtx
-type TTokenCtx1 = struct {
- FpPhrase uintptr
- FpConfig uintptr
- Frc int32
-}
-
-type TokenCtx1 = TTokenCtx1
-
// C documentation
//
// /*
@@ -211824,14 +203946,6 @@ func _sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uin
return nRet
}
-type TFts5PoslistPopulator1 = struct {
- Fwriter TFts5PoslistWriter
- FbOk int32
- FbMiss int32
-}
-
-type Fts5PoslistPopulator1 = TFts5PoslistPopulator1
-
// C documentation
//
// /*
@@ -211871,14 +203985,6 @@ func _sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) (r
return pRet
}
-type TFts5ExprCtx1 = struct {
- FpExpr uintptr
- FaPopulator uintptr
- FiOff Ti64
-}
-
-type Fts5ExprCtx1 = TFts5ExprCtx1
-
type TFts5ExprCtx = struct {
FpExpr uintptr
FaPopulator uintptr
@@ -212242,66 +204348,6 @@ type TFts5HashEntry = struct {
type Fts5HashEntry = TFts5HashEntry
-/*
-** This file contains the implementation of an in-memory hash table used
-** to accumulate "term -> doclist" content before it is flushed to a level-0
-** segment.
- */
-
-type TFts5Hash1 = struct {
- FeDetail int32
- FpnByte uintptr
- FnEntry int32
- FnSlot int32
- FpScan uintptr
- FaSlot uintptr
-}
-
-type Fts5Hash1 = TFts5Hash1
-
-/*
-** Each entry in the hash table is represented by an object of the
-** following type. Each object, its key, and its current data are stored
-** in a single memory allocation. The key immediately follows the object
-** in memory. The position list data immediately follows the key data
-** in memory.
-**
-** The key is Fts5HashEntry.nKey bytes in size. It consists of a single
-** byte identifying the index (either the main term index or a prefix-index),
-** followed by the term data. For example: "0token". There is no
-** nul-terminator - in this case nKey=6.
-**
-** The data that follows the key is in a similar, but not identical format
-** to the doclist data stored in the database. It is:
-**
-** * Rowid, as a varint
-** * Position list, without 0x00 terminator.
-** * Size of previous position list and rowid, as a 4 byte
-** big-endian integer.
-**
-** iRowidOff:
-** Offset of last rowid written to data area. Relative to first byte of
-** structure.
-**
-** nData:
-** Bytes of data written since iRowidOff.
- */
-type TFts5HashEntry1 = struct {
- FpHashNext uintptr
- FpScanNext uintptr
- FnAlloc int32
- FiSzPoslist int32
- FnData int32
- FnKey int32
- FbDel Tu8
- FbContent Tu8
- FiCol Ti16
- FiPos int32
- FiRowid Ti64
-}
-
-type Fts5HashEntry1 = TFts5HashEntry1
-
/*
** Equivalent to:
**
@@ -213351,143 +205397,6 @@ type TFts5TombstoneArray = struct {
type Fts5TombstoneArray = TFts5TombstoneArray
-type TFts5Data1 = struct {
- Fp uintptr
- Fnn int32
- FszLeaf int32
-}
-
-type Fts5Data1 = TFts5Data1
-
-/*
-** One object per %_data table.
-**
-** nContentlessDelete:
-** The number of contentless delete operations since the most recent
-** call to fts5IndexFlush() or fts5IndexDiscardData(). This is tracked
-** so that extra auto-merge work can be done by fts5IndexFlush() to
-** account for the delete operations.
- */
-type TFts5Index1 = struct {
- FpConfig uintptr
- FzDataTbl uintptr
- FnWorkUnit int32
- FpHash uintptr
- FnPendingData int32
- FiWriteRowid Ti64
- FbDelete int32
- FnContentlessDelete int32
- FnPendingRow int32
- Frc int32
- FflushRc int32
- FpReader uintptr
- FpWriter uintptr
- FpDeleter uintptr
- FpIdxWriter uintptr
- FpIdxDeleter uintptr
- FpIdxSelect uintptr
- FpIdxNextSelect uintptr
- FnRead int32
- FpDeleteFromIdx uintptr
- FpDataVersion uintptr
- FiStructVersion Ti64
- FpStruct uintptr
-}
-
-type Fts5Index1 = TFts5Index1
-
-type TFts5DoclistIter1 = struct {
- FaEof uintptr
- FiRowid Ti64
- FaPoslist uintptr
- FnPoslist int32
- FnSize int32
-}
-
-type Fts5DoclistIter1 = TFts5DoclistIter1
-
-/*
-** The contents of the "structure" record for each index are represented
-** using an Fts5Structure record in memory. Which uses instances of the
-** other Fts5StructureXXX types as components.
-**
-** nOriginCntr:
-** This value is set to non-zero for structure records created for
-** contentlessdelete=1 tables only. In that case it represents the
-** origin value to apply to the next top-level segment created.
- */
-type TFts5StructureSegment1 = struct {
- FiSegid int32
- FpgnoFirst int32
- FpgnoLast int32
- FiOrigin1 Tu64
- FiOrigin2 Tu64
- FnPgTombstone int32
- FnEntryTombstone Tu64
- FnEntry Tu64
-}
-
-type Fts5StructureSegment1 = TFts5StructureSegment1
-
-type TFts5StructureLevel1 = struct {
- FnMerge int32
- FnSeg int32
- FaSeg uintptr
-}
-
-type Fts5StructureLevel1 = TFts5StructureLevel1
-
-type TFts5Structure1 = struct {
- FnRef int32
- FnWriteCounter Tu64
- FnOriginCntr Tu64
- FnSegment int32
- FnLevel int32
-}
-
-type Fts5Structure1 = TFts5Structure1
-
-/* Size (in bytes) of an Fts5Structure object holding up to N levels */
-
-/*
-** An object of type Fts5SegWriter is used to write to segments.
- */
-type TFts5PageWriter1 = struct {
- Fpgno int32
- FiPrevPgidx int32
- Fbuf TFts5Buffer
- Fpgidx TFts5Buffer
- Fterm TFts5Buffer
-}
-
-type Fts5PageWriter1 = TFts5PageWriter1
-
-type TFts5DlidxWriter1 = struct {
- Fpgno int32
- FbPrevValid int32
- FiPrev Ti64
- Fbuf TFts5Buffer
-}
-
-type Fts5DlidxWriter1 = TFts5DlidxWriter1
-
-type TFts5SegWriter1 = struct {
- FiSegid int32
- Fwriter TFts5PageWriter
- FiPrevRowid Ti64
- FbFirstRowidInDoclist Tu8
- FbFirstRowidInPage Tu8
- FbFirstTermInPage Tu8
- FnLeafWritten int32
- FnEmpty int32
- FnDlidx int32
- FaDlidx uintptr
- Fbtterm TFts5Buffer
- FiBtPage int32
-}
-
-type Fts5SegWriter1 = TFts5SegWriter1
-
type TFts5CResult = struct {
FiFirst Tu16
FbTermEq Tu8
@@ -213495,191 +205404,6 @@ type TFts5CResult = struct {
type Fts5CResult = TFts5CResult
-type TFts5CResult1 = struct {
- FiFirst Tu16
- FbTermEq Tu8
-}
-
-type Fts5CResult1 = TFts5CResult1
-
-/*
-** Object for iterating through a single segment, visiting each term/rowid
-** pair in the segment.
-**
-** pSeg:
-** The segment to iterate through.
-**
-** iLeafPgno:
-** Current leaf page number within segment.
-**
-** iLeafOffset:
-** Byte offset within the current leaf that is the first byte of the
-** position list data (one byte passed the position-list size field).
-**
-** pLeaf:
-** Buffer containing current leaf page data. Set to NULL at EOF.
-**
-** iTermLeafPgno, iTermLeafOffset:
-** Leaf page number containing the last term read from the segment. And
-** the offset immediately following the term data.
-**
-** flags:
-** Mask of FTS5_SEGITER_XXX values. Interpreted as follows:
-**
-** FTS5_SEGITER_ONETERM:
-** If set, set the iterator to point to EOF after the current doclist
-** has been exhausted. Do not proceed to the next term in the segment.
-**
-** FTS5_SEGITER_REVERSE:
-** This flag is only ever set if FTS5_SEGITER_ONETERM is also set. If
-** it is set, iterate through rowid in descending order instead of the
-** default ascending order.
-**
-** iRowidOffset/nRowidOffset/aRowidOffset:
-** These are used if the FTS5_SEGITER_REVERSE flag is set.
-**
-** For each rowid on the page corresponding to the current term, the
-** corresponding aRowidOffset[] entry is set to the byte offset of the
-** start of the "position-list-size" field within the page.
-**
-** iTermIdx:
-** Index of current term on iTermLeafPgno.
-**
-** apTombstone/nTombstone:
-** These are used for contentless_delete=1 tables only. When the cursor
-** is first allocated, the apTombstone[] array is allocated so that it
-** is large enough for all tombstones hash pages associated with the
-** segment. The pages themselves are loaded lazily from the database as
-** they are required.
- */
-type TFts5SegIter1 = struct {
- FpSeg uintptr
- Fflags int32
- FiLeafPgno int32
- FpLeaf uintptr
- FpNextLeaf uintptr
- FiLeafOffset Ti64
- FpTombArray uintptr
- FxNext uintptr
- FiTermLeafPgno int32
- FiTermLeafOffset int32
- FiPgidxOff int32
- FiEndofDoclist int32
- FiRowidOffset int32
- FnRowidOffset int32
- FaRowidOffset uintptr
- FpDlidx uintptr
- Fterm TFts5Buffer
- FiRowid Ti64
- FnPos int32
- FbDel Tu8
-}
-
-type Fts5SegIter1 = TFts5SegIter1
-
-/*
-** Array of tombstone pages. Reference counted.
- */
-type TFts5TombstoneArray1 = struct {
- F__ccgo_align [0]uint64
- FnRef int32
- FnTombstone int32
-}
-
-type Fts5TombstoneArray1 = TFts5TombstoneArray1
-
-/* Size (in bytes) of an Fts5TombstoneArray holding up to N tombstones */
-
-/*
-** Argument is a pointer to an Fts5Data structure that contains a
-** leaf page.
- */
-
-/*
-** Argument is a pointer to an Fts5Data structure that contains a leaf
-** page. This macro evaluates to true if the leaf contains no terms, or
-** false if it contains at least one term.
- */
-
-/*
-** Object for iterating through the merged results of one or more segments,
-** visiting each term/rowid pair in the merged data.
-**
-** nSeg is always a power of two greater than or equal to the number of
-** segments that this object is merging data from. Both the aSeg[] and
-** aFirst[] arrays are sized at nSeg entries. The aSeg[] array is padded
-** with zeroed objects - these are handled as if they were iterators opened
-** on empty segments.
-**
-** The results of comparing segments aSeg[N] and aSeg[N+1], where N is an
-** even number, is stored in aFirst[(nSeg+N)/2]. The "result" of the
-** comparison in this context is the index of the iterator that currently
-** points to the smaller term/rowid combination. Iterators at EOF are
-** considered to be greater than all other iterators.
-**
-** aFirst[1] contains the index in aSeg[] of the iterator that points to
-** the smallest key overall. aFirst[0] is unused.
-**
-** poslist:
-** Used by sqlite3Fts5IterPoslist() when the poslist needs to be buffered.
-** There is no way to tell if this is populated or not.
-**
-** pColset:
-** If not NULL, points to an object containing a set of column indices.
-** Only matches that occur in one of these columns will be returned.
-** The Fts5Iter does not own the Fts5Colset object, and so it is not
-** freed when the iterator is closed - it is owned by the upper layer.
- */
-type TFts5Iter1 = struct {
- Fbase TFts5IndexIter
- FpTokenDataIter uintptr
- FpIndex uintptr
- Fposlist TFts5Buffer
- FpColset uintptr
- FxSetOutputs uintptr
- FnSeg int32
- FbRev int32
- FbSkipEmpty Tu8
- FiSwitchRowid Ti64
- FaFirst uintptr
-}
-
-type Fts5Iter1 = TFts5Iter1
-
-/* Size (in bytes) of an Fts5Iter object holding up to N segment iterators */
-
-/*
-** An instance of the following type is used to iterate through the contents
-** of a doclist-index record.
-**
-** pData:
-** Record containing the doclist-index data.
-**
-** bEof:
-** Set to true once iterator has reached EOF.
-**
-** iOff:
-** Set to the current offset within record pData.
- */
-type TFts5DlidxLvl1 = struct {
- FpData uintptr
- FiOff int32
- FbEof int32
- FiFirstOff int32
- FiLeafPgno int32
- FiRowid Ti64
-}
-
-type Fts5DlidxLvl1 = TFts5DlidxLvl1
-
-type TFts5DlidxIter1 = struct {
- F__ccgo_align [0]uint64
- FnLvl int32
- FiSegid int32
-}
-
-type Fts5DlidxIter1 = TFts5DlidxIter1
-
/* Size (in bytes) of an Fts5DlidxIter object with up to N levels */
func _fts5PutU16(tls *libc.TLS, aOut uintptr, iVal Tu16) {
@@ -216611,14 +208335,6 @@ type TPoslistCallbackCtx = struct {
type PoslistCallbackCtx = TPoslistCallbackCtx
-type TPoslistCallbackCtx1 = struct {
- FpBuf uintptr
- FpColset uintptr
- FeState int32
-}
-
-type PoslistCallbackCtx1 = TPoslistCallbackCtx1
-
type TPoslistOffsetsCtx = struct {
FpBuf uintptr
FpColset uintptr
@@ -216628,15 +208344,6 @@ type TPoslistOffsetsCtx = struct {
type PoslistOffsetsCtx = TPoslistOffsetsCtx
-type TPoslistOffsetsCtx1 = struct {
- FpBuf uintptr
- FpColset uintptr
- FiRead int32
- FiWrite int32
-}
-
-type PoslistOffsetsCtx1 = TPoslistOffsetsCtx1
-
// C documentation
//
// /*
@@ -216750,7 +208457,7 @@ func _fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr
}
}
-func _fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) {
+func _fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, __ccgo_fp_xChunk uintptr) {
var nChunk, nRem, pgno, pgnoSave, v2 int32
var pChunk, pData uintptr
var v1 int64
@@ -216771,7 +208478,7 @@ func _fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xCh
pgnoSave = pgno + int32(1)
}
for int32(1) != 0 {
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{xChunk})))(tls, p, pCtx, pChunk, nChunk)
+ (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xChunk})))(tls, p, pCtx, pChunk, nChunk)
nRem -= nChunk
_fts5DataRelease(tls, pData)
if nRem <= 0 {
@@ -218364,13 +210071,6 @@ type TFts5FlushCtx = struct {
type Fts5FlushCtx = TFts5FlushCtx
-type TFts5FlushCtx1 = struct {
- FpIdx uintptr
- Fwriter TFts5SegWriter
-}
-
-type Fts5FlushCtx1 = TFts5FlushCtx1
-
// C documentation
//
// /*
@@ -219491,16 +211191,6 @@ type TPrefixMerger = struct {
type PrefixMerger = TPrefixMerger
-type TPrefixMerger1 = struct {
- Fiter TFts5DoclistIter
- FiPos Ti64
- FiOff int32
- FaPos uintptr
- FpNext uintptr
-}
-
-type PrefixMerger1 = TPrefixMerger1
-
func _fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) {
var pp uintptr
_ = pp
@@ -219718,7 +211408,7 @@ func _fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBu
// ** If parameter pColset is not NULL, then it is used to filter entries before
// ** the callback is invoked.
// */
-func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr, nToken int32, bPrefix int32, xVisit uintptr, pCtx uintptr) (r int32) {
+func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr, nToken int32, bPrefix int32, __ccgo_fp_xVisit uintptr, pCtx uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var flags, nNew, v1 int32
@@ -219755,7 +211445,7 @@ func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr
break
}
}
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{xVisit})))(tls, p, pCtx, *(*uintptr)(unsafe.Pointer(bp)), pNew, nNew)
+ (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xVisit})))(tls, p, pCtx, *(*uintptr)(unsafe.Pointer(bp)), pNew, nNew)
goto _2
_2:
;
@@ -219766,70 +211456,6 @@ func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr
return (*TFts5Index)(unsafe.Pointer(p)).Frc
}
-/*
-** Usually, a tokendata=1 iterator (struct Fts5TokenDataIter) accumulates an
-** array of these for each row it visits (so all iRowid fields are the same).
-** Or, for an iterator used by an "ORDER BY rank" query, it accumulates an
-** array of these for the entire query (in which case iRowid fields may take
-** a variety of values).
-**
-** Each instance in the array indicates the iterator (and therefore term)
-** associated with position iPos of rowid iRowid. This is used by the
-** xInstToken() API.
-**
-** iRowid:
-** Rowid for the current entry.
-**
-** iPos:
-** Position of current entry within row. In the usual ((iCol<<32)+iOff)
-** format (e.g. see macros FTS5_POS2COLUMN() and FTS5_POS2OFFSET()).
-**
-** iIter:
-** If the Fts5TokenDataIter iterator that the entry is part of is
-** actually an iterator (i.e. with nIter>0, not just a container for
-** Fts5TokenDataMap structures), then this variable is an index into
-** the apIter[] array. The corresponding term is that which the iterator
-** at apIter[iIter] currently points to.
-**
-** Or, if the Fts5TokenDataIter iterator is just a container object
-** (nIter==0), then iIter is an index into the term.p[] buffer where
-** the term is stored.
-**
-** nByte:
-** In the case where iIter is an index into term.p[], this variable
-** is the size of the term in bytes. If iIter is an index into apIter[],
-** this variable is unused.
- */
-type TFts5TokenDataMap1 = struct {
- FiRowid Ti64
- FiPos Ti64
- FiIter int32
- FnByte int32
-}
-
-type Fts5TokenDataMap1 = TFts5TokenDataMap1
-
-/*
-** An object used to supplement Fts5Iter for tokendata=1 iterators.
-**
-** This object serves two purposes. The first is as a container for an array
-** of Fts5TokenDataMap structures, which are used to find the token required
-** when the xInstToken() API is used. This is done by the nMapAlloc, nMap and
-** aMap[] variables.
- */
-type TFts5TokenDataIter1 = struct {
- FnMapAlloc int32
- FnMap int32
- FaMap uintptr
- Fterms TFts5Buffer
- FnIter int32
- FnIterAlloc int32
- FaPoslistReader uintptr
- FaPoslistToIter uintptr
-}
-
-type Fts5TokenDataIter1 = TFts5TokenDataIter1
-
/* Size in bytes of an Fts5TokenDataIter object holding up to N iterators */
// C documentation
@@ -219998,14 +211624,6 @@ type TTokendataSetupCtx = struct {
type TokendataSetupCtx = TTokendataSetupCtx
-type TTokendataSetupCtx1 = struct {
- FpT uintptr
- FiTermOff int32
- FnTermByte int32
-}
-
-type TokendataSetupCtx1 = TTokendataSetupCtx1
-
// C documentation
//
// /*
@@ -220052,19 +211670,6 @@ type TPrefixSetupCtx = struct {
type PrefixSetupCtx = TPrefixSetupCtx
-type TPrefixSetupCtx1 = struct {
- FxMerge uintptr
- FxAppend uintptr
- FiLastRowid Ti64
- FnMerge int32
- FaBuf uintptr
- FnBuf int32
- Fdoclist TFts5Buffer
- FpTokendata uintptr
-}
-
-type PrefixSetupCtx1 = TPrefixSetupCtx1
-
// C documentation
//
// /*
@@ -222380,87 +213985,6 @@ type TFts5TransactionState = struct {
type Fts5TransactionState = TFts5TransactionState
-/*
-** A single object of this type is allocated when the FTS5 module is
-** registered with a database handle. It is used to store pointers to
-** all registered FTS5 extensions - tokenizers and auxiliary functions.
- */
-type TFts5Global1 = struct {
- Fapi Tfts5_api
- Fdb uintptr
- FiNextId Ti64
- FpAux uintptr
- FpTok uintptr
- FpDfltTok uintptr
- FpCsr uintptr
- FaLocaleHdr [4]Tu32
-}
-
-type Fts5Global1 = TFts5Global1
-
-/*
-** Size of header on fts5_locale() values. And macro to access a buffer
-** containing a copy of the header from an Fts5Config pointer.
- */
-
-/*
-** Each auxiliary function registered with the FTS5 module is represented
-** by an object of the following type. All such objects are stored as part
-** of the Fts5Global.pAux list.
- */
-type TFts5Auxiliary1 = struct {
- FpGlobal uintptr
- FzFunc uintptr
- FpUserData uintptr
- FxFunc Tfts5_extension_function
- FxDestroy uintptr
- FpNext uintptr
-}
-
-type Fts5Auxiliary1 = TFts5Auxiliary1
-
-/*
-** Each tokenizer module registered with the FTS5 module is represented
-** by an object of the following type. All such objects are stored as part
-** of the Fts5Global.pTok list.
-**
-** bV2Native:
-** True if the tokenizer was registered using xCreateTokenizer_v2(), false
-** for xCreateTokenizer(). If this variable is true, then x2 is populated
-** with the routines as supplied by the caller and x1 contains synthesized
-** wrapper routines. In this case the user-data pointer passed to
-** x1.xCreate should be a pointer to the Fts5TokenizerModule structure,
-** not a copy of pUserData.
-**
-** Of course, if bV2Native is false, then x1 contains the real routines and
-** x2 the synthesized ones. In this case a pointer to the Fts5TokenizerModule
-** object should be passed to x2.xCreate.
-**
-** The synthesized wrapper routines are necessary for xFindTokenizer(_v2)
-** calls.
- */
-type TFts5TokenizerModule1 = struct {
- FzName uintptr
- FpUserData uintptr
- FbV2Native int32
- Fx1 Tfts5_tokenizer
- Fx2 Tfts5_tokenizer_v2
- FxDestroy uintptr
- FpNext uintptr
-}
-
-type Fts5TokenizerModule1 = TFts5TokenizerModule1
-
-type TFts5FullTable1 = struct {
- Fp TFts5Table
- FpStorage uintptr
- FpGlobal uintptr
- FpSortCsr uintptr
- FiSavepoint int32
-}
-
-type Fts5FullTable1 = TFts5FullTable1
-
type TFts5MatchPhrase = struct {
FpPoslist uintptr
FnTerm int32
@@ -222468,97 +213992,6 @@ type TFts5MatchPhrase = struct {
type Fts5MatchPhrase = TFts5MatchPhrase
-/*
-** pStmt:
-** SELECT rowid, FROM ORDER BY +rank;
-**
-** aIdx[]:
-** There is one entry in the aIdx[] array for each phrase in the query,
-** the value of which is the offset within aPoslist[] following the last
-** byte of the position list for the corresponding phrase.
- */
-type TFts5Sorter1 = struct {
- FpStmt uintptr
- FiRowid Ti64
- FaPoslist uintptr
- FnIdx int32
-}
-
-type Fts5Sorter1 = TFts5Sorter1
-
-/* Size (int bytes) of an Fts5Sorter object with N indexes */
-
-/*
-** Virtual-table cursor object.
-**
-** iSpecial:
-** If this is a 'special' query (refer to function fts5SpecialMatch()),
-** then this variable contains the result of the query.
-**
-** iFirstRowid, iLastRowid:
-** These variables are only used for FTS5_PLAN_MATCH cursors. Assuming the
-** cursor iterates in ascending order of rowids, iFirstRowid is the lower
-** limit of rowids to return, and iLastRowid the upper. In other words, the
-** WHERE clause in the user's query might have been:
-**
-** MATCH AND rowid BETWEEN $iFirstRowid AND $iLastRowid
-**
-** If the cursor iterates in descending order of rowid, iFirstRowid
-** is the upper limit (i.e. the "first" rowid visited) and iLastRowid
-** the lower.
- */
-type TFts5Cursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FpNext uintptr
- FaColumnSize uintptr
- FiCsrId Ti64
- FePlan int32
- FbDesc int32
- FiFirstRowid Ti64
- FiLastRowid Ti64
- FpStmt uintptr
- FpExpr uintptr
- FpSorter uintptr
- Fcsrflags int32
- FiSpecial Ti64
- FzRank uintptr
- FzRankArgs uintptr
- FpRank uintptr
- FnRankArg int32
- FapRankArg uintptr
- FpRankArgStmt uintptr
- FpAux uintptr
- FpAuxdata uintptr
- FaInstIter uintptr
- FnInstAlloc int32
- FnInstCount int32
- FaInst uintptr
-}
-
-type Fts5Cursor1 = TFts5Cursor1
-
-/*
-** Bits that make up the "idxNum" parameter passed indirectly by
-** xBestIndex() to xFilter().
- */
-
-/*
-** Values for Fts5Cursor.csrflags
- */
-
-/*
-** Macros to Set(), Clear() and Test() cursor flags.
- */
-
-type TFts5Auxdata1 = struct {
- FpAux uintptr
- FpPtr uintptr
- FxDelete uintptr
- FpNext uintptr
-}
-
-type Fts5Auxdata1 = TFts5Auxdata1
-
// C documentation
//
// /*
@@ -224526,7 +215959,7 @@ func _fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) (r int32) {
// /*
// ** Implementation of xTokenize_v2() API.
// */
-func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pLoc uintptr, nLoc int32, pUserData uintptr, xToken uintptr) (r int32) {
+func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pLoc uintptr, nLoc int32, pUserData uintptr, __ccgo_fp_xToken uintptr) (r int32) {
var pCsr, pTab uintptr
var rc int32
_, _, _ = pCsr, pTab, rc
@@ -224534,7 +215967,7 @@ func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32
pTab = (*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab
rc = SQLITE_OK
_sqlite3Fts5SetLocale(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, pLoc, nLoc)
- rc = _sqlite3Fts5Tokenize(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, int32(FTS5_TOKENIZE_AUX), pText, nText, pUserData, xToken)
+ rc = _sqlite3Fts5Tokenize(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, int32(FTS5_TOKENIZE_AUX), pText, nText, pUserData, __ccgo_fp_xToken)
_sqlite3Fts5SetLocale(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, uintptr(0), 0)
return rc
}
@@ -224545,8 +215978,8 @@ func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32
// ** Implementation of xTokenize() API. This is just xTokenize_v2() with NULL/0
// ** passed as the locale.
// */
-func _fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) (r int32) {
- return _fts5ApiTokenize_v2(tls, pCtx, pText, nText, uintptr(0), 0, pUserData, xToken)
+func _fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, __ccgo_fp_xToken uintptr) (r int32) {
+ return _fts5ApiTokenize_v2(tls, pCtx, pText, nText, uintptr(0), 0, pUserData, __ccgo_fp_xToken)
}
func _fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) (r int32) {
@@ -224954,7 +216387,7 @@ func _fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr
// /*
// ** Implementation of the xSetAuxdata() method.
// */
-func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintptr) (r int32) {
+func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, __ccgo_fp_xDelete uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var pCsr, pData uintptr
@@ -224984,8 +216417,8 @@ func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintp
*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
pData = _sqlite3Fts5MallocZero(tls, bp, int64(32))
if pData == uintptr(0) {
- if xDelete != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDelete})))(tls, pPtr)
+ if __ccgo_fp_xDelete != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDelete})))(tls, pPtr)
}
return *(*int32)(unsafe.Pointer(bp))
}
@@ -224993,7 +216426,7 @@ func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintp
(*TFts5Auxdata)(unsafe.Pointer(pData)).FpNext = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpAuxdata
(*TFts5Cursor)(unsafe.Pointer(pCsr)).FpAuxdata = pData
}
- (*TFts5Auxdata)(unsafe.Pointer(pData)).FxDelete = xDelete
+ (*TFts5Auxdata)(unsafe.Pointer(pData)).FxDelete = __ccgo_fp_xDelete
(*TFts5Auxdata)(unsafe.Pointer(pData)).FpPtr = pPtr
return SQLITE_OK
}
@@ -225285,7 +216718,7 @@ func init() {
// /*
// ** Implementation of API function xQueryPhrase().
// */
-func _fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) (r int32) {
+func _fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, __ccgo_fp_xCallback uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var pCsr, pTab uintptr
@@ -225309,7 +216742,7 @@ func _fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData u
if !(rc == SQLITE_OK && (*TFts5Cursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcsrflags&int32(FTS5CSR_EOF) == 0) {
break
}
- rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xCallback})))(tls, uintptr(unsafe.Pointer(&_sFts5Api)), *(*uintptr)(unsafe.Pointer(bp)), pUserData)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xCallback})))(tls, uintptr(unsafe.Pointer(&_sFts5Api)), *(*uintptr)(unsafe.Pointer(bp)), pUserData)
if rc != SQLITE_OK {
if rc == int32(SQLITE_DONE) {
rc = SQLITE_OK
@@ -225596,14 +217029,14 @@ func _fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32)
// ** This routine implements the xFindFunction method for the FTS3
// ** virtual table.
// */
-func _fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) {
+func _fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, __ccgo_fp_pxFunc uintptr, ppArg uintptr) (r int32) {
var pAux, pTab uintptr
_, _ = pAux, pTab
pTab = pVtab
_ = nUnused
pAux = _fts5FindAuxiliary(tls, pTab, zName)
if pAux != 0 {
- *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_fts5ApiCallback)
+ *(*uintptr)(unsafe.Pointer(__ccgo_fp_pxFunc)) = __ccgo_fp(_fts5ApiCallback)
*(*uintptr)(unsafe.Pointer(ppArg)) = pAux
return int32(1)
}
@@ -225698,7 +217131,7 @@ func _fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) (r in
// /*
// ** Register a new auxiliary function with global context pGlobal.
// */
-func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Tfts5_extension_function, xDestroy uintptr) (r int32) {
+func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, __ccgo_fp_xFunc Tfts5_extension_function, __ccgo_fp_xDestroy uintptr) (r int32) {
var nByte, nName Tsqlite3_int64
var pAux, pGlobal uintptr
var rc int32
@@ -225715,8 +217148,8 @@ func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintpt
libc.X__builtin___memcpy_chk(tls, (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FzFunc, zName, libc.Uint64FromInt64(nName), ^t__predefined_size_t(0))
(*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal = pGlobal
(*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpUserData = pUserData
- (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxFunc = xFunc
- (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy = xDestroy
+ (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxFunc = __ccgo_fp_xFunc
+ (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy = __ccgo_fp_xDestroy
(*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpNext = (*TFts5Global)(unsafe.Pointer(pGlobal)).FpAux
(*TFts5Global)(unsafe.Pointer(pGlobal)).FpAux = pAux
} else {
@@ -225743,7 +217176,7 @@ func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintpt
// ** If an error occurs, an SQLite error code is returned and the final value
// ** of (*ppNew) undefined.
// */
-func _fts5NewTokenizerModule(tls *libc.TLS, pGlobal uintptr, zName uintptr, pUserData uintptr, xDestroy uintptr, ppNew uintptr) (r int32) {
+func _fts5NewTokenizerModule(tls *libc.TLS, pGlobal uintptr, zName uintptr, pUserData uintptr, __ccgo_fp_xDestroy uintptr, ppNew uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var nByte, nName Tsqlite3_int64
@@ -225760,7 +217193,7 @@ func _fts5NewTokenizerModule(tls *libc.TLS, pGlobal uintptr, zName uintptr, pUse
(*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FzName = pNew + 1*96
libc.X__builtin___memcpy_chk(tls, (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FzName, zName, libc.Uint64FromInt64(nName), ^t__predefined_size_t(0))
(*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FpUserData = pUserData
- (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FxDestroy = xDestroy
+ (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FxDestroy = __ccgo_fp_xDestroy
(*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FpNext = (*TFts5Global)(unsafe.Pointer(pGlobal)).FpTok
(*TFts5Global)(unsafe.Pointer(pGlobal)).FpTok = pNew
if (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FpNext == uintptr(0) {
@@ -225787,15 +217220,6 @@ type TFts5VtoVTokenizer = struct {
type Fts5VtoVTokenizer = TFts5VtoVTokenizer
-type TFts5VtoVTokenizer1 = struct {
- FbV2Native int32
- Fx1 Tfts5_tokenizer
- Fx2 Tfts5_tokenizer_v2
- FpReal uintptr
-}
-
-type Fts5VtoVTokenizer1 = TFts5VtoVTokenizer1
-
// C documentation
//
// /*
@@ -225855,11 +217279,11 @@ func _fts5VtoVDelete(tls *libc.TLS, pTok uintptr) {
// ** xTokenizer method for a wrapper tokenizer that offers the v1 interface
// ** (no support for locales).
// */
-func _fts5V1toV2Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5V1toV2Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
var p uintptr
_ = p
p = pTok
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx2.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, uintptr(0), 0, xToken)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx2.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, uintptr(0), 0, __ccgo_fp_xToken)
}
// C documentation
@@ -225868,13 +217292,13 @@ func _fts5V1toV2Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32,
// ** xTokenizer method for a wrapper tokenizer that offers the v2 interface
// ** (with locale support).
// */
-func _fts5V2toV1Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLocale uintptr, nLocale int32, xToken uintptr) (r int32) {
+func _fts5V2toV1Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLocale uintptr, nLocale int32, __ccgo_fp_xToken uintptr) (r int32) {
var p uintptr
_ = p
p = pTok
_ = pLocale
_ = nLocale
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx1.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, xToken)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx1.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, __ccgo_fp_xToken)
}
// C documentation
@@ -225883,7 +217307,7 @@ func _fts5V2toV1Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32,
// ** Register a new tokenizer. This is the implementation of the
// ** fts5_api.xCreateTokenizer_v2() method.
// */
-func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) (r int32) {
+func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var pGlobal uintptr
@@ -225896,7 +217320,7 @@ func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserDa
rc = int32(SQLITE_ERROR)
} else {
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
- rc = _fts5NewTokenizerModule(tls, pGlobal, zName, pUserData, xDestroy, bp)
+ rc = _fts5NewTokenizerModule(tls, pGlobal, zName, pUserData, __ccgo_fp_xDestroy, bp)
if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fx2 = *(*Tfts5_tokenizer_v2)(unsafe.Pointer(pTokenizer))
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FbV2Native = int32(1)
@@ -225913,7 +217337,7 @@ func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserDa
// /*
// ** The fts5_api.xCreateTokenizer() method.
// */
-func _fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) (r int32) {
+func _fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
@@ -225921,7 +217345,7 @@ func _fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData
_ = rc
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
rc = SQLITE_OK
- rc = _fts5NewTokenizerModule(tls, pApi, zName, pUserData, xDestroy, bp)
+ rc = _fts5NewTokenizerModule(tls, pApi, zName, pUserData, __ccgo_fp_xDestroy, bp)
if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fx1 = *(*Tfts5_tokenizer)(unsafe.Pointer(pTokenizer))
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fx2.FxCreate = __ccgo_fp(_fts5VtoVCreate)
@@ -226393,60 +217817,6 @@ func _sqlite3Fts5Init(tls *libc.TLS, db uintptr) (r int32) {
return _fts5Init(tls, db)
}
-/*
-** 2014 May 31
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
- */
-
-/* #include "fts5Int.h" */
-
-/*
-** pSavedRow:
-** SQL statement FTS5_STMT_LOOKUP2 is a copy of FTS5_STMT_LOOKUP, it
-** does a by-rowid lookup to retrieve a single row from the %_content
-** table or equivalent external-content table/view.
-**
-** However, FTS5_STMT_LOOKUP2 is only used when retrieving the original
-** values for a row being UPDATEd. In that case, the SQL statement is
-** not reset and pSavedRow is set to point at it. This is so that the
-** insert operation that follows the delete may access the original
-** row values for any new values for which sqlite3_value_nochange() returns
-** true. i.e. if the user executes:
-**
-** CREATE VIRTUAL TABLE ft USING fts5(a, b, c, locale=1);
-** ...
-** UPDATE fts SET a=?, b=? WHERE rowid=?;
-**
-** then the value passed to the xUpdate() method of this table as the
-** new.c value is an sqlite3_value_nochange() value. So in this case it
-** must be read from the saved row stored in Fts5Storage.pSavedRow.
-**
-** This is necessary - using sqlite3_value_nochange() instead of just having
-** SQLite pass the original value back via xUpdate() - so as not to discard
-** any locale information associated with such values.
-**
- */
-type TFts5Storage1 = struct {
- FpConfig uintptr
- FpIndex uintptr
- FbTotalsValid int32
- FnTotalRow Ti64
- FaTotalSize uintptr
- FpSavedRow uintptr
- FaStmt [12]uintptr
-}
-
-type Fts5Storage1 = TFts5Storage1
-
// C documentation
//
// /*
@@ -226803,14 +218173,6 @@ type TFts5InsertCtx = struct {
type Fts5InsertCtx = TFts5InsertCtx
-type TFts5InsertCtx1 = struct {
- FpStorage uintptr
- FiCol int32
- FszCol int32
-}
-
-type Fts5InsertCtx1 = TFts5InsertCtx1
-
// C documentation
//
// /*
@@ -227541,17 +218903,6 @@ type TFts5IntegrityCtx = struct {
type Fts5IntegrityCtx = TFts5IntegrityCtx
-type TFts5IntegrityCtx1 = struct {
- FiRowid Ti64
- FiCol int32
- FszCol int32
- Fcksum Tu64
- FpTermset uintptr
- FpConfig uintptr
-}
-
-type Fts5IntegrityCtx1 = TFts5IntegrityCtx1
-
// C documentation
//
// /*
@@ -228056,12 +219407,6 @@ type TAsciiTokenizer = struct {
type AsciiTokenizer = TAsciiTokenizer
-type TAsciiTokenizer1 = struct {
- FaTokenChar [128]uint8
-}
-
-type AsciiTokenizer1 = TAsciiTokenizer1
-
func _fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) {
var i int32
_ = i
@@ -228166,7 +219511,7 @@ func _asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) {
// /*
// ** Tokenize some text using the ascii tokenizer.
// */
-func _fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
bp := tls.Alloc(64)
defer tls.Free(64)
var a, p, pFold uintptr
@@ -228208,7 +219553,7 @@ func _fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused
}
_asciiFold(tls, pFold, pText+uintptr(is), nByte)
/* Invoke the token callback */
- rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xToken})))(tls, pCtx, 0, pFold, nByte, is, ie)
+ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xToken})))(tls, pCtx, 0, pFold, nByte, is, ie)
is = ie + int32(1)
}
if pFold != bp {
@@ -228242,18 +219587,6 @@ type TUnicode61Tokenizer = struct {
type Unicode61Tokenizer = TUnicode61Tokenizer
-type TUnicode61Tokenizer1 = struct {
- FaTokenChar [128]uint8
- FaFold uintptr
- FnFold int32
- FeRemoveDiacritic int32
- FnException int32
- FaiException uintptr
- FaCategory [32]uint8
-}
-
-type Unicode61Tokenizer1 = TUnicode61Tokenizer1
-
/* Values for eRemoveDiacritic (must match internals of fts5_unicode2.c) */
func _fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) (r int32) {
@@ -228479,7 +219812,7 @@ func _fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) (r int32) {
return libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 160 + uintptr(_sqlite3Fts5UnicodeCategory(tls, libc.Uint32FromInt32(iCode)))))) ^ _fts5UnicodeIsException(tls, p, iCode)
}
-func _fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
var a, aFold, p, pEnd, zCsr, zOut, zTerm, v10, v11, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v26, v27, v3, v4 uintptr
var iCode Tu32
var ie, is, nFold, rc, v7 int32
@@ -228666,7 +219999,7 @@ _9:
_5:
;
/* Invoke the token callback */
- rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xToken})))(tls, pCtx, 0, aFold, int32(int64(zOut)-int64(aFold)), is, ie)
+ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xToken})))(tls, pCtx, 0, aFold, int32(int64(zOut)-int64(aFold)), is, ie)
goto _2
_1:
;
@@ -228694,14 +220027,6 @@ type TPorterTokenizer = struct {
type PorterTokenizer = TPorterTokenizer
-type TPorterTokenizer1 = struct {
- Ftokenizer_v2 Tfts5_tokenizer_v2
- FpTokenizer uintptr
- FaBuf [128]int8
-}
-
-type PorterTokenizer1 = TPorterTokenizer1
-
// C documentation
//
// /*
@@ -228779,14 +220104,6 @@ type TPorterContext = struct {
type PorterContext = TPorterContext
-type TPorterContext1 = struct {
- FpCtx uintptr
- FxToken uintptr
- FaBuf uintptr
-}
-
-type PorterContext1 = TPorterContext1
-
type TPorterRule = struct {
FzSuffix uintptr
FnSuffix int32
@@ -228797,16 +220114,6 @@ type TPorterRule = struct {
type PorterRule = TPorterRule
-type TPorterRule1 = struct {
- FzSuffix uintptr
- FnSuffix int32
- FxCond uintptr
- FzOutput uintptr
- FnOutput int32
-}
-
-type PorterRule1 = TPorterRule1
-
func _fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) (r int32) {
return libc.BoolInt32(int32(c) == int32('a') || int32(c) == int32('e') || int32(c) == int32('i') || int32(c) == int32('o') || int32(c) == int32('u') || bYIsVowel != 0 && int32(c) == int32('y'))
}
@@ -229432,14 +220739,14 @@ pass_through:
// /*
// ** Tokenize using the porter tokenizer.
// */
-func _fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLoc uintptr, nLoc int32, xToken uintptr) (r int32) {
+func _fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLoc uintptr, nLoc int32, __ccgo_fp_xToken uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var p uintptr
var _ /* sCtx at bp+0 */ TPorterContext
_ = p
p = pTokenizer
- (*(*TPorterContext)(unsafe.Pointer(bp))).FxToken = xToken
+ (*(*TPorterContext)(unsafe.Pointer(bp))).FxToken = __ccgo_fp_xToken
(*(*TPorterContext)(unsafe.Pointer(bp))).FpCtx = pCtx
(*(*TPorterContext)(unsafe.Pointer(bp))).FaBuf = p + 40
return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TPorterTokenizer)(unsafe.Pointer(p)).Ftokenizer_v2.FxTokenize})))(tls, (*TPorterTokenizer)(unsafe.Pointer(p)).FpTokenizer, bp, flags, pText, nText, pLoc, nLoc, __ccgo_fp(_fts5PorterCb))
@@ -229457,13 +220764,6 @@ type TTrigramTokenizer = struct {
type TrigramTokenizer = TTrigramTokenizer
-type TTrigramTokenizer1 = struct {
- FbFold int32
- FiFoldParam int32
-}
-
-type TrigramTokenizer1 = TTrigramTokenizer1
-
// C documentation
//
// /*
@@ -229545,7 +220845,7 @@ func _fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, p
// /*
// ** Trigram tokenizer tokenize routine.
// */
-func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var aStart [3]int32
@@ -229673,7 +220973,7 @@ func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int
}
}
/* Pass the current trigram back to fts5 */
- rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xToken})))(tls, pCtx, 0, bp, int32(int64(zOut)-t__predefined_ptrdiff_t(bp)), aStart[0], iNext)
+ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xToken})))(tls, pCtx, 0, bp, int32(int64(zOut)-t__predefined_ptrdiff_t(bp)), aStart[0], iNext)
if iCode == uint32(0) || rc != SQLITE_OK {
break
}
@@ -229749,11 +221049,11 @@ func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int
// ** "trigram" tokenizer, case_sensitive=0 (the default) - FTS5_PATTERN_LIKE
// ** all other tokenizers - FTS5_PATTERN_NONE
// */
-func _sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) (r int32) {
+func _sqlite3Fts5TokenizerPattern(tls *libc.TLS, __ccgo_fp_xCreate uintptr, pTok uintptr) (r int32) {
var p uintptr
var v1 int32
_, _ = p, v1
- if xCreate == __ccgo_fp(_fts5TriCreate) {
+ if __ccgo_fp_xCreate == __ccgo_fp(_fts5TriCreate) {
p = pTok
if (*TTrigramTokenizer)(unsafe.Pointer(p)).FiFoldParam == 0 {
if (*TTrigramTokenizer)(unsafe.Pointer(p)).FbFold != 0 {
@@ -235308,39 +226608,6 @@ type TFts5VocabCursor = struct {
type Fts5VocabCursor = TFts5VocabCursor
-type TFts5VocabTable1 = struct {
- Fbase Tsqlite3_vtab
- FzFts5Tbl uintptr
- FzFts5Db uintptr
- Fdb uintptr
- FpGlobal uintptr
- FeType int32
- FbBusy uint32
-}
-
-type Fts5VocabTable1 = TFts5VocabTable1
-
-type TFts5VocabCursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FpStmt uintptr
- FpFts5 uintptr
- FbEof int32
- FpIter uintptr
- FpStruct uintptr
- FnLeTerm int32
- FzLeTerm uintptr
- FcolUsed int32
- FiCol int32
- FaCnt uintptr
- FaDoc uintptr
- Frowid Ti64
- Fterm TFts5Buffer
- FiInstPos Ti64
- FiInstOff int32
-}
-
-type Fts5VocabCursor1 = TFts5VocabCursor1
-
/*
** Bits for the mask used as the idxNum value by xBestIndex/xFilter.
*/
@@ -236454,11 +227721,11 @@ var Xsqlite3_temp_directory uintptr
// **
// ** See also: [sqlite_version()] and [sqlite_source_id()].
// */
-var Xsqlite3_version = [7]int8{'3', '.', '5', '0', '.', '3'}
+var Xsqlite3_version = [7]int8{'3', '.', '5', '0', '.', '4'}
var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
-var __ccgo_ts1 = "ATOMIC_INTRINSICS=0\x00COMPILER=clang-17.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=1000\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00unistr('\x000123456789abcdef\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenWrite\x00OpenDup\x00BitNot\x00OpenAutoindex\x00OpenEphemeral\x00String8\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00DropTrigger\x00Real\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00S\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00hfs\x00ufs\x00afpfs\x00smbfs\x00webdav\x00nfs\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00msdos\x00exfat\x00SQLITE_FORCE_PROXY_LOCKING\x00:auto:\x00fsync\x00/dev/urandom\x00sqliteplocks\x00/\x00dummy\x00break\x00path error (len %d)\x00read error (len %d)\x00create failed (%d)\x00write failed (%d)\x00rename failed (%d)\x00broke stale lock on %s\n\x00failed to break stale lock on %s, %s\n\x00-conch\x00.lock\x00:auto: (not held)\x00unix\x00unix-none\x00unix-dotfile\x00unix-posix\x00unix-flock\x00unix-afp\x00unix-nfs\x00unix-proxy\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00subrtnsig:%d,%s\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d: %s; [%s]\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: %s; [%s]\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open table with generated columns: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00more than %d aggregate terms\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%#Q\x00%Q\x00invalid Unicode escape\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00unistr\x00quote\x00unistr_quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00if\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00dylib\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00builtin\x00enc\x00narg\x00flags\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00unique\x00origin\x00partial\x00wdth\x00hght\x00flgs\x00rowid\x00fkid\x00busy\x00checkpointed\x00file\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00lock_proxy_file\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00failed to set lock proxy file\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00CREATE BLOOM FILTER\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00vacuum_%016llx\x00ATTACH %Q AS %s\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO %s.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM %s.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO %s.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX \x000x%x:%s\x00%d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00internal query planner error\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00near \"%T\": syntax error\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00#\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1, 0 UNION ALL SELECT 1, 'idx', '', 0, '', 2, 0 UNION ALL SELECT 2, 'stat', '', 0, '', 0, 0\x00PRAGMA '%q'.table_xinfo('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00SELECT * FROM %Q.sqlite_schema\x00no such table: %s.%s\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00wrong number of arguments to function fts5_get_locale()\x00non-integer argument passed to function fts5_get_locale()\x00snippet\x00highlight\x00bm25\x00fts5_get_locale\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00contentless_unindexed\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00locale\x00malformed locale=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00, NULL\x00, T.l%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00contentless_unindexed=1 requires a contentless table\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00insttoken\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00REPLACE INTO %Q.'%q_config' VALUES ('version', %d)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%.*s\x00%s: table does not support scanning\x00fts5: missing row %lld from content table %s\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00%s a subset of columns on fts5 contentless-delete table: %s\x00%s contentless fts5 table: %s\x00cannot UPDATE\x00'delete' may not be used with a contentless_delete=1 table\x00cannot DELETE from contentless fts5 table: %s\x00fts5_locale() requires locale=1\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2025-07-17 13:25:10 3ce993b8657d6d9deda380a93cdd6404a8c8ba1b185b2bc423703e41ae5f2543\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00fts5_locale\x00fts5_insttoken\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00%z%s?%d\x00%z,?%d\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00, l%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00DELETE FROM %Q.'%q_content';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00trigram\x00ascii\x00porter\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002025-07-17 13:25:10 3ce993b8657d6d9deda380a93cdd6404a8c8ba1b185b2bc423703e41ae5f2543\x00"
+var __ccgo_ts1 = "ATOMIC_INTRINSICS=0\x00COMPILER=clang-17.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=1000\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00unistr('\x000123456789abcdef\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenWrite\x00OpenDup\x00BitNot\x00OpenAutoindex\x00OpenEphemeral\x00String8\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00DropTrigger\x00Real\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00S\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00hfs\x00ufs\x00afpfs\x00smbfs\x00webdav\x00nfs\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00msdos\x00exfat\x00SQLITE_FORCE_PROXY_LOCKING\x00:auto:\x00fsync\x00/dev/urandom\x00sqliteplocks\x00/\x00dummy\x00break\x00path error (len %d)\x00read error (len %d)\x00create failed (%d)\x00write failed (%d)\x00rename failed (%d)\x00broke stale lock on %s\n\x00failed to break stale lock on %s, %s\n\x00-conch\x00.lock\x00:auto: (not held)\x00unix\x00unix-none\x00unix-dotfile\x00unix-posix\x00unix-flock\x00unix-afp\x00unix-nfs\x00unix-proxy\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00subrtnsig:%d,%s\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d: %s; [%s]\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: %s; [%s]\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open table with generated columns: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00more than %d aggregate terms\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%#Q\x00%Q\x00invalid Unicode escape\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00unistr\x00quote\x00unistr_quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00if\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00dylib\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00builtin\x00enc\x00narg\x00flags\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00unique\x00origin\x00partial\x00wdth\x00hght\x00flgs\x00rowid\x00fkid\x00busy\x00checkpointed\x00file\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00lock_proxy_file\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00failed to set lock proxy file\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00CREATE BLOOM FILTER\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00vacuum_%016llx\x00ATTACH %Q AS %s\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO %s.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM %s.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO %s.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX \x000x%x:%s\x00%d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00internal query planner error\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00near \"%T\": syntax error\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00#\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1, 0 UNION ALL SELECT 1, 'idx', '', 0, '', 2, 0 UNION ALL SELECT 2, 'stat', '', 0, '', 0, 0\x00PRAGMA '%q'.table_xinfo('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00SELECT * FROM %Q.sqlite_schema\x00no such table: %s.%s\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00wrong number of arguments to function fts5_get_locale()\x00non-integer argument passed to function fts5_get_locale()\x00snippet\x00highlight\x00bm25\x00fts5_get_locale\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00contentless_unindexed\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00locale\x00malformed locale=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00, NULL\x00, T.l%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00contentless_unindexed=1 requires a contentless table\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00insttoken\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00REPLACE INTO %Q.'%q_config' VALUES ('version', %d)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%.*s\x00%s: table does not support scanning\x00fts5: missing row %lld from content table %s\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00%s a subset of columns on fts5 contentless-delete table: %s\x00%s contentless fts5 table: %s\x00cannot UPDATE\x00'delete' may not be used with a contentless_delete=1 table\x00cannot DELETE from contentless fts5 table: %s\x00fts5_locale() requires locale=1\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00fts5_locale\x00fts5_insttoken\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00%z%s?%d\x00%z,?%d\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00, l%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00DELETE FROM %Q.'%q_content';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00trigram\x00ascii\x00porter\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3\x00"
type Sqlite3_int64 = sqlite3_int64
type Sqlite3_mutex_methods = sqlite3_mutex_methods
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_darwin_arm64.go b/vendor/modernc.org/sqlite/lib/sqlite_darwin_arm64.go
index 85c3ad879a100..6a63273d7c20a 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_darwin_arm64.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_darwin_arm64.go
@@ -3077,7 +3077,7 @@ const SQLITE_SHM_SHARED = 4
const SQLITE_SHM_UNLOCK = 1
const SQLITE_SORTER_PMASZ = 250
const SQLITE_SOUNDEX = 1
-const SQLITE_SOURCE_ID = "2025-07-17 13:25:10 3ce993b8657d6d9deda380a93cdd6404a8c8ba1b185b2bc423703e41ae5f2543"
+const SQLITE_SOURCE_ID = "2025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3"
const SQLITE_SO_ASC = 0
const SQLITE_SO_DESC = 1
const SQLITE_SO_UNDEFINED = -1
@@ -3187,8 +3187,8 @@ const SQLITE_UTF16LE = 2
const SQLITE_UTF16NATIVE = 2
const SQLITE_UTF16_ALIGNED = 8
const SQLITE_UTF8 = 1
-const SQLITE_VERSION = "3.50.3"
-const SQLITE_VERSION_NUMBER = 3050003
+const SQLITE_VERSION = "3.50.4"
+const SQLITE_VERSION_NUMBER = 3050004
const SQLITE_VTABRISK_High = 2
const SQLITE_VTABRISK_Low = 0
const SQLITE_VTABRISK_Normal = 1
@@ -5496,12 +5496,6 @@ type Tsqlite3_file = struct {
type sqlite3_file = Tsqlite3_file
-type Tsqlite3_file1 = struct {
- FpMethods uintptr
-}
-
-type sqlite3_file1 = Tsqlite3_file1
-
// C documentation
//
// /*
@@ -5630,30 +5624,6 @@ type Tsqlite3_io_methods = struct {
type sqlite3_io_methods = Tsqlite3_io_methods
-type Tsqlite3_io_methods1 = struct {
- FiVersion int32
- FxClose uintptr
- FxRead uintptr
- FxWrite uintptr
- FxTruncate uintptr
- FxSync uintptr
- FxFileSize uintptr
- FxLock uintptr
- FxUnlock uintptr
- FxCheckReservedLock uintptr
- FxFileControl uintptr
- FxSectorSize uintptr
- FxDeviceCharacteristics uintptr
- FxShmMap uintptr
- FxShmLock uintptr
- FxShmBarrier uintptr
- FxShmUnmap uintptr
- FxFetch uintptr
- FxUnfetch uintptr
-}
-
-type sqlite3_io_methods1 = Tsqlite3_io_methods1
-
// C documentation
//
// /*
@@ -6166,33 +6136,6 @@ type Tsqlite3_syscall_ptr = uintptr
type sqlite3_syscall_ptr = Tsqlite3_syscall_ptr
-type Tsqlite3_vfs1 = struct {
- FiVersion int32
- FszOsFile int32
- FmxPathname int32
- FpNext uintptr
- FzName uintptr
- FpAppData uintptr
- FxOpen uintptr
- FxDelete uintptr
- FxAccess uintptr
- FxFullPathname uintptr
- FxDlOpen uintptr
- FxDlError uintptr
- FxDlSym uintptr
- FxDlClose uintptr
- FxRandomness uintptr
- FxSleep uintptr
- FxCurrentTime uintptr
- FxGetLastError uintptr
- FxCurrentTimeInt64 uintptr
- FxSetSystemCall uintptr
- FxGetSystemCall uintptr
- FxNextSystemCall uintptr
-}
-
-type sqlite3_vfs1 = Tsqlite3_vfs1
-
// C documentation
//
// /*
@@ -6271,19 +6214,6 @@ type Tsqlite3_mem_methods = struct {
type sqlite3_mem_methods = Tsqlite3_mem_methods
-type Tsqlite3_mem_methods1 = struct {
- FxMalloc uintptr
- FxFree uintptr
- FxRealloc uintptr
- FxSize uintptr
- FxRoundup uintptr
- FxInit uintptr
- FxShutdown uintptr
- FpAppData uintptr
-}
-
-type sqlite3_mem_methods1 = Tsqlite3_mem_methods1
-
// C documentation
//
// /*
@@ -6459,223 +6389,6 @@ type Tsqlite3_module = struct {
type sqlite3_module = Tsqlite3_module
-/*
-** CAPI3REF: Virtual Table Object
-** KEYWORDS: sqlite3_module {virtual table module}
-**
-** This structure, sometimes called a "virtual table module",
-** defines the implementation of a [virtual table].
-** This structure consists mostly of methods for the module.
-**
-** ^A virtual table module is created by filling in a persistent
-** instance of this structure and passing a pointer to that instance
-** to [sqlite3_create_module()] or [sqlite3_create_module_v2()].
-** ^The registration remains valid until it is replaced by a different
-** module or until the [database connection] closes. The content
-** of this structure must not change while it is registered with
-** any database connection.
- */
-type Tsqlite3_module1 = struct {
- FiVersion int32
- FxCreate uintptr
- FxConnect uintptr
- FxBestIndex uintptr
- FxDisconnect uintptr
- FxDestroy uintptr
- FxOpen uintptr
- FxClose uintptr
- FxFilter uintptr
- FxNext uintptr
- FxEof uintptr
- FxColumn uintptr
- FxRowid uintptr
- FxUpdate uintptr
- FxBegin uintptr
- FxSync uintptr
- FxCommit uintptr
- FxRollback uintptr
- FxFindFunction uintptr
- FxRename uintptr
- FxSavepoint uintptr
- FxRelease uintptr
- FxRollbackTo uintptr
- FxShadowName uintptr
- FxIntegrity uintptr
-}
-
-type sqlite3_module1 = Tsqlite3_module1
-
-/*
-** CAPI3REF: Virtual Table Indexing Information
-** KEYWORDS: sqlite3_index_info
-**
-** The sqlite3_index_info structure and its substructures is used as part
-** of the [virtual table] interface to
-** pass information into and receive the reply from the [xBestIndex]
-** method of a [virtual table module]. The fields under **Inputs** are the
-** inputs to xBestIndex and are read-only. xBestIndex inserts its
-** results into the **Outputs** fields.
-**
-** ^(The aConstraint[] array records WHERE clause constraints of the form:
-**
-** column OP expr
-**
-** where OP is =, <, <=, >, or >=.)^ ^(The particular operator is
-** stored in aConstraint[].op using one of the
-** [SQLITE_INDEX_CONSTRAINT_EQ | SQLITE_INDEX_CONSTRAINT_ values].)^
-** ^(The index of the column is stored in
-** aConstraint[].iColumn.)^ ^(aConstraint[].usable is TRUE if the
-** expr on the right-hand side can be evaluated (and thus the constraint
-** is usable) and false if it cannot.)^
-**
-** ^The optimizer automatically inverts terms of the form "expr OP column"
-** and makes other simplifications to the WHERE clause in an attempt to
-** get as many WHERE clause terms into the form shown above as possible.
-** ^The aConstraint[] array only reports WHERE clause terms that are
-** relevant to the particular virtual table being queried.
-**
-** ^Information about the ORDER BY clause is stored in aOrderBy[].
-** ^Each term of aOrderBy records a column of the ORDER BY clause.
-**
-** The colUsed field indicates which columns of the virtual table may be
-** required by the current scan. Virtual table columns are numbered from
-** zero in the order in which they appear within the CREATE TABLE statement
-** passed to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62),
-** the corresponding bit is set within the colUsed mask if the column may be
-** required by SQLite. If the table has at least 64 columns and any column
-** to the right of the first 63 is required, then bit 63 of colUsed is also
-** set. In other words, column iCol may be required if the expression
-** (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) evaluates to
-** non-zero.
-**
-** The [xBestIndex] method must fill aConstraintUsage[] with information
-** about what parameters to pass to xFilter. ^If argvIndex>0 then
-** the right-hand side of the corresponding aConstraint[] is evaluated
-** and becomes the argvIndex-th entry in argv. ^(If aConstraintUsage[].omit
-** is true, then the constraint is assumed to be fully handled by the
-** virtual table and might not be checked again by the byte code.)^ ^(The
-** aConstraintUsage[].omit flag is an optimization hint. When the omit flag
-** is left in its default setting of false, the constraint will always be
-** checked separately in byte code. If the omit flag is changed to true, then
-** the constraint may or may not be checked in byte code. In other words,
-** when the omit flag is true there is no guarantee that the constraint will
-** not be checked again using byte code.)^
-**
-** ^The idxNum and idxStr values are recorded and passed into the
-** [xFilter] method.
-** ^[sqlite3_free()] is used to free idxStr if and only if
-** needToFreeIdxStr is true.
-**
-** ^The orderByConsumed means that output from [xFilter]/[xNext] will occur in
-** the correct order to satisfy the ORDER BY clause so that no separate
-** sorting step is required.
-**
-** ^The estimatedCost value is an estimate of the cost of a particular
-** strategy. A cost of N indicates that the cost of the strategy is similar
-** to a linear scan of an SQLite table with N rows. A cost of log(N)
-** indicates that the expense of the operation is similar to that of a
-** binary search on a unique indexed field of an SQLite table with N rows.
-**
-** ^The estimatedRows value is an estimate of the number of rows that
-** will be returned by the strategy.
-**
-** The xBestIndex method may optionally populate the idxFlags field with a
-** mask of SQLITE_INDEX_SCAN_* flags. One such flag is
-** [SQLITE_INDEX_SCAN_HEX], which if set causes the [EXPLAIN QUERY PLAN]
-** output to show the idxNum as hex instead of as decimal. Another flag is
-** SQLITE_INDEX_SCAN_UNIQUE, which if set indicates that the query plan will
-** return at most one row.
-**
-** Additionally, if xBestIndex sets the SQLITE_INDEX_SCAN_UNIQUE flag, then
-** SQLite also assumes that if a call to the xUpdate() method is made as
-** part of the same statement to delete or update a virtual table row and the
-** implementation returns SQLITE_CONSTRAINT, then there is no need to rollback
-** any database changes. In other words, if the xUpdate() returns
-** SQLITE_CONSTRAINT, the database contents must be exactly as they were
-** before xUpdate was called. By contrast, if SQLITE_INDEX_SCAN_UNIQUE is not
-** set and xUpdate returns SQLITE_CONSTRAINT, any database changes made by
-** the xUpdate method are automatically rolled back by SQLite.
-**
-** IMPORTANT: The estimatedRows field was added to the sqlite3_index_info
-** structure for SQLite [version 3.8.2] ([dateof:3.8.2]).
-** If a virtual table extension is
-** used with an SQLite version earlier than 3.8.2, the results of attempting
-** to read or write the estimatedRows field are undefined (but are likely
-** to include crashing the application). The estimatedRows field should
-** therefore only be used if [sqlite3_libversion_number()] returns a
-** value greater than or equal to 3008002. Similarly, the idxFlags field
-** was added for [version 3.9.0] ([dateof:3.9.0]).
-** It may therefore only be used if
-** sqlite3_libversion_number() returns a value greater than or equal to
-** 3009000.
- */
-type Tsqlite3_index_info1 = struct {
- FnConstraint int32
- FaConstraint uintptr
- FnOrderBy int32
- FaOrderBy uintptr
- FaConstraintUsage uintptr
- FidxNum int32
- FidxStr uintptr
- FneedToFreeIdxStr int32
- ForderByConsumed int32
- FestimatedCost float64
- FestimatedRows Tsqlite3_int64
- FidxFlags int32
- FcolUsed Tsqlite3_uint64
-}
-
-type sqlite3_index_info1 = Tsqlite3_index_info1
-
-/*
-** CAPI3REF: Virtual Table Instance Object
-** KEYWORDS: sqlite3_vtab
-**
-** Every [virtual table module] implementation uses a subclass
-** of this object to describe a particular instance
-** of the [virtual table]. Each subclass will
-** be tailored to the specific needs of the module implementation.
-** The purpose of this superclass is to define certain fields that are
-** common to all module implementations.
-**
-** ^Virtual tables methods can set an error message by assigning a
-** string obtained from [sqlite3_mprintf()] to zErrMsg. The method should
-** take care that any prior string is freed by a call to [sqlite3_free()]
-** prior to assigning a new string to zErrMsg. ^After the error message
-** is delivered up to the client application, the string will be automatically
-** freed by sqlite3_free() and the zErrMsg field will be zeroed.
- */
-type Tsqlite3_vtab1 = struct {
- FpModule uintptr
- FnRef int32
- FzErrMsg uintptr
-}
-
-type sqlite3_vtab1 = Tsqlite3_vtab1
-
-/*
-** CAPI3REF: Virtual Table Cursor Object
-** KEYWORDS: sqlite3_vtab_cursor {virtual table cursor}
-**
-** Every [virtual table module] implementation uses a subclass of the
-** following structure to describe cursors that point into the
-** [virtual table] and are used
-** to loop through the virtual table. Cursors are created using the
-** [sqlite3_module.xOpen | xOpen] method of the module and are destroyed
-** by the [sqlite3_module.xClose | xClose] method. Cursors are used
-** by the [xFilter], [xNext], [xEof], [xColumn], and [xRowid] methods
-** of the module. Each module implementation will define
-** the content of a cursor structure to suit its own needs.
-**
-** This superclass exists in order to define fields of the cursor that
-** are common to all implementations.
- */
-type Tsqlite3_vtab_cursor1 = struct {
- FpVtab uintptr
-}
-
-type sqlite3_vtab_cursor1 = Tsqlite3_vtab_cursor1
-
// C documentation
//
// /*
@@ -6757,20 +6470,6 @@ type Tsqlite3_mutex_methods = struct {
type sqlite3_mutex_methods = Tsqlite3_mutex_methods
-type Tsqlite3_mutex_methods1 = struct {
- FxMutexInit uintptr
- FxMutexEnd uintptr
- FxMutexAlloc uintptr
- FxMutexFree uintptr
- FxMutexEnter uintptr
- FxMutexTry uintptr
- FxMutexLeave uintptr
- FxMutexHeld uintptr
- FxMutexNotheld uintptr
-}
-
-type sqlite3_mutex_methods1 = Tsqlite3_mutex_methods1
-
// C documentation
//
// /*
@@ -6820,13 +6519,6 @@ type Tsqlite3_pcache_page = struct {
type sqlite3_pcache_page = Tsqlite3_pcache_page
-type Tsqlite3_pcache_page1 = struct {
- FpBuf uintptr
- FpExtra uintptr
-}
-
-type sqlite3_pcache_page1 = Tsqlite3_pcache_page1
-
// C documentation
//
// /*
@@ -7006,24 +6698,6 @@ type Tsqlite3_pcache_methods2 = struct {
type sqlite3_pcache_methods2 = Tsqlite3_pcache_methods2
-type Tsqlite3_pcache_methods21 = struct {
- FiVersion int32
- FpArg uintptr
- FxInit uintptr
- FxShutdown uintptr
- FxCreate uintptr
- FxCachesize uintptr
- FxPagecount uintptr
- FxFetch uintptr
- FxUnpin uintptr
- FxRekey uintptr
- FxTruncate uintptr
- FxDestroy uintptr
- FxShrink uintptr
-}
-
-type sqlite3_pcache_methods21 = Tsqlite3_pcache_methods21
-
// C documentation
//
// /*
@@ -7047,22 +6721,6 @@ type Tsqlite3_pcache_methods = struct {
type sqlite3_pcache_methods = Tsqlite3_pcache_methods
-type Tsqlite3_pcache_methods1 = struct {
- FpArg uintptr
- FxInit uintptr
- FxShutdown uintptr
- FxCreate uintptr
- FxCachesize uintptr
- FxPagecount uintptr
- FxFetch uintptr
- FxUnpin uintptr
- FxRekey uintptr
- FxTruncate uintptr
- FxDestroy uintptr
-}
-
-type sqlite3_pcache_methods1 = Tsqlite3_pcache_methods1
-
// C documentation
//
// /*
@@ -7203,50 +6861,6 @@ type Tsqlite3_rtree_dbl = float64
type sqlite3_rtree_dbl = Tsqlite3_rtree_dbl
-/*
-** A pointer to a structure of the following type is passed as the first
-** argument to callbacks registered using rtree_geometry_callback().
- */
-type Tsqlite3_rtree_geometry1 = struct {
- FpContext uintptr
- FnParam int32
- FaParam uintptr
- FpUser uintptr
- FxDelUser uintptr
-}
-
-type sqlite3_rtree_geometry1 = Tsqlite3_rtree_geometry1
-
-/*
-** A pointer to a structure of the following type is passed as the
-** argument to scored geometry callback registered using
-** sqlite3_rtree_query_callback().
-**
-** Note that the first 5 fields of this structure are identical to
-** sqlite3_rtree_geometry. This structure is a subclass of
-** sqlite3_rtree_geometry.
- */
-type Tsqlite3_rtree_query_info1 = struct {
- FpContext uintptr
- FnParam int32
- FaParam uintptr
- FpUser uintptr
- FxDelUser uintptr
- FaCoord uintptr
- FanQueue uintptr
- FnCoord int32
- FiLevel int32
- FmxLevel int32
- FiRowid Tsqlite3_int64
- FrParentScore Tsqlite3_rtree_dbl
- FeParentWithin int32
- FeWithin int32
- FrScore Tsqlite3_rtree_dbl
- FapSqlParam uintptr
-}
-
-type sqlite3_rtree_query_info1 = Tsqlite3_rtree_query_info1
-
/*
** Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin.
*/
@@ -7643,340 +7257,6 @@ type Tfts5_extension_function = uintptr
type fts5_extension_function = Tfts5_extension_function
-type TFts5PhraseIter1 = struct {
- Fa uintptr
- Fb uintptr
-}
-
-type Fts5PhraseIter1 = TFts5PhraseIter1
-
-/*
-** EXTENSION API FUNCTIONS
-**
-** xUserData(pFts):
-** Return a copy of the pUserData pointer passed to the xCreateFunction()
-** API when the extension function was registered.
-**
-** xColumnTotalSize(pFts, iCol, pnToken):
-** If parameter iCol is less than zero, set output variable *pnToken
-** to the total number of tokens in the FTS5 table. Or, if iCol is
-** non-negative but less than the number of columns in the table, return
-** the total number of tokens in column iCol, considering all rows in
-** the FTS5 table.
-**
-** If parameter iCol is greater than or equal to the number of columns
-** in the table, SQLITE_RANGE is returned. Or, if an error occurs (e.g.
-** an OOM condition or IO error), an appropriate SQLite error code is
-** returned.
-**
-** xColumnCount(pFts):
-** Return the number of columns in the table.
-**
-** xColumnSize(pFts, iCol, pnToken):
-** If parameter iCol is less than zero, set output variable *pnToken
-** to the total number of tokens in the current row. Or, if iCol is
-** non-negative but less than the number of columns in the table, set
-** *pnToken to the number of tokens in column iCol of the current row.
-**
-** If parameter iCol is greater than or equal to the number of columns
-** in the table, SQLITE_RANGE is returned. Or, if an error occurs (e.g.
-** an OOM condition or IO error), an appropriate SQLite error code is
-** returned.
-**
-** This function may be quite inefficient if used with an FTS5 table
-** created with the "columnsize=0" option.
-**
-** xColumnText:
-** If parameter iCol is less than zero, or greater than or equal to the
-** number of columns in the table, SQLITE_RANGE is returned.
-**
-** Otherwise, this function attempts to retrieve the text of column iCol of
-** the current document. If successful, (*pz) is set to point to a buffer
-** containing the text in utf-8 encoding, (*pn) is set to the size in bytes
-** (not characters) of the buffer and SQLITE_OK is returned. Otherwise,
-** if an error occurs, an SQLite error code is returned and the final values
-** of (*pz) and (*pn) are undefined.
-**
-** xPhraseCount:
-** Returns the number of phrases in the current query expression.
-**
-** xPhraseSize:
-** If parameter iCol is less than zero, or greater than or equal to the
-** number of phrases in the current query, as returned by xPhraseCount,
-** 0 is returned. Otherwise, this function returns the number of tokens in
-** phrase iPhrase of the query. Phrases are numbered starting from zero.
-**
-** xInstCount:
-** Set *pnInst to the total number of occurrences of all phrases within
-** the query within the current row. Return SQLITE_OK if successful, or
-** an error code (i.e. SQLITE_NOMEM) if an error occurs.
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option. If the FTS5 table is created
-** with either "detail=none" or "detail=column" and "content=" option
-** (i.e. if it is a contentless table), then this API always returns 0.
-**
-** xInst:
-** Query for the details of phrase match iIdx within the current row.
-** Phrase matches are numbered starting from zero, so the iIdx argument
-** should be greater than or equal to zero and smaller than the value
-** output by xInstCount(). If iIdx is less than zero or greater than
-** or equal to the value returned by xInstCount(), SQLITE_RANGE is returned.
-**
-** Otherwise, output parameter *piPhrase is set to the phrase number, *piCol
-** to the column in which it occurs and *piOff the token offset of the
-** first token of the phrase. SQLITE_OK is returned if successful, or an
-** error code (i.e. SQLITE_NOMEM) if an error occurs.
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option.
-**
-** xRowid:
-** Returns the rowid of the current row.
-**
-** xTokenize:
-** Tokenize text using the tokenizer belonging to the FTS5 table.
-**
-** xQueryPhrase(pFts5, iPhrase, pUserData, xCallback):
-** This API function is used to query the FTS table for phrase iPhrase
-** of the current query. Specifically, a query equivalent to:
-**
-** ... FROM ftstable WHERE ftstable MATCH $p ORDER BY rowid
-**
-** with $p set to a phrase equivalent to the phrase iPhrase of the
-** current query is executed. Any column filter that applies to
-** phrase iPhrase of the current query is included in $p. For each
-** row visited, the callback function passed as the fourth argument
-** is invoked. The context and API objects passed to the callback
-** function may be used to access the properties of each matched row.
-** Invoking Api.xUserData() returns a copy of the pointer passed as
-** the third argument to pUserData.
-**
-** If parameter iPhrase is less than zero, or greater than or equal to
-** the number of phrases in the query, as returned by xPhraseCount(),
-** this function returns SQLITE_RANGE.
-**
-** If the callback function returns any value other than SQLITE_OK, the
-** query is abandoned and the xQueryPhrase function returns immediately.
-** If the returned value is SQLITE_DONE, xQueryPhrase returns SQLITE_OK.
-** Otherwise, the error code is propagated upwards.
-**
-** If the query runs to completion without incident, SQLITE_OK is returned.
-** Or, if some error occurs before the query completes or is aborted by
-** the callback, an SQLite error code is returned.
-**
-**
-** xSetAuxdata(pFts5, pAux, xDelete)
-**
-** Save the pointer passed as the second argument as the extension function's
-** "auxiliary data". The pointer may then be retrieved by the current or any
-** future invocation of the same fts5 extension function made as part of
-** the same MATCH query using the xGetAuxdata() API.
-**
-** Each extension function is allocated a single auxiliary data slot for
-** each FTS query (MATCH expression). If the extension function is invoked
-** more than once for a single FTS query, then all invocations share a
-** single auxiliary data context.
-**
-** If there is already an auxiliary data pointer when this function is
-** invoked, then it is replaced by the new pointer. If an xDelete callback
-** was specified along with the original pointer, it is invoked at this
-** point.
-**
-** The xDelete callback, if one is specified, is also invoked on the
-** auxiliary data pointer after the FTS5 query has finished.
-**
-** If an error (e.g. an OOM condition) occurs within this function,
-** the auxiliary data is set to NULL and an error code returned. If the
-** xDelete parameter was not NULL, it is invoked on the auxiliary data
-** pointer before returning.
-**
-**
-** xGetAuxdata(pFts5, bClear)
-**
-** Returns the current auxiliary data pointer for the fts5 extension
-** function. See the xSetAuxdata() method for details.
-**
-** If the bClear argument is non-zero, then the auxiliary data is cleared
-** (set to NULL) before this function returns. In this case the xDelete,
-** if any, is not invoked.
-**
-**
-** xRowCount(pFts5, pnRow)
-**
-** This function is used to retrieve the total number of rows in the table.
-** In other words, the same value that would be returned by:
-**
-** SELECT count(*) FROM ftstable;
-**
-** xPhraseFirst()
-** This function is used, along with type Fts5PhraseIter and the xPhraseNext
-** method, to iterate through all instances of a single query phrase within
-** the current row. This is the same information as is accessible via the
-** xInstCount/xInst APIs. While the xInstCount/xInst APIs are more convenient
-** to use, this API may be faster under some circumstances. To iterate
-** through instances of phrase iPhrase, use the following code:
-**
-** Fts5PhraseIter iter;
-** int iCol, iOff;
-** for(pApi->xPhraseFirst(pFts, iPhrase, &iter, &iCol, &iOff);
-** iCol>=0;
-** pApi->xPhraseNext(pFts, &iter, &iCol, &iOff)
-** ){
-** // An instance of phrase iPhrase at offset iOff of column iCol
-** }
-**
-** The Fts5PhraseIter structure is defined above. Applications should not
-** modify this structure directly - it should only be used as shown above
-** with the xPhraseFirst() and xPhraseNext() API methods (and by
-** xPhraseFirstColumn() and xPhraseNextColumn() as illustrated below).
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option. If the FTS5 table is created
-** with either "detail=none" or "detail=column" and "content=" option
-** (i.e. if it is a contentless table), then this API always iterates
-** through an empty set (all calls to xPhraseFirst() set iCol to -1).
-**
-** In all cases, matches are visited in (column ASC, offset ASC) order.
-** i.e. all those in column 0, sorted by offset, followed by those in
-** column 1, etc.
-**
-** xPhraseNext()
-** See xPhraseFirst above.
-**
-** xPhraseFirstColumn()
-** This function and xPhraseNextColumn() are similar to the xPhraseFirst()
-** and xPhraseNext() APIs described above. The difference is that instead
-** of iterating through all instances of a phrase in the current row, these
-** APIs are used to iterate through the set of columns in the current row
-** that contain one or more instances of a specified phrase. For example:
-**
-** Fts5PhraseIter iter;
-** int iCol;
-** for(pApi->xPhraseFirstColumn(pFts, iPhrase, &iter, &iCol);
-** iCol>=0;
-** pApi->xPhraseNextColumn(pFts, &iter, &iCol)
-** ){
-** // Column iCol contains at least one instance of phrase iPhrase
-** }
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" option. If the FTS5 table is created with either
-** "detail=none" "content=" option (i.e. if it is a contentless table),
-** then this API always iterates through an empty set (all calls to
-** xPhraseFirstColumn() set iCol to -1).
-**
-** The information accessed using this API and its companion
-** xPhraseFirstColumn() may also be obtained using xPhraseFirst/xPhraseNext
-** (or xInst/xInstCount). The chief advantage of this API is that it is
-** significantly more efficient than those alternatives when used with
-** "detail=column" tables.
-**
-** xPhraseNextColumn()
-** See xPhraseFirstColumn above.
-**
-** xQueryToken(pFts5, iPhrase, iToken, ppToken, pnToken)
-** This is used to access token iToken of phrase iPhrase of the current
-** query. Before returning, output parameter *ppToken is set to point
-** to a buffer containing the requested token, and *pnToken to the
-** size of this buffer in bytes.
-**
-** If iPhrase or iToken are less than zero, or if iPhrase is greater than
-** or equal to the number of phrases in the query as reported by
-** xPhraseCount(), or if iToken is equal to or greater than the number of
-** tokens in the phrase, SQLITE_RANGE is returned and *ppToken and *pnToken
-
- are both zeroed.
-
-**
-** The output text is not a copy of the query text that specified the
-** token. It is the output of the tokenizer module. For tokendata=1
-** tables, this includes any embedded 0x00 and trailing data.
-**
-** xInstToken(pFts5, iIdx, iToken, ppToken, pnToken)
-** This is used to access token iToken of phrase hit iIdx within the
-** current row. If iIdx is less than zero or greater than or equal to the
-** value returned by xInstCount(), SQLITE_RANGE is returned. Otherwise,
-** output variable (*ppToken) is set to point to a buffer containing the
-** matching document token, and (*pnToken) to the size of that buffer in
-** bytes.
-**
-** The output text is not a copy of the document text that was tokenized.
-** It is the output of the tokenizer module. For tokendata=1 tables, this
-** includes any embedded 0x00 and trailing data.
-**
-** This API may be slow in some cases if the token identified by parameters
-** iIdx and iToken matched a prefix token in the query. In most cases, the
-** first call to this API for each prefix token in the query is forced
-** to scan the portion of the full-text index that matches the prefix
-** token to collect the extra data required by this API. If the prefix
-** token matches a large number of token instances in the document set,
-** this may be a performance problem.
-**
-** If the user knows in advance that a query may use this API for a
-** prefix token, FTS5 may be configured to collect all required data as part
-** of the initial querying of the full-text index, avoiding the second scan
-** entirely. This also causes prefix queries that do not use this API to
-** run more slowly and use more memory. FTS5 may be configured in this way
-** either on a per-table basis using the [FTS5 insttoken | 'insttoken']
-** option, or on a per-query basis using the
-** [fts5_insttoken | fts5_insttoken()] user function.
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option.
-**
-** xColumnLocale(pFts5, iIdx, pzLocale, pnLocale)
-** If parameter iCol is less than zero, or greater than or equal to the
-** number of columns in the table, SQLITE_RANGE is returned.
-**
-** Otherwise, this function attempts to retrieve the locale associated
-** with column iCol of the current row. Usually, there is no associated
-** locale, and output parameters (*pzLocale) and (*pnLocale) are set
-** to NULL and 0, respectively. However, if the fts5_locale() function
-** was used to associate a locale with the value when it was inserted
-** into the fts5 table, then (*pzLocale) is set to point to a nul-terminated
-** buffer containing the name of the locale in utf-8 encoding. (*pnLocale)
-** is set to the size in bytes of the buffer, not including the
-** nul-terminator.
-**
-** If successful, SQLITE_OK is returned. Or, if an error occurs, an
-** SQLite error code is returned. The final value of the output parameters
-** is undefined in this case.
-**
-** xTokenize_v2:
-** Tokenize text using the tokenizer belonging to the FTS5 table. This
-** API is the same as the xTokenize() API, except that it allows a tokenizer
-** locale to be specified.
-*/
-type TFts5ExtensionApi1 = struct {
- FiVersion int32
- FxUserData uintptr
- FxColumnCount uintptr
- FxRowCount uintptr
- FxColumnTotalSize uintptr
- FxTokenize uintptr
- FxPhraseCount uintptr
- FxPhraseSize uintptr
- FxInstCount uintptr
- FxInst uintptr
- FxRowid uintptr
- FxColumnText uintptr
- FxColumnSize uintptr
- FxQueryPhrase uintptr
- FxSetAuxdata uintptr
- FxGetAuxdata uintptr
- FxPhraseFirst uintptr
- FxPhraseNext uintptr
- FxPhraseFirstColumn uintptr
- FxPhraseNextColumn uintptr
- FxQueryToken uintptr
- FxInstToken uintptr
- FxColumnLocale uintptr
- FxTokenize_v2 uintptr
-}
-
-type Fts5ExtensionApi1 = TFts5ExtensionApi1
-
type Tfts5_tokenizer_v2 = struct {
FiVersion int32
FxCreate uintptr
@@ -7986,15 +7266,6 @@ type Tfts5_tokenizer_v2 = struct {
type fts5_tokenizer_v2 = Tfts5_tokenizer_v2
-type Tfts5_tokenizer_v21 = struct {
- FiVersion int32
- FxCreate uintptr
- FxDelete uintptr
- FxTokenize uintptr
-}
-
-type fts5_tokenizer_v21 = Tfts5_tokenizer_v21
-
// C documentation
//
// /*
@@ -8010,14 +7281,6 @@ type Tfts5_tokenizer = struct {
type fts5_tokenizer = Tfts5_tokenizer
-type Tfts5_tokenizer1 = struct {
- FxCreate uintptr
- FxDelete uintptr
- FxTokenize uintptr
-}
-
-type fts5_tokenizer1 = Tfts5_tokenizer1
-
/* Flags that may be passed as the third argument to xTokenize() */
/* Flags that may be passed by the tokenizer implementation back to FTS5
@@ -8043,17 +7306,6 @@ type Tfts5_api = struct {
type fts5_api = Tfts5_api
-type Tfts5_api1 = struct {
- FiVersion int32
- FxCreateTokenizer uintptr
- FxFindTokenizer uintptr
- FxCreateFunction uintptr
- FxCreateTokenizer_v2 uintptr
- FxFindTokenizer_v2 uintptr
-}
-
-type fts5_api1 = Tfts5_api1
-
/*
** END OF REGISTRATION API
*************************************************************************/
@@ -8497,52 +7749,6 @@ type THashElem = struct {
type HashElem = THashElem
-/* A complete hash table is an instance of the following structure.
-** The internals of this structure are intended to be opaque -- client
-** code should not attempt to access or modify the fields of this structure
-** directly. Change this structure only by using the routines below.
-** However, some of the "procedures" and "functions" for modifying and
-** accessing this structure are really macros, so we can't really make
-** this structure opaque.
-**
-** All elements of the hash table are on a single doubly-linked list.
-** Hash.first points to the head of this list.
-**
-** There are Hash.htsize buckets. Each bucket points to a spot in
-** the global doubly-linked list. The contents of the bucket are the
-** element pointed to plus the next _ht.count-1 elements in the list.
-**
-** Hash.htsize and Hash.ht may be zero. In that case lookup is done
-** by a linear search of the global list. For small tables, the
-** Hash.ht table is never allocated because if there are few elements
-** in the table, it is faster to do a linear search than to manage
-** the hash table.
- */
-type THash1 = struct {
- Fhtsize uint32
- Fcount uint32
- Ffirst uintptr
- Fht uintptr
-}
-
-type Hash1 = THash1
-
-/* Each element in the hash table is an instance of the following
-** structure. All elements are stored on a single doubly-linked list.
-**
-** Again, this structure is intended to be opaque, but it can't really
-** be opaque because it is used by macros.
- */
-type THashElem1 = struct {
- Fnext uintptr
- Fprev uintptr
- Fdata uintptr
- FpKey uintptr
- Fh uint32
-}
-
-type HashElem1 = THashElem1
-
type t__int8_t = int8
type t__uint8_t = uint8
@@ -9946,14 +9152,6 @@ type TBusyHandler = struct {
type BusyHandler = TBusyHandler
-type TBusyHandler1 = struct {
- FxBusyHandler uintptr
- FpBusyArg uintptr
- FnBusy int32
-}
-
-type BusyHandler1 = TBusyHandler1
-
/*
** Name of table that holds the database schema.
**
@@ -10198,6 +9396,7 @@ type TExpr = struct {
FpAggInfo uintptr
Fy struct {
FpWin [0]uintptr
+ FnReg [0]int32
Fsub [0]struct {
FiAddr int32
FregReturn int32
@@ -10683,10 +9882,6 @@ type TStrAccum = struct {
type StrAccum = TStrAccum
-type Tsqlite3_str1 = TStrAccum
-
-type sqlite3_str1 = Tsqlite3_str1
-
/* Internal alias for sqlite3_str */
type TTable = struct {
FzName uintptr
@@ -11115,9 +10310,9 @@ type DbPage = TDbPage
// /*
// ** Handle type for pages.
// */
-type TPgHdr2 = TDbPage
+type TPgHdr = TDbPage
-type PgHdr2 = TPgHdr2
+type PgHdr = TPgHdr
/* Functions to support testing and debugging. */
@@ -11244,53 +10439,6 @@ type TBtreePayload = struct {
type BtreePayload = TBtreePayload
-/* Allowed flags for sqlite3BtreeDelete() and sqlite3BtreeInsert() */
-
-/* An instance of the BtreePayload object describes the content of a single
-** entry in either an index or table btree.
-**
-** Index btrees (used for indexes and also WITHOUT ROWID tables) contain
-** an arbitrary key and no data. These btrees have pKey,nKey set to the
-** key and the pData,nData,nZero fields are uninitialized. The aMem,nMem
-** fields give an array of Mem objects that are a decomposition of the key.
-** The nMem field might be zero, indicating that no decomposition is available.
-**
-** Table btrees (used for rowid tables) contain an integer rowid used as
-** the key and passed in the nKey field. The pKey field is zero.
-** pData,nData hold the content of the new entry. nZero extra zero bytes
-** are appended to the end of the content when constructing the entry.
-** The aMem,nMem fields are uninitialized for table btrees.
-**
-** Field usage summary:
-**
-** Table BTrees Index Btrees
-**
-** pKey always NULL encoded key
-** nKey the ROWID length of pKey
-** pData data not used
-** aMem not used decomposed key value
-** nMem not used entries in aMem
-** nData length of pData not used
-** nZero extra zeros after pData not used
-**
-** This object is used to pass information into sqlite3BtreeInsert(). The
-** same information used to be passed as five separate parameters. But placing
-** the information into this object helps to keep the interface more
-** organized and understandable, and it also helps the resulting code to
-** run a little faster by using fewer registers for parameter passing.
- */
-type TBtreePayload1 = struct {
- FpKey uintptr
- FnKey Tsqlite3_int64
- FpData uintptr
- FaMem uintptr
- FnMem Tu16
- FnData int32
- FnZero int32
-}
-
-type BtreePayload1 = TBtreePayload1
-
/************** End of btree.h ***********************************************/
/************** Continuing where we left off in sqliteInt.h ******************/
/************** Include vdbe.h in the middle of sqliteInt.h ******************/
@@ -11394,16 +10542,6 @@ type TMem = struct {
type Mem = TMem
-// C documentation
-//
-// /*
-// ** The names of the following types declared in vdbeInt.h are required
-// ** for the VdbeOp definition.
-// */
-type Tsqlite3_value1 = TMem
-
-type sqlite3_value1 = Tsqlite3_value1
-
type TSubProgram = struct {
FaOp uintptr
FnOp int32
@@ -11427,38 +10565,11 @@ type TSubrtnSig = struct {
type SubrtnSig = TSubrtnSig
-/*
-** A signature for a reusable subroutine that materializes the RHS of
-** an IN operator.
- */
-type TSubrtnSig1 = struct {
- FselId int32
- FbComplete Tu8
- FzAff uintptr
- FiTable int32
- FiAddr int32
- FregReturn int32
-}
-
-type SubrtnSig1 = TSubrtnSig1
-
/*
** A single instruction of the virtual machine has an opcode
** and as many as three operands. The instruction is recorded
** as an instance of the following structure:
*/
-type TVdbeOp1 = struct {
- Fopcode Tu8
- Fp4type int8
- Fp5 Tu16
- Fp1 int32
- Fp2 int32
- Fp3 int32
- Fp4 Tp4union
-}
-
-type VdbeOp1 = TVdbeOp1
-
type TVdbeOp = struct {
Fopcode Tu8
Fp4type int8
@@ -11471,34 +10582,10 @@ type TVdbeOp = struct {
type VdbeOp = TVdbeOp
-/*
-** A sub-routine used to implement a trigger program.
- */
-type TSubProgram1 = struct {
- FaOp uintptr
- FnOp int32
- FnMem int32
- FnCsr int32
- FaOnce uintptr
- Ftoken uintptr
- FpNext uintptr
-}
-
-type SubProgram1 = TSubProgram1
-
/*
** A smaller version of VdbeOp used for the VdbeAddOpList() function because
** it takes up less space.
*/
-type TVdbeOpList1 = struct {
- Fopcode Tu8
- Fp1 int8
- Fp2 int8
- Fp3 int8
-}
-
-type VdbeOpList1 = TVdbeOpList1
-
type TVdbeOpList = struct {
Fopcode Tu8
Fp1 int8
@@ -11512,90 +10599,6 @@ type TRecordCompare = uintptr
type RecordCompare = TRecordCompare
-/* Use SQLITE_ENABLE_EXPLAIN_COMMENTS to enable generation of extra
-** comments on each VDBE opcode.
-**
-** Use the SQLITE_ENABLE_MODULE_COMMENTS macro to see some extra no-op
-** comments in VDBE programs that show key decision points in the code
-** generator.
- */
-
-/*
-** The VdbeCoverage macros are used to set a coverage testing point
-** for VDBE branch instructions. The coverage testing points are line
-** numbers in the sqlite3.c source file. VDBE branch coverage testing
-** only works with an amalgamation build. That's ok since a VDBE branch
-** coverage build designed for testing the test suite only. No application
-** should ever ship with VDBE branch coverage measuring turned on.
-**
-** VdbeCoverage(v) // Mark the previously coded instruction
-** // as a branch
-**
-** VdbeCoverageIf(v, conditional) // Mark previous if conditional true
-**
-** VdbeCoverageAlwaysTaken(v) // Previous branch is always taken
-**
-** VdbeCoverageNeverTaken(v) // Previous branch is never taken
-**
-** VdbeCoverageNeverNull(v) // Previous three-way branch is only
-** // taken on the first two ways. The
-** // NULL option is not possible
-**
-** VdbeCoverageEqNe(v) // Previous OP_Jump is only interested
-** // in distinguishing equal and not-equal.
-**
-** Every VDBE branch operation must be tagged with one of the macros above.
-** If not, then when "make test" is run with -DSQLITE_VDBE_COVERAGE and
-** -DSQLITE_DEBUG then an ALWAYS() will fail in the vdbeTakeBranch()
-** routine in vdbe.c, alerting the developer to the missed tag.
-**
-** During testing, the test application will invoke
-** sqlite3_test_control(SQLITE_TESTCTRL_VDBE_COVERAGE,...) to set a callback
-** routine that is invoked as each bytecode branch is taken. The callback
-** contains the sqlite3.c source line number of the VdbeCoverage macro and
-** flags to indicate whether or not the branch was taken. The test application
-** is responsible for keeping track of this and reporting byte-code branches
-** that are never taken.
-**
-** See the VdbeBranchTaken() macro and vdbeTakeBranch() function in the
-** vdbe.c source file for additional information.
- */
-
-/************** End of vdbe.h ************************************************/
-/************** Continuing where we left off in sqliteInt.h ******************/
-/************** Include pcache.h in the middle of sqliteInt.h ****************/
-/************** Begin file pcache.h ******************************************/
-/*
-** 2008 August 05
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This header file defines the interface that the sqlite page cache
-** subsystem.
- */
-
-type TPgHdr = struct {
- FpPage uintptr
- FpData uintptr
- FpExtra uintptr
- FpCache uintptr
- FpDirty uintptr
- FpPager uintptr
- Fpgno TPgno
- Fflags Tu16
- FnRef Ti64
- FpDirtyNext uintptr
- FpDirtyPrev uintptr
-}
-
-type PgHdr = TPgHdr
-
type TPCache = struct {
FpDirty uintptr
FpDirtyTail uintptr
@@ -11614,187 +10617,6 @@ type TPCache = struct {
type PCache = TPCache
-/************** End of mutex.h ***********************************************/
-/************** Continuing where we left off in sqliteInt.h ******************/
-
-/* The SQLITE_EXTRA_DURABLE compile-time option used to set the default
-** synchronous setting to EXTRA. It is no longer supported.
- */
-
-/*
-** Default synchronous levels.
-**
-** Note that (for historical reasons) the PAGER_SYNCHRONOUS_* macros differ
-** from the SQLITE_DEFAULT_SYNCHRONOUS value by 1.
-**
-** PAGER_SYNCHRONOUS DEFAULT_SYNCHRONOUS
-** OFF 1 0
-** NORMAL 2 1
-** FULL 3 2
-** EXTRA 4 3
-**
-** The "PRAGMA synchronous" statement also uses the zero-based numbers.
-** In other words, the zero-based numbers are used for all external interfaces
-** and the one-based values are used internally.
- */
-
-/*
-** Each database file to be accessed by the system is an instance
-** of the following structure. There are normally two of these structures
-** in the sqlite.aDb[] array. aDb[0] is the main database file and
-** aDb[1] is the database file used to hold temporary tables. Additional
-** databases may be attached.
- */
-type TDb1 = struct {
- FzDbSName uintptr
- FpBt uintptr
- Fsafety_level Tu8
- FbSyncSet Tu8
- FpSchema uintptr
-}
-
-type Db1 = TDb1
-
-/*
-** An instance of the following structure stores a database schema.
-**
-** Most Schema objects are associated with a Btree. The exception is
-** the Schema for the TEMP database (sqlite3.aDb[1]) which is free-standing.
-** In shared cache mode, a single Schema object can be shared by multiple
-** Btrees that refer to the same underlying BtShared object.
-**
-** Schema objects are automatically deallocated when the last Btree that
-** references them is destroyed. The TEMP Schema is manually freed by
-** sqlite3_close().
-*
-** A thread must be holding a mutex on the corresponding Btree in order
-** to access Schema content. This implies that the thread must also be
-** holding a mutex on the sqlite3 connection pointer that owns the Btree.
-** For a TEMP Schema, only the connection mutex is required.
- */
-type TSchema1 = struct {
- Fschema_cookie int32
- FiGeneration int32
- FtblHash THash
- FidxHash THash
- FtrigHash THash
- FfkeyHash THash
- FpSeqTab uintptr
- Ffile_format Tu8
- Fenc Tu8
- FschemaFlags Tu16
- Fcache_size int32
-}
-
-type Schema1 = TSchema1
-
-/*
-** These macros can be used to test, set, or clear bits in the
-** Db.pSchema->flags field.
- */
-
-/*
-** Allowed values for the DB.pSchema->flags field.
-**
-** The DB_SchemaLoaded flag is set after the database schema has been
-** read into internal hash tables.
-**
-** DB_UnresetViews means that one or more views have column names that
-** have been filled out. If the schema changes, these column names might
-** changes and so the view will need to be reset.
- */
-
-/*
-** The number of different kinds of things that can be limited
-** using the sqlite3_limit() interface.
- */
-
-/*
-** Lookaside malloc is a set of fixed-size buffers that can be used
-** to satisfy small transient memory allocation requests for objects
-** associated with a particular database connection. The use of
-** lookaside malloc provides a significant performance enhancement
-** (approx 10%) by avoiding numerous malloc/free requests while parsing
-** SQL statements.
-**
-** The Lookaside structure holds configuration information about the
-** lookaside malloc subsystem. Each available memory allocation in
-** the lookaside subsystem is stored on a linked list of LookasideSlot
-** objects.
-**
-** Lookaside allocations are only allowed for objects that are associated
-** with a particular database connection. Hence, schema information cannot
-** be stored in lookaside because in shared cache mode the schema information
-** is shared by multiple database connections. Therefore, while parsing
-** schema information, the Lookaside.bEnabled flag is cleared so that
-** lookaside allocations are not used to construct the schema objects.
-**
-** New lookaside allocations are only allowed if bDisable==0. When
-** bDisable is greater than zero, sz is set to zero which effectively
-** disables lookaside without adding a new test for the bDisable flag
-** in a performance-critical path. sz should be set by to szTrue whenever
-** bDisable changes back to zero.
-**
-** Lookaside buffers are initially held on the pInit list. As they are
-** used and freed, they are added back to the pFree list. New allocations
-** come off of pFree first, then pInit as a fallback. This dual-list
-** allows use to compute a high-water mark - the maximum number of allocations
-** outstanding at any point in the past - by subtracting the number of
-** allocations on the pInit list from the total number of allocations.
-**
-** Enhancement on 2019-12-12: Two-size-lookaside
-** The default lookaside configuration is 100 slots of 1200 bytes each.
-** The larger slot sizes are important for performance, but they waste
-** a lot of space, as most lookaside allocations are less than 128 bytes.
-** The two-size-lookaside enhancement breaks up the lookaside allocation
-** into two pools: One of 128-byte slots and the other of the default size
-** (1200-byte) slots. Allocations are filled from the small-pool first,
-** failing over to the full-size pool if that does not work. Thus more
-** lookaside slots are available while also using less memory.
-** This enhancement can be omitted by compiling with
-** SQLITE_OMIT_TWOSIZE_LOOKASIDE.
- */
-type TLookaside1 = struct {
- FbDisable Tu32
- Fsz Tu16
- FszTrue Tu16
- FbMalloced Tu8
- FnSlot Tu32
- FanStat [3]Tu32
- FpInit uintptr
- FpFree uintptr
- FpSmallInit uintptr
- FpSmallFree uintptr
- FpMiddle uintptr
- FpStart uintptr
- FpEnd uintptr
- FpTrueEnd uintptr
-}
-
-type Lookaside1 = TLookaside1
-
-type TLookasideSlot1 = struct {
- FpNext uintptr
-}
-
-type LookasideSlot1 = TLookasideSlot1
-
-/* Size of the smaller allocations in two-size lookaside */
-
-/*
-** A hash table for built-in function definitions. (Application-defined
-** functions use a regular table table from hash.h.)
-**
-** Hash each FuncDef structure into one of the FuncDefHash.a[] slots.
-** Collisions are on the FuncDef.u.pHash chain. Use the SQLITE_FUNC_HASH()
-** macro to compute a hash on the function name.
- */
-type TFuncDefHash1 = struct {
- Fa [23]uintptr
-}
-
-type FuncDefHash1 = TFuncDefHash1
-
// C documentation
//
// /*
@@ -11804,917 +10626,6 @@ type Tsqlite3_xauth = uintptr
type sqlite3_xauth = Tsqlite3_xauth
-/* This is an extra SQLITE_TRACE macro that indicates "legacy" tracing
-** in the style of sqlite3_trace()
- */
-
-/*
-** Maximum number of sqlite3.aDb[] entries. This is the number of attached
-** databases plus 2 for "main" and "temp".
- */
-
-/*
-** Each database connection is an instance of the following structure.
- */
-type Tsqlite31 = struct {
- FpVfs uintptr
- FpVdbe uintptr
- FpDfltColl uintptr
- Fmutex uintptr
- FaDb uintptr
- FnDb int32
- FmDbFlags Tu32
- Fflags Tu64
- FlastRowid Ti64
- FszMmap Ti64
- FnSchemaLock Tu32
- FopenFlags uint32
- FerrCode int32
- FerrByteOffset int32
- FerrMask int32
- FiSysErrno int32
- FdbOptFlags Tu32
- Fenc Tu8
- FautoCommit Tu8
- Ftemp_store Tu8
- FmallocFailed Tu8
- FbBenignMalloc Tu8
- FdfltLockMode Tu8
- FnextAutovac int8
- FsuppressErr Tu8
- FvtabOnConflict Tu8
- FisTransactionSavepoint Tu8
- FmTrace Tu8
- FnoSharedCache Tu8
- FnSqlExec Tu8
- FeOpenState Tu8
- FnextPagesize int32
- FnChange Ti64
- FnTotalChange Ti64
- FaLimit [12]int32
- FnMaxSorterMmap int32
- Finit1 Tsqlite3InitInfo
- FnVdbeActive int32
- FnVdbeRead int32
- FnVdbeWrite int32
- FnVdbeExec int32
- FnVDestroy int32
- FnExtension int32
- FaExtension uintptr
- Ftrace struct {
- FxV2 [0]uintptr
- FxLegacy uintptr
- }
- FpTraceArg uintptr
- FxProfile uintptr
- FpProfileArg uintptr
- FpCommitArg uintptr
- FxCommitCallback uintptr
- FpRollbackArg uintptr
- FxRollbackCallback uintptr
- FpUpdateArg uintptr
- FxUpdateCallback uintptr
- FpAutovacPagesArg uintptr
- FxAutovacDestr uintptr
- FxAutovacPages uintptr
- FpParse uintptr
- FpPreUpdateArg uintptr
- FxPreUpdateCallback uintptr
- FpPreUpdate uintptr
- FxWalCallback uintptr
- FpWalArg uintptr
- FxCollNeeded uintptr
- FxCollNeeded16 uintptr
- FpCollNeededArg uintptr
- FpErr uintptr
- Fu1 struct {
- FnotUsed1 [0]float64
- FisInterrupted int32
- F__ccgo_pad2 [4]byte
- }
- Flookaside TLookaside
- FxAuth Tsqlite3_xauth
- FpAuthArg uintptr
- FxProgress uintptr
- FpProgressArg uintptr
- FnProgressOps uint32
- FnVTrans int32
- FaModule THash
- FpVtabCtx uintptr
- FaVTrans uintptr
- FpDisconnect uintptr
- FaFunc THash
- FaCollSeq THash
- FbusyHandler TBusyHandler
- FaDbStatic [2]TDb
- FpSavepoint uintptr
- FnAnalysisLimit int32
- FbusyTimeout int32
- FnSavepoint int32
- FnStatement int32
- FnDeferredCons Ti64
- FnDeferredImmCons Ti64
- FpnBytesFreed uintptr
- FpDbData uintptr
- FpBlockingConnection uintptr
- FpUnlockConnection uintptr
- FpUnlockArg uintptr
- FxUnlockNotify uintptr
- FpNextBlocked uintptr
-}
-
-type sqlite31 = Tsqlite31
-
-/*
-** A macro to discover the encoding of a database.
- */
-
-/*
-** A u64 constant where the lower 32 bits are all zeros. Only the
-** upper 32 bits are included in the argument. Necessary because some
-** C-compilers still do not accept LL integer literals.
- */
-
-/*
-** Possible values for the sqlite3.flags.
-**
-** Value constraints (enforced via assert()):
-** SQLITE_FullFSync == PAGER_FULLFSYNC
-** SQLITE_CkptFullFSync == PAGER_CKPT_FULLFSYNC
-** SQLITE_CacheSpill == PAGER_CACHE_SPILL
- */
-/* result set is empty */
-/* DELETE, or UPDATE and return */
-/* the count using a callback. */
-
-/* Flags used only if debugging */
-
-/*
-** Allowed values for sqlite3.mDbFlags
- */
-
-/*
-** Bits of the sqlite3.dbOptFlags field that are used by the
-** sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS,...) interface to
-** selectively disable various optimizations.
- */
-/* TH3 expects this value ^^^^^^^^^^ to be 0x0000800. Don't change it */
-/* TH3 expects this value ^^^^^^^^^^ to be 0x40000. Coordinate any change */
-/* TH3 expects this value ^^^^^^^^^^ See flatten04.test */
-
-/*
-** Macros for testing whether or not optimizations are enabled or disabled.
- */
-
-/*
-** Return true if it OK to factor constant expressions into the initialization
-** code. The argument is a Parse object for the code generator.
- */
-
-/* Possible values for the sqlite3.eOpenState field.
-** The numbers are randomly selected such that a minimum of three bits must
-** change to convert any number to another or to zero
- */
-
-/*
-** Each SQL function is defined by an instance of the following
-** structure. For global built-in functions (ex: substr(), max(), count())
-** a pointer to this structure is held in the sqlite3BuiltinFunctions object.
-** For per-connection application-defined functions, a pointer to this
-** structure is held in the db->aHash hash table.
-**
-** The u.pHash field is used by the global built-ins. The u.pDestructor
-** field is used by per-connection app-def functions.
- */
-type TFuncDef1 = struct {
- FnArg Ti16
- FfuncFlags Tu32
- FpUserData uintptr
- FpNext uintptr
- FxSFunc uintptr
- FxFinalize uintptr
- FxValue uintptr
- FxInverse uintptr
- FzName uintptr
- Fu struct {
- FpDestructor [0]uintptr
- FpHash uintptr
- }
-}
-
-type FuncDef1 = TFuncDef1
-
-/*
-** This structure encapsulates a user-function destructor callback (as
-** configured using create_function_v2()) and a reference counter. When
-** create_function_v2() is called to create a function with a destructor,
-** a single object of this type is allocated. FuncDestructor.nRef is set to
-** the number of FuncDef objects created (either 1 or 3, depending on whether
-** or not the specified encoding is SQLITE_ANY). The FuncDef.pDestructor
-** member of each of the new FuncDef objects is set to point to the allocated
-** FuncDestructor.
-**
-** Thereafter, when one of the FuncDef objects is deleted, the reference
-** count on this object is decremented. When it reaches 0, the destructor
-** is invoked and the FuncDestructor structure freed.
- */
-type TFuncDestructor1 = struct {
- FnRef int32
- FxDestroy uintptr
- FpUserData uintptr
-}
-
-type FuncDestructor1 = TFuncDestructor1
-
-/*
-** Possible values for FuncDef.flags. Note that the _LENGTH and _TYPEOF
-** values must correspond to OPFLAG_LENGTHARG and OPFLAG_TYPEOFARG. And
-** SQLITE_FUNC_CONSTANT must be the same as SQLITE_DETERMINISTIC. There
-** are assert() statements in the code to verify this.
-**
-** Value constraints (enforced via assert()):
-** SQLITE_FUNC_MINMAX == NC_MinMaxAgg == SF_MinMaxAgg
-** SQLITE_FUNC_ANYORDER == NC_OrderAgg == SF_OrderByReqd
-** SQLITE_FUNC_LENGTH == OPFLAG_LENGTHARG
-** SQLITE_FUNC_TYPEOF == OPFLAG_TYPEOFARG
-** SQLITE_FUNC_BYTELEN == OPFLAG_BYTELENARG
-** SQLITE_FUNC_CONSTANT == SQLITE_DETERMINISTIC from the API
-** SQLITE_FUNC_DIRECT == SQLITE_DIRECTONLY from the API
-** SQLITE_FUNC_UNSAFE == SQLITE_INNOCUOUS -- opposite meanings!!!
-** SQLITE_FUNC_ENCMASK depends on SQLITE_UTF* macros in the API
-**
-** Note that even though SQLITE_FUNC_UNSAFE and SQLITE_INNOCUOUS have the
-** same bit value, their meanings are inverted. SQLITE_FUNC_UNSAFE is
-** used internally and if set means that the function has side effects.
-** SQLITE_INNOCUOUS is used by application code and means "not unsafe".
-** See multiple instances of tag-20230109-1.
- */
-/* 0x0200 -- available for reuse */
-/* SQLITE_SUBTYPE 0x00100000 // Consumer of subtypes */
-/* SQLITE_RESULT_SUBTYPE 0x01000000 // Generator of subtypes */
-
-/* Identifier numbers for each in-line function */
-
-/*
-** The following three macros, FUNCTION(), LIKEFUNC() and AGGREGATE() are
-** used to create the initializers for the FuncDef structures.
-**
-** FUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Used to create a scalar function definition of a function zName
-** implemented by C function xFunc that accepts nArg arguments. The
-** value passed as iArg is cast to a (void*) and made available
-** as the user-data (sqlite3_user_data()) for the function. If
-** argument bNC is true, then the SQLITE_FUNC_NEEDCOLL flag is set.
-**
-** VFUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Like FUNCTION except it omits the SQLITE_FUNC_CONSTANT flag.
-**
-** SFUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Like FUNCTION except it omits the SQLITE_FUNC_CONSTANT flag and
-** adds the SQLITE_DIRECTONLY flag.
-**
-** INLINE_FUNC(zName, nArg, iFuncId, mFlags)
-** zName is the name of a function that is implemented by in-line
-** byte code rather than by the usual callbacks. The iFuncId
-** parameter determines the function id. The mFlags parameter is
-** optional SQLITE_FUNC_ flags for this function.
-**
-** TEST_FUNC(zName, nArg, iFuncId, mFlags)
-** zName is the name of a test-only function implemented by in-line
-** byte code rather than by the usual callbacks. The iFuncId
-** parameter determines the function id. The mFlags parameter is
-** optional SQLITE_FUNC_ flags for this function.
-**
-** DFUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Like FUNCTION except it omits the SQLITE_FUNC_CONSTANT flag and
-** adds the SQLITE_FUNC_SLOCHNG flag. Used for date & time functions
-** and functions like sqlite_version() that can change, but not during
-** a single query. The iArg is ignored. The user-data is always set
-** to a NULL pointer. The bNC parameter is not used.
-**
-** MFUNCTION(zName, nArg, xPtr, xFunc)
-** For math-library functions. xPtr is an arbitrary pointer.
-**
-** PURE_DATE(zName, nArg, iArg, bNC, xFunc)
-** Used for "pure" date/time functions, this macro is like DFUNCTION
-** except that it does set the SQLITE_FUNC_CONSTANT flags. iArg is
-** ignored and the user-data for these functions is set to an
-** arbitrary non-NULL pointer. The bNC parameter is not used.
-**
-** AGGREGATE(zName, nArg, iArg, bNC, xStep, xFinal)
-** Used to create an aggregate function definition implemented by
-** the C functions xStep and xFinal. The first four parameters
-** are interpreted in the same way as the first 4 parameters to
-** FUNCTION().
-**
-** WAGGREGATE(zName, nArg, iArg, xStep, xFinal, xValue, xInverse)
-** Used to create an aggregate function definition implemented by
-** the C functions xStep and xFinal. The first four parameters
-** are interpreted in the same way as the first 4 parameters to
-** FUNCTION().
-**
-** LIKEFUNC(zName, nArg, pArg, flags)
-** Used to create a scalar function definition of a function zName
-** that accepts nArg arguments and is implemented by a call to C
-** function likeFunc. Argument pArg is cast to a (void *) and made
-** available as the function user-data (sqlite3_user_data()). The
-** FuncDef.flags variable is set to the value passed as the flags
-** parameter.
- */
-
-/*
-** All current savepoints are stored in a linked list starting at
-** sqlite3.pSavepoint. The first element in the list is the most recently
-** opened savepoint. Savepoints are added to the list by the vdbe
-** OP_Savepoint instruction.
- */
-type TSavepoint1 = struct {
- FzName uintptr
- FnDeferredCons Ti64
- FnDeferredImmCons Ti64
- FpNext uintptr
-}
-
-type Savepoint1 = TSavepoint1
-
-/*
-** The following are used as the second parameter to sqlite3Savepoint(),
-** and as the P1 argument to the OP_Savepoint instruction.
- */
-
-/*
-** Each SQLite module (virtual table definition) is defined by an
-** instance of the following structure, stored in the sqlite3.aModule
-** hash table.
- */
-type TModule1 = struct {
- FpModule uintptr
- FzName uintptr
- FnRefModule int32
- FpAux uintptr
- FxDestroy uintptr
- FpEpoTab uintptr
-}
-
-type Module1 = TModule1
-
-/*
-** Information about each column of an SQL table is held in an instance
-** of the Column structure, in the Table.aCol[] array.
-**
-** Definitions:
-**
-** "table column index" This is the index of the column in the
-** Table.aCol[] array, and also the index of
-** the column in the original CREATE TABLE stmt.
-**
-** "storage column index" This is the index of the column in the
-** record BLOB generated by the OP_MakeRecord
-** opcode. The storage column index is less than
-** or equal to the table column index. It is
-** equal if and only if there are no VIRTUAL
-** columns to the left.
-**
-** Notes on zCnName:
-** The zCnName field stores the name of the column, the datatype of the
-** column, and the collating sequence for the column, in that order, all in
-** a single allocation. Each string is 0x00 terminated. The datatype
-** is only included if the COLFLAG_HASTYPE bit of colFlags is set and the
-** collating sequence name is only included if the COLFLAG_HASCOLL bit is
-** set.
- */
-type TColumn1 = struct {
- FzCnName uintptr
- F__ccgo8 uint8
- Faffinity int8
- FszEst Tu8
- FhName Tu8
- FiDflt Tu16
- FcolFlags Tu16
-}
-
-type Column1 = TColumn1
-
-/* Allowed values for Column.eCType.
-**
-** Values must match entries in the global constant arrays
-** sqlite3StdTypeLen[] and sqlite3StdType[]. Each value is one more
-** than the offset into these arrays for the corresponding name.
-** Adjust the SQLITE_N_STDTYPE value if adding or removing entries.
- */
-
-/* Allowed values for Column.colFlags.
-**
-** Constraints:
-** TF_HasVirtual == COLFLAG_VIRTUAL
-** TF_HasStored == COLFLAG_STORED
-** TF_HasHidden == COLFLAG_HIDDEN
- */
-
-/*
-** A "Collating Sequence" is defined by an instance of the following
-** structure. Conceptually, a collating sequence consists of a name and
-** a comparison routine that defines the order of that sequence.
-**
-** If CollSeq.xCmp is NULL, it means that the
-** collating sequence is undefined. Indices built on an undefined
-** collating sequence may not be read or written.
- */
-type TCollSeq1 = struct {
- FzName uintptr
- Fenc Tu8
- FpUser uintptr
- FxCmp uintptr
- FxDel uintptr
-}
-
-type CollSeq1 = TCollSeq1
-
-/*
-** A sort order can be either ASC or DESC.
- */
-
-/*
-** Column affinity types.
-**
-** These used to have mnemonic name like 'i' for SQLITE_AFF_INTEGER and
-** 't' for SQLITE_AFF_TEXT. But we can save a little space and improve
-** the speed a little by numbering the values consecutively.
-**
-** But rather than start with 0 or 1, we begin with 'A'. That way,
-** when multiple affinity types are concatenated into a string and
-** used as the P4 operand, they will be more readable.
-**
-** Note also that the numeric types are grouped together so that testing
-** for a numeric type is a single comparison. And the BLOB type is first.
- */
-
-/*
-** The SQLITE_AFF_MASK values masks off the significant bits of an
-** affinity value.
- */
-
-/*
-** Additional bit values that can be ORed with an affinity without
-** changing the affinity.
-**
-** The SQLITE_NOTNULL flag is a combination of NULLEQ and JUMPIFNULL.
-** It causes an assert() to fire if either operand to a comparison
-** operator is NULL. It is added to certain comparison operators to
-** prove that the operands are always NOT NULL.
- */
-
-/*
-** An object of this type is created for each virtual table present in
-** the database schema.
-**
-** If the database schema is shared, then there is one instance of this
-** structure for each database connection (sqlite3*) that uses the shared
-** schema. This is because each database connection requires its own unique
-** instance of the sqlite3_vtab* handle used to access the virtual table
-** implementation. sqlite3_vtab* handles can not be shared between
-** database connections, even when the rest of the in-memory database
-** schema is shared, as the implementation often stores the database
-** connection handle passed to it via the xConnect() or xCreate() method
-** during initialization internally. This database connection handle may
-** then be used by the virtual table implementation to access real tables
-** within the database. So that they appear as part of the callers
-** transaction, these accesses need to be made via the same database
-** connection as that used to execute SQL operations on the virtual table.
-**
-** All VTable objects that correspond to a single table in a shared
-** database schema are initially stored in a linked-list pointed to by
-** the Table.pVTable member variable of the corresponding Table object.
-** When an sqlite3_prepare() operation is required to access the virtual
-** table, it searches the list for the VTable that corresponds to the
-** database connection doing the preparing so as to use the correct
-** sqlite3_vtab* handle in the compiled query.
-**
-** When an in-memory Table object is deleted (for example when the
-** schema is being reloaded for some reason), the VTable objects are not
-** deleted and the sqlite3_vtab* handles are not xDisconnect()ed
-** immediately. Instead, they are moved from the Table.pVTable list to
-** another linked list headed by the sqlite3.pDisconnect member of the
-** corresponding sqlite3 structure. They are then deleted/xDisconnected
-** next time a statement is prepared using said sqlite3*. This is done
-** to avoid deadlock issues involving multiple sqlite3.mutex mutexes.
-** Refer to comments above function sqlite3VtabUnlockList() for an
-** explanation as to why it is safe to add an entry to an sqlite3.pDisconnect
-** list without holding the corresponding sqlite3.mutex mutex.
-**
-** The memory for objects of this type is always allocated by
-** sqlite3DbMalloc(), using the connection handle stored in VTable.db as
-** the first argument.
- */
-type TVTable1 = struct {
- Fdb uintptr
- FpMod uintptr
- FpVtab uintptr
- FnRef int32
- FbConstraint Tu8
- FbAllSchemas Tu8
- FeVtabRisk Tu8
- FiSavepoint int32
- FpNext uintptr
-}
-
-type VTable1 = TVTable1
-
-/* Allowed values for VTable.eVtabRisk
- */
-
-/*
-** The schema for each SQL table, virtual table, and view is represented
-** in memory by an instance of the following structure.
- */
-type TTable1 = struct {
- FzName uintptr
- FaCol uintptr
- FpIndex uintptr
- FzColAff uintptr
- FpCheck uintptr
- Ftnum TPgno
- FnTabRef Tu32
- FtabFlags Tu32
- FiPKey Ti16
- FnCol Ti16
- FnNVCol Ti16
- FnRowLogEst TLogEst
- FszTabRow TLogEst
- FkeyConf Tu8
- FeTabType Tu8
- Fu struct {
- Fview [0]struct {
- FpSelect uintptr
- }
- Fvtab [0]struct {
- FnArg int32
- FazArg uintptr
- Fp uintptr
- }
- Ftab struct {
- FaddColOffset int32
- FpFKey uintptr
- FpDfltList uintptr
- }
- }
- FpTrigger uintptr
- FpSchema uintptr
- FaHx [16]Tu8
-}
-
-type Table1 = TTable1
-
-/*
-** Allowed values for Table.tabFlags.
-**
-** TF_OOOHidden applies to tables or view that have hidden columns that are
-** followed by non-hidden columns. Example: "CREATE VIRTUAL TABLE x USING
-** vtab1(a HIDDEN, b);". Since "b" is a non-hidden column but "a" is hidden,
-** the TF_OOOHidden attribute would apply in this case. Such tables require
-** special handling during INSERT processing. The "OOO" means "Out Of Order".
-**
-** Constraints:
-**
-** TF_HasVirtual == COLFLAG_VIRTUAL
-** TF_HasStored == COLFLAG_STORED
-** TF_HasHidden == COLFLAG_HIDDEN
- */
-
-/*
-** Allowed values for Table.eTabType
- */
-
-/*
-** Test to see whether or not a table is a virtual table. This is
-** done as a macro so that it will be optimized out when virtual
-** table support is omitted from the build.
- */
-
-/*
-** Macros to determine if a column is hidden. IsOrdinaryHiddenColumn()
-** only works for non-virtual tables (ordinary tables and views) and is
-** always false unless SQLITE_ENABLE_HIDDEN_COLUMNS is defined. The
-** IsHiddenColumn() macro is general purpose.
- */
-
-/* Does the table have a rowid */
-
-/* Macro is true if the SQLITE_ALLOW_ROWID_IN_VIEW (mis-)feature is
-** available. By default, this macro is false
- */
-
-/*
-** Each foreign key constraint is an instance of the following structure.
-**
-** A foreign key is associated with two tables. The "from" table is
-** the table that contains the REFERENCES clause that creates the foreign
-** key. The "to" table is the table that is named in the REFERENCES clause.
-** Consider this example:
-**
-** CREATE TABLE ex1(
-** a INTEGER PRIMARY KEY,
-** b INTEGER CONSTRAINT fk1 REFERENCES ex2(x)
-** );
-**
-** For foreign key "fk1", the from-table is "ex1" and the to-table is "ex2".
-** Equivalent names:
-**
-** from-table == child-table
-** to-table == parent-table
-**
-** Each REFERENCES clause generates an instance of the following structure
-** which is attached to the from-table. The to-table need not exist when
-** the from-table is created. The existence of the to-table is not checked.
-**
-** The list of all parents for child Table X is held at X.pFKey.
-**
-** A list of all children for a table named Z (which might not even exist)
-** is held in Schema.fkeyHash with a hash key of Z.
- */
-type TFKey1 = struct {
- FpFrom uintptr
- FpNextFrom uintptr
- FzTo uintptr
- FpNextTo uintptr
- FpPrevTo uintptr
- FnCol int32
- FisDeferred Tu8
- FaAction [2]Tu8
- FapTrigger [2]uintptr
-}
-
-type FKey1 = TFKey1
-
-/* The size (in bytes) of an FKey object holding N columns. The answer
-** does NOT include space to hold the zTo name. */
-
-/*
-** SQLite supports many different ways to resolve a constraint
-** error. ROLLBACK processing means that a constraint violation
-** causes the operation in process to fail and for the current transaction
-** to be rolled back. ABORT processing means the operation in process
-** fails and any prior changes from that one operation are backed out,
-** but the transaction is not rolled back. FAIL processing means that
-** the operation in progress stops and returns an error code. But prior
-** changes due to the same operation are not backed out and no rollback
-** occurs. IGNORE means that the particular row that caused the constraint
-** error is not inserted or updated. Processing continues and no error
-** is returned. REPLACE means that preexisting database rows that caused
-** a UNIQUE constraint violation are removed so that the new insert or
-** update can proceed. Processing continues and no error is reported.
-** UPDATE applies to insert operations only and means that the insert
-** is omitted and the DO UPDATE clause of an upsert is run instead.
-**
-** RESTRICT, SETNULL, SETDFLT, and CASCADE actions apply only to foreign keys.
-** RESTRICT is the same as ABORT for IMMEDIATE foreign keys and the
-** same as ROLLBACK for DEFERRED keys. SETNULL means that the foreign
-** key is set to NULL. SETDFLT means that the foreign key is set
-** to its default value. CASCADE means that a DELETE or UPDATE of the
-** referenced table row is propagated into the row that holds the
-** foreign key.
-**
-** The OE_Default value is a place holder that means to use whatever
-** conflict resolution algorithm is required from context.
-**
-** The following symbolic values are used to record which type
-** of conflict resolution action to take.
- */
-
-/*
-** An instance of the following structure is passed as the first
-** argument to sqlite3VdbeKeyCompare and is used to control the
-** comparison of the two index keys.
-**
-** Note that aSortOrder[] and aColl[] have nField+1 slots. There
-** are nField slots for the columns of an index then one extra slot
-** for the rowid at the end.
- */
-type TKeyInfo1 = struct {
- FnRef Tu32
- Fenc Tu8
- FnKeyField Tu16
- FnAllField Tu16
- Fdb uintptr
- FaSortFlags uintptr
-}
-
-type KeyInfo1 = TKeyInfo1
-
-/* The size (in bytes) of a KeyInfo object with up to N fields */
-
-/*
-** Allowed bit values for entries in the KeyInfo.aSortFlags[] array.
- */
-
-/*
-** This object holds a record which has been parsed out into individual
-** fields, for the purposes of doing a comparison.
-**
-** A record is an object that contains one or more fields of data.
-** Records are used to store the content of a table row and to store
-** the key of an index. A blob encoding of a record is created by
-** the OP_MakeRecord opcode of the VDBE and is disassembled by the
-** OP_Column opcode.
-**
-** An instance of this object serves as a "key" for doing a search on
-** an index b+tree. The goal of the search is to find the entry that
-** is closed to the key described by this object. This object might hold
-** just a prefix of the key. The number of fields is given by
-** pKeyInfo->nField.
-**
-** The r1 and r2 fields are the values to return if this key is less than
-** or greater than a key in the btree, respectively. These are normally
-** -1 and +1 respectively, but might be inverted to +1 and -1 if the b-tree
-** is in DESC order.
-**
-** The key comparison functions actually return default_rc when they find
-** an equals comparison. default_rc can be -1, 0, or +1. If there are
-** multiple entries in the b-tree with the same key (when only looking
-** at the first pKeyInfo->nFields,) then default_rc can be set to -1 to
-** cause the search to find the last match, or +1 to cause the search to
-** find the first match.
-**
-** The key comparison functions will set eqSeen to true if they ever
-** get and equal results when comparing this structure to a b-tree record.
-** When default_rc!=0, the search might end up on the record immediately
-** before the first match or immediately after the last match. The
-** eqSeen field will indicate whether or not an exact match exists in the
-** b-tree.
- */
-type TUnpackedRecord1 = struct {
- FpKeyInfo uintptr
- FaMem uintptr
- Fu struct {
- Fi [0]Ti64
- Fz uintptr
- }
- Fn int32
- FnField Tu16
- Fdefault_rc Ti8
- FerrCode Tu8
- Fr1 Ti8
- Fr2 Ti8
- FeqSeen Tu8
-}
-
-type UnpackedRecord1 = TUnpackedRecord1
-
-/*
-** Each SQL index is represented in memory by an
-** instance of the following structure.
-**
-** The columns of the table that are to be indexed are described
-** by the aiColumn[] field of this structure. For example, suppose
-** we have the following table and index:
-**
-** CREATE TABLE Ex1(c1 int, c2 int, c3 text);
-** CREATE INDEX Ex2 ON Ex1(c3,c1);
-**
-** In the Table structure describing Ex1, nCol==3 because there are
-** three columns in the table. In the Index structure describing
-** Ex2, nColumn==2 since 2 of the 3 columns of Ex1 are indexed.
-** The value of aiColumn is {2, 0}. aiColumn[0]==2 because the
-** first column to be indexed (c3) has an index of 2 in Ex1.aCol[].
-** The second column to be indexed (c1) has an index of 0 in
-** Ex1.aCol[], hence Ex2.aiColumn[1]==0.
-**
-** The Index.onError field determines whether or not the indexed columns
-** must be unique and what to do if they are not. When Index.onError=OE_None,
-** it means this is not a unique index. Otherwise it is a unique index
-** and the value of Index.onError indicates which conflict resolution
-** algorithm to employ when an attempt is made to insert a non-unique
-** element.
-**
-** The colNotIdxed bitmask is used in combination with SrcItem.colUsed
-** for a fast test to see if an index can serve as a covering index.
-** colNotIdxed has a 1 bit for every column of the original table that
-** is *not* available in the index. Thus the expression
-** "colUsed & colNotIdxed" will be non-zero if the index is not a
-** covering index. The most significant bit of of colNotIdxed will always
-** be true (note-20221022-a). If a column beyond the 63rd column of the
-** table is used, the "colUsed & colNotIdxed" test will always be non-zero
-** and we have to assume either that the index is not covering, or use
-** an alternative (slower) algorithm to determine whether or not
-** the index is covering.
-**
-** While parsing a CREATE TABLE or CREATE INDEX statement in order to
-** generate VDBE code (as opposed to parsing one read from an sqlite_schema
-** table as part of parsing an existing database schema), transient instances
-** of this structure may be created. In this case the Index.tnum variable is
-** used to store the address of a VDBE instruction, not a database page
-** number (it cannot - the database page is not allocated until the VDBE
-** program is executed). See convertToWithoutRowidTable() for details.
- */
-type TIndex1 = struct {
- FzName uintptr
- FaiColumn uintptr
- FaiRowLogEst uintptr
- FpTable uintptr
- FzColAff uintptr
- FpNext uintptr
- FpSchema uintptr
- FaSortOrder uintptr
- FazColl uintptr
- FpPartIdxWhere uintptr
- FaColExpr uintptr
- Ftnum TPgno
- FszIdxRow TLogEst
- FnKeyCol Tu16
- FnColumn Tu16
- FonError Tu8
- F__ccgo100 uint16
- FnSample int32
- FmxSample int32
- FnSampleCol int32
- FaAvgEq uintptr
- FaSample uintptr
- FaiRowEst uintptr
- FnRowEst0 TtRowcnt
- FcolNotIdxed TBitmask
-}
-
-type Index1 = TIndex1
-
-/*
-** Allowed values for Index.idxType
- */
-
-/* Return true if index X is a PRIMARY KEY index */
-
-/* Return true if index X is a UNIQUE index */
-
-/* The Index.aiColumn[] values are normally positive integer. But
-** there are some negative values that have special meaning:
- */
-
-/*
-** Each sample stored in the sqlite_stat4 table is represented in memory
-** using a structure of this type. See documentation at the top of the
-** analyze.c source file for additional information.
- */
-type TIndexSample1 = struct {
- Fp uintptr
- Fn int32
- FanEq uintptr
- FanLt uintptr
- FanDLt uintptr
-}
-
-type IndexSample1 = TIndexSample1
-
-/*
-** Possible values to use within the flags argument to sqlite3GetToken().
- */
-
-/*
-** Each token coming out of the lexer is an instance of
-** this structure. Tokens are also used as part of an expression.
-**
-** The memory that "z" points to is owned by other objects. Take care
-** that the owner of the "z" string does not deallocate the string before
-** the Token goes out of scope! Very often, the "z" points to some place
-** in the middle of the Parse.zSql text. But it might also point to a
-** static string.
- */
-type TToken1 = struct {
- Fz uintptr
- Fn uint32
-}
-
-type Token1 = TToken1
-
-/*
-** An instance of this structure contains information needed to generate
-** code for a SELECT that contains aggregate functions.
-**
-** If Expr.op==TK_AGG_COLUMN or TK_AGG_FUNCTION then Expr.pAggInfo is a
-** pointer to this structure. The Expr.iAgg field is the index in
-** AggInfo.aCol[] or AggInfo.aFunc[] of information needed to generate
-** code for that node.
-**
-** AggInfo.pGroupBy and AggInfo.aFunc.pExpr point to fields within the
-** original Select structure that describes the SELECT statement. These
-** fields do not need to be freed when deallocating the AggInfo structure.
- */
-type TAggInfo1 = struct {
- FdirectMode Tu8
- FuseSortingIdx Tu8
- FnSortingColumn Tu32
- FsortingIdx int32
- FsortingIdxPTab int32
- FiFirstReg int32
- FpGroupBy uintptr
- FaCol uintptr
- FnColumn int32
- FnAccumulator int32
- FaFunc uintptr
- FnFunc int32
- FselId Tu32
-}
-
-type AggInfo1 = TAggInfo1
-
/*
** Macros to compute aCol[] and aFunc[] register numbers.
**
@@ -12739,622 +10650,6 @@ type TynVar = int16
type ynVar = TynVar
-/*
-** Each node of an expression in the parse tree is an instance
-** of this structure.
-**
-** Expr.op is the opcode. The integer parser token codes are reused
-** as opcodes here. For example, the parser defines TK_GE to be an integer
-** code representing the ">=" operator. This same integer code is reused
-** to represent the greater-than-or-equal-to operator in the expression
-** tree.
-**
-** If the expression is an SQL literal (TK_INTEGER, TK_FLOAT, TK_BLOB,
-** or TK_STRING), then Expr.u.zToken contains the text of the SQL literal. If
-** the expression is a variable (TK_VARIABLE), then Expr.u.zToken contains the
-** variable name. Finally, if the expression is an SQL function (TK_FUNCTION),
-** then Expr.u.zToken contains the name of the function.
-**
-** Expr.pRight and Expr.pLeft are the left and right subexpressions of a
-** binary operator. Either or both may be NULL.
-**
-** Expr.x.pList is a list of arguments if the expression is an SQL function,
-** a CASE expression or an IN expression of the form " IN (, ...)".
-** Expr.x.pSelect is used if the expression is a sub-select or an expression of
-** the form " IN (SELECT ...)". If the EP_xIsSelect bit is set in the
-** Expr.flags mask, then Expr.x.pSelect is valid. Otherwise, Expr.x.pList is
-** valid.
-**
-** An expression of the form ID or ID.ID refers to a column in a table.
-** For such expressions, Expr.op is set to TK_COLUMN and Expr.iTable is
-** the integer cursor number of a VDBE cursor pointing to that table and
-** Expr.iColumn is the column number for the specific column. If the
-** expression is used as a result in an aggregate SELECT, then the
-** value is also stored in the Expr.iAgg column in the aggregate so that
-** it can be accessed after all aggregates are computed.
-**
-** If the expression is an unbound variable marker (a question mark
-** character '?' in the original SQL) then the Expr.iTable holds the index
-** number for that variable.
-**
-** If the expression is a subquery then Expr.iColumn holds an integer
-** register number containing the result of the subquery. If the
-** subquery gives a constant result, then iTable is -1. If the subquery
-** gives a different answer at different times during statement processing
-** then iTable is the address of a subroutine that computes the subquery.
-**
-** If the Expr is of type OP_Column, and the table it is selecting from
-** is a disk table or the "old.*" pseudo-table, then pTab points to the
-** corresponding table definition.
-**
-** ALLOCATION NOTES:
-**
-** Expr objects can use a lot of memory space in database schema. To
-** help reduce memory requirements, sometimes an Expr object will be
-** truncated. And to reduce the number of memory allocations, sometimes
-** two or more Expr objects will be stored in a single memory allocation,
-** together with Expr.u.zToken strings.
-**
-** If the EP_Reduced and EP_TokenOnly flags are set when
-** an Expr object is truncated. When EP_Reduced is set, then all
-** the child Expr objects in the Expr.pLeft and Expr.pRight subtrees
-** are contained within the same memory allocation. Note, however, that
-** the subtrees in Expr.x.pList or Expr.x.pSelect are always separately
-** allocated, regardless of whether or not EP_Reduced is set.
- */
-type TExpr1 = struct {
- Fop Tu8
- FaffExpr int8
- Fop2 Tu8
- Fflags Tu32
- Fu struct {
- FiValue [0]int32
- FzToken uintptr
- }
- FpLeft uintptr
- FpRight uintptr
- Fx struct {
- FpSelect [0]uintptr
- FpList uintptr
- }
- FnHeight int32
- FiTable int32
- FiColumn TynVar
- FiAgg Ti16
- Fw struct {
- FiOfst [0]int32
- FiJoin int32
- }
- FpAggInfo uintptr
- Fy struct {
- FpWin [0]uintptr
- Fsub [0]struct {
- FiAddr int32
- FregReturn int32
- }
- FpTab uintptr
- }
-}
-
-type Expr1 = TExpr1
-
-/* The following are the meanings of bits in the Expr.flags field.
-** Value restrictions:
-**
-** EP_Agg == NC_HasAgg == SF_HasAgg
-** EP_Win == NC_HasWin
- */
-
-/* The EP_Propagate mask is a set of properties that automatically propagate
-** upwards into parent nodes.
- */
-
-/* Macros can be used to test, set, or clear bits in the
-** Expr.flags field.
- */
-
-/* Macros used to ensure that the correct members of unions are accessed
-** in Expr.
- */
-
-/* Flags for use with Expr.vvaFlags
- */
-
-/* The ExprSetVVAProperty() macro is used for Verification, Validation,
-** and Accreditation only. It works like ExprSetProperty() during VVA
-** processes but is a no-op for delivery.
- */
-
-/*
-** Macros to determine the number of bytes required by a normal Expr
-** struct, an Expr struct with the EP_Reduced flag set in Expr.flags
-** and an Expr struct with the EP_TokenOnly flag set.
- */
-
-/*
-** Flags passed to the sqlite3ExprDup() function. See the header comment
-** above sqlite3ExprDup() for details.
- */
-
-/*
-** True if the expression passed as an argument was a function with
-** an OVER() clause (a window function).
- */
-
-/*
-** A list of expressions. Each expression may optionally have a
-** name. An expr/name combination can be used in several ways, such
-** as the list of "expr AS ID" fields following a "SELECT" or in the
-** list of "ID = expr" items in an UPDATE. A list of expressions can
-** also be used as the argument to a function, in which case the a.zName
-** field is not used.
-**
-** In order to try to keep memory usage down, the Expr.a.zEName field
-** is used for multiple purposes:
-**
-** eEName Usage
-** ---------- -------------------------
-** ENAME_NAME (1) the AS of result set column
-** (2) COLUMN= of an UPDATE
-**
-** ENAME_TAB DB.TABLE.NAME used to resolve names
-** of subqueries
-**
-** ENAME_SPAN Text of the original result set
-** expression.
- */
-type TExprList1 = struct {
- F__ccgo_align [0]uint64
- FnExpr int32
- FnAlloc int32
-}
-
-type ExprList1 = TExprList1
-
-/* The size (in bytes) of an ExprList object that is big enough to hold
-** as many as N expressions. */
-
-/*
-** Allowed values for Expr.a.eEName
- */
-
-/*
-** An instance of this structure can hold a simple list of identifiers,
-** such as the list "a,b,c" in the following statements:
-**
-** INSERT INTO t(a,b,c) VALUES ...;
-** CREATE INDEX idx ON t(a,b,c);
-** CREATE TRIGGER trig BEFORE UPDATE ON t(a,b,c) ...;
-**
-** The IdList.a.idx field is used when the IdList represents the list of
-** column names after a table name in an INSERT statement. In the statement
-**
-** INSERT INTO t(a,b,c) ...
-**
-** If "a" is the k-th column of table "t", then IdList.a[0].idx==k.
- */
-type TIdList1 = struct {
- F__ccgo_align [0]uint64
- FnId int32
-}
-
-type IdList1 = TIdList1
-
-/* The size (in bytes) of an IdList object that can hold up to N IDs. */
-
-/*
-** Allowed values for IdList.eType, which determines which value of the a.u4
-** is valid.
- */
-
-/*
-** Details of the implementation of a subquery.
- */
-type TSubquery1 = struct {
- FpSelect uintptr
- FaddrFillSub int32
- FregReturn int32
- FregResult int32
-}
-
-type Subquery1 = TSubquery1
-
-/*
-** The SrcItem object represents a single term in the FROM clause of a query.
-** The SrcList object is mostly an array of SrcItems.
-**
-** The jointype starts out showing the join type between the current table
-** and the next table on the list. The parser builds the list this way.
-** But sqlite3SrcListShiftJoinType() later shifts the jointypes so that each
-** jointype expresses the join between the table and the previous table.
-**
-** In the colUsed field, the high-order bit (bit 63) is set if the table
-** contains more than 63 columns and the 64-th or later column is used.
-**
-** Aggressive use of "union" helps keep the size of the object small. This
-** has been shown to boost performance, in addition to saving memory.
-** Access to union elements is gated by the following rules which should
-** always be checked, either by an if-statement or by an assert().
-**
-** Field Only access if this is true
-** --------------- -----------------------------------
-** u1.zIndexedBy fg.isIndexedBy
-** u1.pFuncArg fg.isTabFunc
-** u1.nRow !fg.isTabFunc && !fg.isIndexedBy
-**
-** u2.pIBIndex fg.isIndexedBy
-** u2.pCteUse fg.isCte
-**
-** u3.pOn !fg.isUsing
-** u3.pUsing fg.isUsing
-**
-** u4.zDatabase !fg.fixedSchema && !fg.isSubquery
-** u4.pSchema fg.fixedSchema
-** u4.pSubq fg.isSubquery
-**
-** See also the sqlite3SrcListDelete() routine for assert() statements that
-** check invariants on the fields of this object, especially the flags
-** inside the fg struct.
- */
-type TSrcItem1 = struct {
- FzName uintptr
- FzAlias uintptr
- FpSTab uintptr
- Ffg struct {
- Fjointype Tu8
- F__ccgo4 uint32
- }
- FiCursor int32
- FcolUsed TBitmask
- Fu1 struct {
- FpFuncArg [0]uintptr
- FnRow [0]Tu32
- FzIndexedBy uintptr
- }
- Fu2 struct {
- FpCteUse [0]uintptr
- FpIBIndex uintptr
- }
- Fu3 struct {
- FpUsing [0]uintptr
- FpOn uintptr
- }
- Fu4 struct {
- FzDatabase [0]uintptr
- FpSubq [0]uintptr
- FpSchema uintptr
- }
-}
-
-type SrcItem1 = TSrcItem1
-
-/*
-** The OnOrUsing object represents either an ON clause or a USING clause.
-** It can never be both at the same time, but it can be neither.
- */
-type TOnOrUsing1 = struct {
- FpOn uintptr
- FpUsing uintptr
-}
-
-type OnOrUsing1 = TOnOrUsing1
-
-/*
-** This object represents one or more tables that are the source of
-** content for an SQL statement. For example, a single SrcList object
-** is used to hold the FROM clause of a SELECT statement. SrcList also
-** represents the target tables for DELETE, INSERT, and UPDATE statements.
-**
- */
-type TSrcList1 = struct {
- F__ccgo_align [0]uint64
- FnSrc int32
- FnAlloc Tu32
-}
-
-type SrcList1 = TSrcList1
-
-/* Size (in bytes) of a SrcList object that can hold as many as N
-** SrcItem objects. */
-
-/* Size (in bytes( of a SrcList object that holds 1 SrcItem. This is a
-** special case of SZ_SRCITEM(1) that comes up often. */
-
-/*
-** Permitted values of the SrcList.a.jointype field
- */
-
-/*
-** Flags appropriate for the wctrlFlags parameter of sqlite3WhereBegin()
-** and the WhereInfo.wctrlFlags member.
-**
-** Value constraints (enforced via assert()):
-** WHERE_USE_LIMIT == SF_FixedLimit
- */
-/* 0x8000 not currently used */
-
-/* Allowed return values from sqlite3WhereIsDistinct()
- */
-
-/*
-** A NameContext defines a context in which to resolve table and column
-** names. The context consists of a list of tables (the pSrcList) field and
-** a list of named expression (pEList). The named expression list may
-** be NULL. The pSrc corresponds to the FROM clause of a SELECT or
-** to the table being operated on by INSERT, UPDATE, or DELETE. The
-** pEList corresponds to the result set of a SELECT and is NULL for
-** other statements.
-**
-** NameContexts can be nested. When resolving names, the inner-most
-** context is searched first. If no match is found, the next outer
-** context is checked. If there is still no match, the next context
-** is checked. This process continues until either a match is found
-** or all contexts are check. When a match is found, the nRef member of
-** the context containing the match is incremented.
-**
-** Each subquery gets a new NameContext. The pNext field points to the
-** NameContext in the parent query. Thus the process of scanning the
-** NameContext list corresponds to searching through successively outer
-** subqueries looking for a match.
- */
-type TNameContext1 = struct {
- FpParse uintptr
- FpSrcList uintptr
- FuNC struct {
- FpAggInfo [0]uintptr
- FpUpsert [0]uintptr
- FiBaseReg [0]int32
- FpEList uintptr
- }
- FpNext uintptr
- FnRef int32
- FnNcErr int32
- FncFlags int32
- FnNestedSelect Tu32
- FpWinSelect uintptr
-}
-
-type NameContext1 = TNameContext1
-
-/*
-** Allowed values for the NameContext, ncFlags field.
-**
-** Value constraints (all checked via assert()):
-** NC_HasAgg == SF_HasAgg == EP_Agg
-** NC_MinMaxAgg == SF_MinMaxAgg == SQLITE_FUNC_MINMAX
-** NC_OrderAgg == SF_OrderByReqd == SQLITE_FUNC_ANYORDER
-** NC_HasWin == EP_Win
-**
- */
-/* 0x002000 // available for reuse */
-
-/*
-** An instance of the following object describes a single ON CONFLICT
-** clause in an upsert.
-**
-** The pUpsertTarget field is only set if the ON CONFLICT clause includes
-** conflict-target clause. (In "ON CONFLICT(a,b)" the "(a,b)" is the
-** conflict-target clause.) The pUpsertTargetWhere is the optional
-** WHERE clause used to identify partial unique indexes.
-**
-** pUpsertSet is the list of column=expr terms of the UPDATE statement.
-** The pUpsertSet field is NULL for a ON CONFLICT DO NOTHING. The
-** pUpsertWhere is the WHERE clause for the UPDATE and is NULL if the
-** WHERE clause is omitted.
- */
-type TUpsert1 = struct {
- FpUpsertTarget uintptr
- FpUpsertTargetWhere uintptr
- FpUpsertSet uintptr
- FpUpsertWhere uintptr
- FpNextUpsert uintptr
- FisDoUpdate Tu8
- FisDup Tu8
- FpToFree uintptr
- FpUpsertIdx uintptr
- FpUpsertSrc uintptr
- FregData int32
- FiDataCur int32
- FiIdxCur int32
-}
-
-type Upsert1 = TUpsert1
-
-/*
-** An instance of the following structure contains all information
-** needed to generate code for a single SELECT statement.
-**
-** See the header comment on the computeLimitRegisters() routine for a
-** detailed description of the meaning of the iLimit and iOffset fields.
-**
-** addrOpenEphm[] entries contain the address of OP_OpenEphemeral opcodes.
-** These addresses must be stored so that we can go back and fill in
-** the P4_KEYINFO and P2 parameters later. Neither the KeyInfo nor
-** the number of columns in P2 can be computed at the same time
-** as the OP_OpenEphm instruction is coded because not
-** enough information about the compound query is known at that point.
-** The KeyInfo for addrOpenTran[0] and [1] contains collating sequences
-** for the result set. The KeyInfo for addrOpenEphm[2] contains collating
-** sequences for the ORDER BY clause.
- */
-type TSelect1 = struct {
- Fop Tu8
- FnSelectRow TLogEst
- FselFlags Tu32
- FiLimit int32
- FiOffset int32
- FselId Tu32
- FaddrOpenEphm [2]int32
- FpEList uintptr
- FpSrc uintptr
- FpWhere uintptr
- FpGroupBy uintptr
- FpHaving uintptr
- FpOrderBy uintptr
- FpPrior uintptr
- FpNext uintptr
- FpLimit uintptr
- FpWith uintptr
- FpWin uintptr
- FpWinDefn uintptr
-}
-
-type Select1 = TSelect1
-
-/*
-** Allowed values for Select.selFlags. The "SF" prefix stands for
-** "Select Flag".
-**
-** Value constraints (all checked via assert())
-** SF_HasAgg == NC_HasAgg
-** SF_MinMaxAgg == NC_MinMaxAgg == SQLITE_FUNC_MINMAX
-** SF_OrderByReqd == NC_OrderAgg == SQLITE_FUNC_ANYORDER
-** SF_FixedLimit == WHERE_USE_LIMIT
- */
-
-/* True if SrcItem X is a subquery that has SF_NestedFrom */
-
-/*
-** The results of a SELECT can be distributed in several ways, as defined
-** by one of the following macros. The "SRT" prefix means "SELECT Result
-** Type".
-**
-** SRT_Union Store results as a key in a temporary index
-** identified by pDest->iSDParm.
-**
-** SRT_Except Remove results from the temporary index pDest->iSDParm.
-**
-** SRT_Exists Store a 1 in memory cell pDest->iSDParm if the result
-** set is not empty.
-**
-** SRT_Discard Throw the results away. This is used by SELECT
-** statements within triggers whose only purpose is
-** the side-effects of functions.
-**
-** SRT_Output Generate a row of output (using the OP_ResultRow
-** opcode) for each row in the result set.
-**
-** SRT_Mem Only valid if the result is a single column.
-** Store the first column of the first result row
-** in register pDest->iSDParm then abandon the rest
-** of the query. This destination implies "LIMIT 1".
-**
-** SRT_Set The result must be a single column. Store each
-** row of result as the key in table pDest->iSDParm.
-** Apply the affinity pDest->affSdst before storing
-** results. if pDest->iSDParm2 is positive, then it is
-** a register holding a Bloom filter for the IN operator
-** that should be populated in addition to the
-** pDest->iSDParm table. This SRT is used to
-** implement "IN (SELECT ...)".
-**
-** SRT_EphemTab Create an temporary table pDest->iSDParm and store
-** the result there. The cursor is left open after
-** returning. This is like SRT_Table except that
-** this destination uses OP_OpenEphemeral to create
-** the table first.
-**
-** SRT_Coroutine Generate a co-routine that returns a new row of
-** results each time it is invoked. The entry point
-** of the co-routine is stored in register pDest->iSDParm
-** and the result row is stored in pDest->nDest registers
-** starting with pDest->iSdst.
-**
-** SRT_Table Store results in temporary table pDest->iSDParm.
-** SRT_Fifo This is like SRT_EphemTab except that the table
-** is assumed to already be open. SRT_Fifo has
-** the additional property of being able to ignore
-** the ORDER BY clause.
-**
-** SRT_DistFifo Store results in a temporary table pDest->iSDParm.
-** But also use temporary table pDest->iSDParm+1 as
-** a record of all prior results and ignore any duplicate
-** rows. Name means: "Distinct Fifo".
-**
-** SRT_Queue Store results in priority queue pDest->iSDParm (really
-** an index). Append a sequence number so that all entries
-** are distinct.
-**
-** SRT_DistQueue Store results in priority queue pDest->iSDParm only if
-** the same record has never been stored before. The
-** index at pDest->iSDParm+1 hold all prior stores.
-**
-** SRT_Upfrom Store results in the temporary table already opened by
-** pDest->iSDParm. If (pDest->iSDParm<0), then the temp
-** table is an intkey table - in this case the first
-** column returned by the SELECT is used as the integer
-** key. If (pDest->iSDParm>0), then the table is an index
-** table. (pDest->iSDParm) is the number of key columns in
-** each index record in this case.
- */
-
-/* The DISTINCT clause is ignored for all of the above. Not that
-** IgnorableDistinct() implies IgnorableOrderby() */
-
-/* The ORDER BY clause is ignored for all of the above */
-
-/*
-** An instance of this object describes where to put of the results of
-** a SELECT statement.
- */
-type TSelectDest1 = struct {
- FeDest Tu8
- FiSDParm int32
- FiSDParm2 int32
- FiSdst int32
- FnSdst int32
- FzAffSdst uintptr
- FpOrderBy uintptr
-}
-
-type SelectDest1 = TSelectDest1
-
-/*
-** During code generation of statements that do inserts into AUTOINCREMENT
-** tables, the following information is attached to the Table.u.autoInc.p
-** pointer of each autoincrement table to record some side information that
-** the code generator needs. We have to keep per-table autoincrement
-** information in case inserts are done within triggers. Triggers do not
-** normally coordinate their activities, but we do need to coordinate the
-** loading and saving of autoincrement information.
- */
-type TAutoincInfo1 = struct {
- FpNext uintptr
- FpTab uintptr
- FiDb int32
- FregCtr int32
-}
-
-type AutoincInfo1 = TAutoincInfo1
-
-/*
-** At least one instance of the following structure is created for each
-** trigger that may be fired while parsing an INSERT, UPDATE or DELETE
-** statement. All such objects are stored in the linked list headed at
-** Parse.pTriggerPrg and deleted once statement compilation has been
-** completed.
-**
-** A Vdbe sub-program that implements the body and WHEN clause of trigger
-** TriggerPrg.pTrigger, assuming a default ON CONFLICT clause of
-** TriggerPrg.orconf, is stored in the TriggerPrg.pProgram variable.
-** The Parse.pTriggerPrg list never contains two entries with the same
-** values for both pTrigger and orconf.
-**
-** The TriggerPrg.aColmask[0] variable is set to a mask of old.* columns
-** accessed (or set to 0 for triggers fired as a result of INSERT
-** statements). Similarly, the TriggerPrg.aColmask[1] variable is set to
-** a mask of new.* columns used by the program.
- */
-type TTriggerPrg1 = struct {
- FpTrigger uintptr
- FpNext uintptr
- FpProgram uintptr
- Forconf int32
- FaColmask [2]Tu32
-}
-
-type TriggerPrg1 = TTriggerPrg1
-
// C documentation
//
// /*
@@ -13364,318 +10659,6 @@ type TyDbMask = uint32
type yDbMask = TyDbMask
-/*
-** For each index X that has as one of its arguments either an expression
-** or the name of a virtual generated column, and if X is in scope such that
-** the value of the expression can simply be read from the index, then
-** there is an instance of this object on the Parse.pIdxExpr list.
-**
-** During code generation, while generating code to evaluate expressions,
-** this list is consulted and if a matching expression is found, the value
-** is read from the index rather than being recomputed.
- */
-type TIndexedExpr1 = struct {
- FpExpr uintptr
- FiDataCur int32
- FiIdxCur int32
- FiIdxCol int32
- FbMaybeNullRow Tu8
- Faff Tu8
- FpIENext uintptr
-}
-
-type IndexedExpr1 = TIndexedExpr1
-
-/*
-** An instance of the ParseCleanup object specifies an operation that
-** should be performed after parsing to deallocation resources obtained
-** during the parse and which are no longer needed.
- */
-type TParseCleanup1 = struct {
- FpNext uintptr
- FpPtr uintptr
- FxCleanup uintptr
-}
-
-type ParseCleanup1 = TParseCleanup1
-
-/*
-** An SQL parser context. A copy of this structure is passed through
-** the parser and down into all the parser action routine in order to
-** carry around information that is global to the entire parse.
-**
-** The structure is divided into two parts. When the parser and code
-** generate call themselves recursively, the first part of the structure
-** is constant but the second part is reset at the beginning and end of
-** each recursion.
-**
-** The nTableLock and aTableLock variables are only used if the shared-cache
-** feature is enabled (if sqlite3Tsd()->useSharedData is true). They are
-** used to store the set of table-locks required by the statement being
-** compiled. Function sqlite3TableLock() is used to add entries to the
-** list.
- */
-type TParse1 = struct {
- Fdb uintptr
- FzErrMsg uintptr
- FpVdbe uintptr
- Frc int32
- FnQueryLoop TLogEst
- Fnested Tu8
- FnTempReg Tu8
- FisMultiWrite Tu8
- FmayAbort Tu8
- FhasCompound Tu8
- FdisableLookaside Tu8
- FprepFlags Tu8
- FwithinRJSubrtn Tu8
- FmSubrtnSig Tu8
- FeTriggerOp Tu8
- FbReturning Tu8
- FeOrconf Tu8
- FdisableTriggers Tu8
- F__ccgo_align18 [1]byte
- F__ccgo44 uint8
- FnRangeReg int32
- FiRangeReg int32
- FnErr int32
- FnTab int32
- FnMem int32
- FszOpAlloc int32
- FiSelfTab int32
- FnLabel int32
- FnLabelAlloc int32
- FaLabel uintptr
- FpConstExpr uintptr
- FpIdxEpr uintptr
- FpIdxPartExpr uintptr
- FwriteMask TyDbMask
- FcookieMask TyDbMask
- FnMaxArg int32
- FnSelect int32
- FnProgressSteps Tu32
- FnTableLock int32
- FaTableLock uintptr
- FpAinc uintptr
- FpToplevel uintptr
- FpTriggerTab uintptr
- FpTriggerPrg uintptr
- FpCleanup uintptr
- FaTempReg [8]int32
- FpOuterParse uintptr
- FsNameToken TToken
- Foldmask Tu32
- Fnewmask Tu32
- Fu1 struct {
- Fd [0]struct {
- FpReturning uintptr
- }
- Fcr struct {
- FaddrCrTab int32
- FregRowid int32
- FregRoot int32
- FconstraintName TToken
- }
- }
- FsLastToken TToken
- FnVar TynVar
- FiPkSortOrder Tu8
- Fexplain Tu8
- FeParseMode Tu8
- FnVtabLock int32
- FnHeight int32
- FaddrExplain int32
- FpVList uintptr
- FpReprepare uintptr
- FzTail uintptr
- FpNewTable uintptr
- FpNewIndex uintptr
- FpNewTrigger uintptr
- FzAuthContext uintptr
- FsArg TToken
- FapVtabLock uintptr
- FpWith uintptr
- FpRename uintptr
-}
-
-type Parse1 = TParse1
-
-/* Allowed values for Parse.eParseMode
- */
-
-/*
-** Sizes and pointers of various parts of the Parse object.
- */
-
-/*
-** Return true if currently inside an sqlite3_declare_vtab() call.
- */
-
-/*
-** An instance of the following structure can be declared on a stack and used
-** to save the Parse.zAuthContext value so that it can be restored later.
- */
-type TAuthContext1 = struct {
- FzAuthContext uintptr
- FpParse uintptr
-}
-
-type AuthContext1 = TAuthContext1
-
-/*
-** Bitfield flags for P5 value in various opcodes.
-**
-** Value constraints (enforced via assert()):
-** OPFLAG_LENGTHARG == SQLITE_FUNC_LENGTH
-** OPFLAG_TYPEOFARG == SQLITE_FUNC_TYPEOF
-** OPFLAG_BULKCSR == BTREE_BULKLOAD
-** OPFLAG_SEEKEQ == BTREE_SEEK_EQ
-** OPFLAG_FORDELETE == BTREE_FORDELETE
-** OPFLAG_SAVEPOSITION == BTREE_SAVEPOSITION
-** OPFLAG_AUXDELETE == BTREE_AUXDELETE
- */
-/* Also used in P2 (not P5) of OP_Delete */
-
-/*
-** Each trigger present in the database schema is stored as an instance of
-** struct Trigger.
-**
-** Pointers to instances of struct Trigger are stored in two ways.
-** 1. In the "trigHash" hash table (part of the sqlite3* that represents the
-** database). This allows Trigger structures to be retrieved by name.
-** 2. All triggers associated with a single table form a linked list, using the
-** pNext member of struct Trigger. A pointer to the first element of the
-** linked list is stored as the "pTrigger" member of the associated
-** struct Table.
-**
-** The "step_list" member points to the first element of a linked list
-** containing the SQL statements specified as the trigger program.
- */
-type TTrigger1 = struct {
- FzName uintptr
- Ftable uintptr
- Fop Tu8
- Ftr_tm Tu8
- FbReturning Tu8
- FpWhen uintptr
- FpColumns uintptr
- FpSchema uintptr
- FpTabSchema uintptr
- Fstep_list uintptr
- FpNext uintptr
-}
-
-type Trigger1 = TTrigger1
-
-/*
-** A trigger is either a BEFORE or an AFTER trigger. The following constants
-** determine which.
-**
-** If there are multiple triggers, you might of some BEFORE and some AFTER.
-** In that cases, the constants below can be ORed together.
- */
-
-/*
-** An instance of struct TriggerStep is used to store a single SQL statement
-** that is a part of a trigger-program.
-**
-** Instances of struct TriggerStep are stored in a singly linked list (linked
-** using the "pNext" member) referenced by the "step_list" member of the
-** associated struct Trigger instance. The first element of the linked list is
-** the first step of the trigger-program.
-**
-** The "op" member indicates whether this is a "DELETE", "INSERT", "UPDATE" or
-** "SELECT" statement. The meanings of the other members is determined by the
-** value of "op" as follows:
-**
-** (op == TK_INSERT)
-** orconf -> stores the ON CONFLICT algorithm
-** pSelect -> The content to be inserted - either a SELECT statement or
-** a VALUES clause.
-** zTarget -> Dequoted name of the table to insert into.
-** pIdList -> If this is an INSERT INTO ... () VALUES ...
-** statement, then this stores the column-names to be
-** inserted into.
-** pUpsert -> The ON CONFLICT clauses for an Upsert
-**
-** (op == TK_DELETE)
-** zTarget -> Dequoted name of the table to delete from.
-** pWhere -> The WHERE clause of the DELETE statement if one is specified.
-** Otherwise NULL.
-**
-** (op == TK_UPDATE)
-** zTarget -> Dequoted name of the table to update.
-** pWhere -> The WHERE clause of the UPDATE statement if one is specified.
-** Otherwise NULL.
-** pExprList -> A list of the columns to update and the expressions to update
-** them to. See sqlite3Update() documentation of "pChanges"
-** argument.
-**
-** (op == TK_SELECT)
-** pSelect -> The SELECT statement
-**
-** (op == TK_RETURNING)
-** pExprList -> The list of expressions that follow the RETURNING keyword.
-**
- */
-type TTriggerStep1 = struct {
- Fop Tu8
- Forconf Tu8
- FpTrig uintptr
- FpSelect uintptr
- FzTarget uintptr
- FpFrom uintptr
- FpWhere uintptr
- FpExprList uintptr
- FpIdList uintptr
- FpUpsert uintptr
- FzSpan uintptr
- FpNext uintptr
- FpLast uintptr
-}
-
-type TriggerStep1 = TTriggerStep1
-
-/*
-** Information about a RETURNING clause
- */
-type TReturning1 = struct {
- FpParse uintptr
- FpReturnEL uintptr
- FretTrig TTrigger
- FretTStep TTriggerStep
- FiRetCur int32
- FnRetCol int32
- FiRetReg int32
- FzName [40]int8
-}
-
-type Returning1 = TReturning1
-
-/*
-** The following object is the header for an "RCStr" or "reference-counted
-** string". An RCStr is passed around and used like any other char*
-** that has been dynamically allocated. The important interface
-** differences:
-**
-** 1. RCStr strings are reference counted. They are deallocated
-** when the reference count reaches zero.
-**
-** 2. Use sqlite3RCStrUnref() to free an RCStr string rather than
-** sqlite3_free()
-**
-** 3. Make a (read-only) copy of a read-only RCStr string using
-** sqlite3RCStrRef().
-**
-** "String" is in the name, but an RCStr object can also be used to hold
-** binary data.
- */
-type TRCStr1 = struct {
- FnRCRef Tu64
-}
-
-type RCStr1 = TRCStr1
-
// C documentation
//
// /*
@@ -13761,232 +10744,6 @@ type TSqlite3Config = struct {
type Sqlite3Config = TSqlite3Config
-/*
-** This macro is used inside of assert() statements to indicate that
-** the assert is only valid on a well-formed database. Instead of:
-**
-** assert( X );
-**
-** One writes:
-**
-** assert( X || CORRUPT_DB );
-**
-** CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate
-** that the database is definitely corrupt, only that it might be corrupt.
-** For most test cases, CORRUPT_DB is set to false using a special
-** sqlite3_test_control(). This enables assert() statements to prove
-** things that are always true for well-formed databases.
- */
-
-/*
-** Context pointer passed down through the tree-walk.
- */
-type TWalker1 = struct {
- FpParse uintptr
- FxExprCallback uintptr
- FxSelectCallback uintptr
- FxSelectCallback2 uintptr
- FwalkerDepth int32
- FeCode Tu16
- FmWFlags Tu16
- Fu struct {
- Fn [0]int32
- FiCur [0]int32
- FpSrcList [0]uintptr
- FpCCurHint [0]uintptr
- FpRefSrcList [0]uintptr
- FaiCol [0]uintptr
- FpIdxCover [0]uintptr
- FpGroupBy [0]uintptr
- FpSelect [0]uintptr
- FpRewrite [0]uintptr
- FpConst [0]uintptr
- FpRename [0]uintptr
- FpTab [0]uintptr
- FpCovIdxCk [0]uintptr
- FpSrcItem [0]uintptr
- FpFix [0]uintptr
- FaMem [0]uintptr
- FpNC uintptr
- }
-}
-
-type Walker1 = TWalker1
-
-/*
-** The following structure contains information used by the sqliteFix...
-** routines as they walk the parse tree to make database references
-** explicit.
- */
-type TDbFixer1 = struct {
- FpParse uintptr
- Fw TWalker
- FpSchema uintptr
- FbTemp Tu8
- FzDb uintptr
- FzType uintptr
- FpName uintptr
-}
-
-type DbFixer1 = TDbFixer1
-
-/*
-** Return code from the parse-tree walking primitives and their
-** callbacks.
- */
-
-/*
-** A single common table expression
- */
-type TCte1 = struct {
- FzName uintptr
- FpCols uintptr
- FpSelect uintptr
- FzCteErr uintptr
- FpUse uintptr
- FeM10d Tu8
-}
-
-type Cte1 = TCte1
-
-/*
-** Allowed values for the materialized flag (eM10d):
- */
-
-/*
-** An instance of the With object represents a WITH clause containing
-** one or more CTEs (common table expressions).
- */
-type TWith1 = struct {
- FnCte int32
- FbView int32
- FpOuter uintptr
-}
-
-type With1 = TWith1
-
-/* The size (in bytes) of a With object that can hold as many
-** as N different CTEs. */
-
-/*
-** The Cte object is not guaranteed to persist for the entire duration
-** of code generation. (The query flattener or other parser tree
-** edits might delete it.) The following object records information
-** about each Common Table Expression that must be preserved for the
-** duration of the parse.
-**
-** The CteUse objects are freed using sqlite3ParserAddCleanup() rather
-** than sqlite3SelectDelete(), which is what enables them to persist
-** until the end of code generation.
- */
-type TCteUse1 = struct {
- FnUse int32
- FaddrM9e int32
- FregRtn int32
- FiCur int32
- FnRowEst TLogEst
- FeM10d Tu8
-}
-
-type CteUse1 = TCteUse1
-
-/* Client data associated with sqlite3_set_clientdata() and
-** sqlite3_get_clientdata().
- */
-type TDbClientData1 = struct {
- FpNext uintptr
- FpData uintptr
- FxDestructor uintptr
-}
-
-type DbClientData1 = TDbClientData1
-
-/* The size (in bytes) of a DbClientData object that can has a name
-** that is N bytes long, including the zero-terminator. */
-
-/*
-** This object is used in various ways, most (but not all) related to window
-** functions.
-**
-** (1) A single instance of this structure is attached to the
-** the Expr.y.pWin field for each window function in an expression tree.
-** This object holds the information contained in the OVER clause,
-** plus additional fields used during code generation.
-**
-** (2) All window functions in a single SELECT form a linked-list
-** attached to Select.pWin. The Window.pFunc and Window.pExpr
-** fields point back to the expression that is the window function.
-**
-** (3) The terms of the WINDOW clause of a SELECT are instances of this
-** object on a linked list attached to Select.pWinDefn.
-**
-** (4) For an aggregate function with a FILTER clause, an instance
-** of this object is stored in Expr.y.pWin with eFrmType set to
-** TK_FILTER. In this case the only field used is Window.pFilter.
-**
-** The uses (1) and (2) are really the same Window object that just happens
-** to be accessible in two different ways. Use case (3) are separate objects.
- */
-type TWindow1 = struct {
- FzName uintptr
- FzBase uintptr
- FpPartition uintptr
- FpOrderBy uintptr
- FeFrmType Tu8
- FeStart Tu8
- FeEnd Tu8
- FbImplicitFrame Tu8
- FeExclude Tu8
- FpStart uintptr
- FpEnd uintptr
- FppThis uintptr
- FpNextWin uintptr
- FpFilter uintptr
- FpWFunc uintptr
- FiEphCsr int32
- FregAccum int32
- FregResult int32
- FcsrApp int32
- FregApp int32
- FregPart int32
- FpOwner uintptr
- FnBufferCol int32
- FiArgCol int32
- FregOne int32
- FregStartRowid int32
- FregEndRowid int32
- FbExprArgs Tu8
-}
-
-type Window1 = TWindow1
-
-/*
-** An instance of the following structure holds information about SQL
-** functions arguments that are the parameters to the printf() function.
- */
-type TPrintfArguments1 = struct {
- FnArg int32
- FnUsed int32
- FapArg uintptr
-}
-
-type PrintfArguments1 = TPrintfArguments1
-
-/*
-** An instance of this object receives the decoding of a floating point
-** value into an approximate decimal representation.
- */
-type TFpDecode1 = struct {
- Fsign int8
- FisSpecial int8
- Fn int32
- FiDP int32
- Fz uintptr
- FzBuf [24]int8
-}
-
-type FpDecode1 = TFpDecode1
-
/************** End of sqliteInt.h *******************************************/
/************** Begin file os_common.h ***************************************/
/*
@@ -15150,72 +11907,6 @@ type TVdbeCursor = struct {
type VdbeCursor = TVdbeCursor
-type TVdbeCursor1 = struct {
- FeCurType Tu8
- FiDb Ti8
- FnullRow Tu8
- FdeferredMoveto Tu8
- FisTable Tu8
- F__ccgo_align5 [3]byte
- F__ccgo8 uint8
- FseekHit Tu16
- Fub struct {
- FaAltMap [0]uintptr
- FpBtx uintptr
- }
- FseqCount Ti64
- FcacheStatus Tu32
- FseekResult int32
- FpAltCursor uintptr
- Fuc struct {
- FpVCur [0]uintptr
- FpSorter [0]uintptr
- FpCursor uintptr
- }
- FpKeyInfo uintptr
- FiHdrOffset Tu32
- FpgnoRoot TPgno
- FnField Ti16
- FnHdrParsed Tu16
- FmovetoTarget Ti64
- FaOffset uintptr
- FaRow uintptr
- FpayloadSize Tu32
- FszRow Tu32
- FpCache uintptr
-}
-
-type VdbeCursor1 = TVdbeCursor1
-
-/*
-** The size (in bytes) of a VdbeCursor object that has an nField value of N
-** or less. The value of SZ_VDBECURSOR(n) is guaranteed to be a multiple
-** of 8.
- */
-
-/* Return true if P is a null-only cursor
- */
-
-/*
-** A value for VdbeCursor.cacheStatus that means the cache is always invalid.
- */
-
-/*
-** Large TEXT or BLOB values can be slow to load, so we want to avoid
-** loading them more than once. For that reason, large TEXT and BLOB values
-** can be stored in a cache defined by this object, and attached to the
-** VdbeCursor using the pCache field.
- */
-type TVdbeTxtBlbCache1 = struct {
- FpCValue uintptr
- FiOffset Ti64
- FiCol int32
- FcacheStatus Tu32
- FcolCacheCtr Tu32
-}
-
-type VdbeTxtBlbCache1 = TVdbeTxtBlbCache1
-
// C documentation
//
// /*
@@ -15261,152 +11952,6 @@ type TVdbeFrame = struct {
type VdbeFrame = TVdbeFrame
-type TVdbeFrame1 = struct {
- Fv uintptr
- FpParent uintptr
- FaOp uintptr
- FaMem uintptr
- FapCsr uintptr
- FaOnce uintptr
- Ftoken uintptr
- FlastRowid Ti64
- FpAuxData uintptr
- FnCursor int32
- Fpc int32
- FnOp int32
- FnMem int32
- FnChildMem int32
- FnChildCsr int32
- FnChange Ti64
- FnDbChange Ti64
-}
-
-type VdbeFrame1 = TVdbeFrame1
-
-/*
-** Size of struct Mem not including the Mem.zMalloc member or anything that
-** follows.
- */
-
-/* One or more of the following flags are set to indicate the
-** representations of the value stored in the Mem struct.
-**
-** * MEM_Null An SQL NULL value
-**
-** * MEM_Null|MEM_Zero An SQL NULL with the virtual table
-** UPDATE no-change flag set
-**
-** * MEM_Null|MEM_Term| An SQL NULL, but also contains a
-** MEM_Subtype pointer accessible using
-** sqlite3_value_pointer().
-**
-** * MEM_Null|MEM_Cleared Special SQL NULL that compares non-equal
-** to other NULLs even using the IS operator.
-**
-** * MEM_Str A string, stored in Mem.z with
-** length Mem.n. Zero-terminated if
-** MEM_Term is set. This flag is
-** incompatible with MEM_Blob and
-** MEM_Null, but can appear with MEM_Int,
-** MEM_Real, and MEM_IntReal.
-**
-** * MEM_Blob A blob, stored in Mem.z length Mem.n.
-** Incompatible with MEM_Str, MEM_Null,
-** MEM_Int, MEM_Real, and MEM_IntReal.
-**
-** * MEM_Blob|MEM_Zero A blob in Mem.z of length Mem.n plus
-** MEM.u.i extra 0x00 bytes at the end.
-**
-** * MEM_Int Integer stored in Mem.u.i.
-**
-** * MEM_Real Real stored in Mem.u.r.
-**
-** * MEM_IntReal Real stored as an integer in Mem.u.i.
-**
-** If the MEM_Null flag is set, then the value is an SQL NULL value.
-** For a pointer type created using sqlite3_bind_pointer() or
-** sqlite3_result_pointer() the MEM_Term and MEM_Subtype flags are also set.
-**
-** If the MEM_Str flag is set then Mem.z points at a string representation.
-** Usually this is encoded in the same unicode encoding as the main
-** database (see below for exceptions). If the MEM_Term flag is also
-** set, then the string is nul terminated. The MEM_Int and MEM_Real
-** flags may coexist with the MEM_Str flag.
- */
-
-/* Extra bits that modify the meanings of the core datatypes above
- */
-/* 0x0080 // Available */
-
-/* Bits that determine the storage for Mem.z for a string or blob or
-** aggregate accumulator.
- */
-
-/* Return TRUE if Mem X contains dynamically allocated content - anything
-** that needs to be deallocated to avoid a leak.
- */
-
-/*
-** Clear any existing type flags from a Mem and replace them with f
- */
-
-/*
-** True if Mem X is a NULL-nochng type.
- */
-
-/*
-** Return true if a memory cell has been initialized and is valid.
-** is for use inside assert() statements only.
-**
-** A Memory cell is initialized if at least one of the
-** MEM_Null, MEM_Str, MEM_Int, MEM_Real, MEM_Blob, or MEM_IntReal bits
-** is set. It is "undefined" if all those bits are zero.
- */
-
-/*
-** Each auxiliary data pointer stored by a user defined function
-** implementation calling sqlite3_set_auxdata() is stored in an instance
-** of this structure. All such structures associated with a single VM
-** are stored in a linked list headed at Vdbe.pAuxData. All are destroyed
-** when the VM is halted (if not before).
- */
-type TAuxData1 = struct {
- FiAuxOp int32
- FiAuxArg int32
- FpAux uintptr
- FxDeleteAux uintptr
- FpNextAux uintptr
-}
-
-type AuxData1 = TAuxData1
-
-/*
-** The "context" argument for an installable function. A pointer to an
-** instance of this structure is the first argument to the routines used
-** implement the SQL functions.
-**
-** There is a typedef for this structure in sqlite.h. So all routines,
-** even the public interface to SQLite, can use a pointer to this structure.
-** But this file is the only place where the internal details of this
-** structure are known.
-**
-** This structure is defined inside of vdbeInt.h because it uses substructures
-** (Mem) which are only defined there.
- */
-type Tsqlite3_context1 = struct {
- FpOut uintptr
- FpFunc uintptr
- FpMem uintptr
- FpVdbe uintptr
- FiOp int32
- FisError int32
- Fenc Tu8
- FskipFlag Tu8
- Fargc Tu16
-}
-
-type sqlite3_context1 = Tsqlite3_context1
-
/*
** The size (in bytes) of an sqlite3_context object that holds N
** argv[] arguments.
@@ -15437,18 +11982,6 @@ type TScanStatus = struct {
type ScanStatus = TScanStatus
-type TScanStatus1 = struct {
- FaddrExplain int32
- FaAddrRange [6]int32
- FaddrLoop int32
- FaddrVisit int32
- FiSelectID int32
- FnEst TLogEst
- FzName uintptr
-}
-
-type ScanStatus1 = TScanStatus1
-
// C documentation
//
// /* The DblquoteStr object holds the text of a double-quoted
@@ -15465,101 +11998,6 @@ type TDblquoteStr = struct {
type DblquoteStr = TDblquoteStr
-type TDblquoteStr1 = struct {
- FpNextStr uintptr
- Fz [8]int8
-}
-
-type DblquoteStr1 = TDblquoteStr1
-
-/*
-** An instance of the virtual machine. This structure contains the complete
-** state of the virtual machine.
-**
-** The "sqlite3_stmt" structure pointer that is returned by sqlite3_prepare()
-** is really a pointer to an instance of this structure.
- */
-type TVdbe1 = struct {
- Fdb uintptr
- FppVPrev uintptr
- FpVNext uintptr
- FpParse uintptr
- FnVar TynVar
- FnMem int32
- FnCursor int32
- FcacheCtr Tu32
- Fpc int32
- Frc int32
- FnChange Ti64
- FiStatement int32
- FiCurrentTime Ti64
- FnFkConstraint Ti64
- FnStmtDefCons Ti64
- FnStmtDefImmCons Ti64
- FaMem uintptr
- FapArg uintptr
- FapCsr uintptr
- FaVar uintptr
- FaOp uintptr
- FnOp int32
- FnOpAlloc int32
- FaColName uintptr
- FpResultRow uintptr
- FzErrMsg uintptr
- FpVList uintptr
- FstartTime Ti64
- FnResColumn Tu16
- FnResAlloc Tu16
- FerrorAction Tu8
- FminWriteFileFormat Tu8
- FprepFlags Tu8
- FeVdbeState Tu8
- F__ccgo200 uint16
- FbtreeMask TyDbMask
- FlockMask TyDbMask
- FaCounter [9]Tu32
- FzSql uintptr
- FpFree uintptr
- FpFrame uintptr
- FpDelFrame uintptr
- FnFrame int32
- Fexpmask Tu32
- FpProgram uintptr
- FpAuxData uintptr
-}
-
-type Vdbe1 = TVdbe1
-
-/*
-** The following are allowed values for Vdbe.eVdbeState
- */
-
-/*
-** Structure used to store the context required by the
-** sqlite3_preupdate_*() API functions.
- */
-type TPreUpdate1 = struct {
- Fv uintptr
- FpCsr uintptr
- Fop int32
- FaRecord uintptr
- FpKeyinfo uintptr
- FpUnpacked uintptr
- FpNewUnpacked uintptr
- FiNewReg int32
- FiBlobWrite int32
- FiKey1 Ti64
- FiKey2 Ti64
- Foldipk TMem
- FaNew uintptr
- FpTab uintptr
- FpPk uintptr
- FapDflt uintptr
- FkeyinfoSpace [32]Tu8
-}
-
-type PreUpdate1 = TPreUpdate1
-
// C documentation
//
// /*
@@ -15581,13 +12019,6 @@ type TValueList = struct {
type ValueList = TValueList
-type TValueList1 = struct {
- FpCsr uintptr
- FpOut uintptr
-}
-
-type ValueList1 = TValueList1
-
/************** End of vdbeInt.h *********************************************/
/************** Continuing where we left off in status.c *********************/
@@ -15607,14 +12038,7 @@ type Tsqlite3StatType = struct {
type sqlite3StatType = Tsqlite3StatType
-type Tsqlite3StatType1 = struct {
- FnowValue [10]Tsqlite3StatValueType
- FmxValue [10]Tsqlite3StatValueType
-}
-
-type sqlite3StatType1 = Tsqlite3StatType1
-
-var _sqlite3Stat = Tsqlite3StatType1{}
+var _sqlite3Stat = Tsqlite3StatType{}
// C documentation
//
@@ -15693,7 +12117,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
var pMutex, v1 uintptr
_, _ = pMutex, v1
if op < 0 || op >= libc.Int32FromUint64(libc.Uint64FromInt64(80)/libc.Uint64FromInt64(8)) {
- return _sqlite3MisuseError(tls, int32(24454))
+ return _sqlite3MisuseError(tls, int32(24456))
}
if _statMutex[op] != 0 {
v1 = _sqlite3Pcache1Mutex(tls)
@@ -15923,7 +12347,7 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p
goto _5
_5:
;
- pVdbe = (*TVdbe1)(unsafe.Pointer(pVdbe)).FpVNext
+ pVdbe = (*TVdbe)(unsafe.Pointer(pVdbe)).FpVNext
}
(*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FpEnd = (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FpTrueEnd
(*Tsqlite3)(unsafe.Pointer(db)).FpnBytesFreed = uintptr(0)
@@ -16052,24 +12476,6 @@ type TDateTime = struct {
type DateTime = TDateTime
-type TDateTime1 = struct {
- FiJD Tsqlite3_int64
- FY int32
- FM int32
- FD int32
- Fh int32
- Fm int32
- Ftz int32
- Fs float64
- FvalidJD int8
- FvalidYMD int8
- FvalidHMS int8
- FnFloor int8
- F__ccgo44 uint8
-}
-
-type DateTime1 = TDateTime1
-
// C documentation
//
// /*
@@ -18063,28 +14469,28 @@ func init() {
// */
func _sqlite3OsClose(tls *libc.TLS, pId uintptr) {
if (*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods != 0 {
- (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods)).FxClose})))(tls, pId)
+ (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods)).FxClose})))(tls, pId)
(*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = uintptr(0)
}
}
func _sqlite3OsRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Ti64) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxRead})))(tls, id, pBuf, amt, offset)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxRead})))(tls, id, pBuf, amt, offset)
}
func _sqlite3OsWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Ti64) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxWrite})))(tls, id, pBuf, amt, offset)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxWrite})))(tls, id, pBuf, amt, offset)
}
func _sqlite3OsTruncate(tls *libc.TLS, id uintptr, size Ti64) (r int32) {
- return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxTruncate})))(tls, id, size)
+ return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxTruncate})))(tls, id, size)
}
func _sqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) (r int32) {
var v1 int32
_ = v1
if flags != 0 {
- v1 = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSync})))(tls, id, flags)
+ v1 = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSync})))(tls, id, flags)
} else {
v1 = SQLITE_OK
}
@@ -18092,19 +14498,19 @@ func _sqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) (r int32) {
}
func _sqlite3OsFileSize(tls *libc.TLS, id uintptr, pSize uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileSize})))(tls, id, pSize)
+ return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileSize})))(tls, id, pSize)
}
func _sqlite3OsLock(tls *libc.TLS, id uintptr, lockType int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxLock})))(tls, id, lockType)
+ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxLock})))(tls, id, lockType)
}
func _sqlite3OsUnlock(tls *libc.TLS, id uintptr, lockType int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnlock})))(tls, id, lockType)
+ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnlock})))(tls, id, lockType)
}
func _sqlite3OsCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxCheckReservedLock})))(tls, id, pResOut)
+ return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxCheckReservedLock})))(tls, id, pResOut)
}
// C documentation
@@ -18121,12 +14527,12 @@ func _sqlite3OsFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) (r
if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods == uintptr(0) {
return int32(SQLITE_NOTFOUND)
}
- return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
+ return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
}
func _sqlite3OsFileControlHint(tls *libc.TLS, id uintptr, op int32, pArg uintptr) {
if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods != 0 {
- (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
+ (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
}
}
@@ -18134,7 +14540,7 @@ func _sqlite3OsSectorSize(tls *libc.TLS, id uintptr) (r int32) {
var xSectorSize uintptr
var v1 int32
_, _ = xSectorSize, v1
- xSectorSize = (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSectorSize
+ xSectorSize = (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSectorSize
if xSectorSize != 0 {
v1 = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xSectorSize})))(tls, id)
} else {
@@ -18147,34 +14553,34 @@ func _sqlite3OsDeviceCharacteristics(tls *libc.TLS, id uintptr) (r int32) {
if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods == uintptr(0) {
return 0
}
- return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxDeviceCharacteristics})))(tls, id)
+ return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxDeviceCharacteristics})))(tls, id)
}
func _sqlite3OsShmLock(tls *libc.TLS, id uintptr, offset int32, n int32, flags int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmLock})))(tls, id, offset, n, flags)
+ return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmLock})))(tls, id, offset, n, flags)
}
func _sqlite3OsShmBarrier(tls *libc.TLS, id uintptr) {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmBarrier})))(tls, id)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmBarrier})))(tls, id)
}
func _sqlite3OsShmUnmap(tls *libc.TLS, id uintptr, deleteFlag int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmUnmap})))(tls, id, deleteFlag)
+ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmUnmap})))(tls, id, deleteFlag)
}
func _sqlite3OsShmMap(tls *libc.TLS, id uintptr, iPage int32, pgsz int32, bExtend int32, pp uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmMap})))(tls, id, iPage, pgsz, bExtend, pp)
+ return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmMap})))(tls, id, iPage, pgsz, bExtend, pp)
}
// C documentation
//
// /* The real implementation of xFetch and xUnfetch */
func _sqlite3OsFetch(tls *libc.TLS, id uintptr, iOff Ti64, iAmt int32, pp uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFetch})))(tls, id, iOff, iAmt, pp)
+ return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFetch})))(tls, id, iOff, iAmt, pp)
}
func _sqlite3OsUnfetch(tls *libc.TLS, id uintptr, iOff Ti64, p uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnfetch})))(tls, id, iOff, p)
+ return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnfetch})))(tls, id, iOff, p)
}
// C documentation
@@ -18487,14 +14893,7 @@ type TBenignMallocHooks = struct {
type BenignMallocHooks = TBenignMallocHooks
-type TBenignMallocHooks1 = struct {
- FxBenignBegin uintptr
- FxBenignEnd uintptr
-}
-
-type BenignMallocHooks1 = TBenignMallocHooks1
-
-var _sqlite3Hooks = TBenignMallocHooks1{}
+var _sqlite3Hooks = TBenignMallocHooks{}
/* The "wsdHooks" macro will resolve to the appropriate BenignMallocHooks
** structure. If writable static data is unsupported on the target,
@@ -18509,9 +14908,9 @@ var _sqlite3Hooks = TBenignMallocHooks1{}
// ** Register hooks to call when sqlite3BeginBenignMalloc() and
// ** sqlite3EndBenignMalloc() are called, respectively.
// */
-func _sqlite3BenignMallocHooks(tls *libc.TLS, xBenignBegin uintptr, xBenignEnd uintptr) {
- _sqlite3Hooks.FxBenignBegin = xBenignBegin
- _sqlite3Hooks.FxBenignEnd = xBenignEnd
+func _sqlite3BenignMallocHooks(tls *libc.TLS, __ccgo_fp_xBenignBegin uintptr, __ccgo_fp_xBenignEnd uintptr) {
+ _sqlite3Hooks.FxBenignBegin = __ccgo_fp_xBenignBegin
+ _sqlite3Hooks.FxBenignEnd = __ccgo_fp_xBenignEnd
}
// C documentation
@@ -19259,6 +15658,8 @@ func _sqlite3MallocMutex(tls *libc.TLS) (r uintptr) {
return _mem0.Fmutex
}
+type t__ccgo_fp__Xsqlite3_memory_alarm_0 = func(*libc.TLS, uintptr, int64, int32)
+
// C documentation
//
// /*
@@ -19266,8 +15667,8 @@ func _sqlite3MallocMutex(tls *libc.TLS) (r uintptr) {
// ** that was invoked when memory usage grew too large. Now it is a
// ** no-op.
// */
-func Xsqlite3_memory_alarm(tls *libc.TLS, xCallback uintptr, pArg uintptr, iThreshold Tsqlite3_int64) (r int32) {
- _ = xCallback
+func Xsqlite3_memory_alarm(tls *libc.TLS, __ccgo_fp_xCallback uintptr, pArg uintptr, iThreshold Tsqlite3_int64) (r int32) {
+ _ = __ccgo_fp_xCallback
_ = pArg
_ = iThreshold
return SQLITE_OK
@@ -22575,63 +18976,10 @@ func _sqlite3PrngRestoreState(tls *libc.TLS) {
libc.X__builtin___memcpy_chk(tls, uintptr(unsafe.Pointer(&_sqlite3Prng)), uintptr(unsafe.Pointer(&_sqlite3SavedPrng)), uint64(132), ^t__predefined_size_t(0))
}
-/************** End of random.c **********************************************/
-/************** Begin file threads.c *****************************************/
-/*
-** 2012 July 21
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
-** This file presents a simple cross-platform threading interface for
-** use internally by SQLite.
-**
-** A "thread" can be created using sqlite3ThreadCreate(). This thread
-** runs independently of its creator until it is joined using
-** sqlite3ThreadJoin(), at which point it terminates.
-**
-** Threads do not have to be real. It could be that the work of the
-** "thread" is done by the main thread at either the sqlite3ThreadCreate()
-** or sqlite3ThreadJoin() call. This is, in fact, what happens in
-** single threaded systems. Nothing in SQLite requires multiple threads.
-** This interface exists so that applications that want to take advantage
-** of multiple cores can do so, while also allowing applications to stay
-** single-threaded if desired.
- */
-/* #include "sqliteInt.h" */
-
-/********************************* Unix Pthreads ****************************/
-/******************************** End Unix Pthreads *************************/
-
-/********************************* Win32 Threads ****************************/
-/******************************** End Win32 Threads *************************/
-
-/********************************* Single-Threaded **************************/
-/*
-** This implementation does not actually create a new thread. It does the
-** work of the thread in the main thread, when either the thread is created
-** or when it is joined
- */
-
-/* A running thread */
-type TSQLiteThread1 = struct {
- FxTask uintptr
- FpIn uintptr
- FpResult uintptr
-}
-
-type SQLiteThread1 = TSQLiteThread1
-
// C documentation
//
// /* Create a new thread */
-func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, xTask uintptr, pIn uintptr) (r int32) {
+func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, __ccgo_fp_xTask uintptr, pIn uintptr) (r int32) {
var p uintptr
_ = p
*(*uintptr)(unsafe.Pointer(ppThread)) = uintptr(0)
@@ -22640,11 +18988,11 @@ func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, xTask uintptr, pIn ui
return int32(SQLITE_NOMEM)
}
if int32(int64(p))/int32(17)&int32(1) != 0 {
- (*TSQLiteThread)(unsafe.Pointer(p)).FxTask = xTask
+ (*TSQLiteThread)(unsafe.Pointer(p)).FxTask = __ccgo_fp_xTask
(*TSQLiteThread)(unsafe.Pointer(p)).FpIn = pIn
} else {
(*TSQLiteThread)(unsafe.Pointer(p)).FxTask = uintptr(0)
- (*TSQLiteThread)(unsafe.Pointer(p)).FpResult = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(&struct{ uintptr }{xTask})))(tls, pIn)
+ (*TSQLiteThread)(unsafe.Pointer(p)).FpResult = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xTask})))(tls, pIn)
}
*(*uintptr)(unsafe.Pointer(ppThread)) = p
return SQLITE_OK
@@ -27913,22 +24261,6 @@ type TUnixUnusedFd = struct {
type UnixUnusedFd = TUnixUnusedFd
-/* An unused file descriptor */
-
-/*
-** Sometimes, after a file handle is closed by SQLite, the file descriptor
-** cannot be closed immediately. In these cases, instances of the following
-** structure are used to store the file descriptor while waiting for an
-** opportunity to either close or reuse it.
- */
-type TUnixUnusedFd1 = struct {
- Ffd int32
- Fflags int32
- FpNext uintptr
-}
-
-type UnixUnusedFd1 = TUnixUnusedFd1
-
// C documentation
//
// /*
@@ -27961,32 +24293,6 @@ type TunixFile = struct {
type unixFile = TunixFile
-type TunixFile1 = struct {
- FpMethod uintptr
- FpVfs uintptr
- FpInode uintptr
- Fh int32
- FeFileLock uint8
- FctrlFlags uint16
- FlastErrno int32
- FlockingContext uintptr
- FpPreallocatedUnused uintptr
- FzPath uintptr
- FpShm uintptr
- FszChunk int32
- FnFetchOut int32
- FmmapSize Tsqlite3_int64
- FmmapSizeActual Tsqlite3_int64
- FmmapSizeMax Tsqlite3_int64
- FpMapRegion uintptr
- FsectorSize int32
- FdeviceCharacteristics int32
- FopenFlags int32
- FfsFlags uint32
-}
-
-type unixFile1 = TunixFile1
-
// C documentation
//
// /* This variable holds the process id (pid) from when the xRandomness()
@@ -28208,7 +24514,7 @@ func _robustFchown(tls *libc.TLS, fd int32, uid Tuid_t, gid Tgid_t) (r int32) {
// ** system call pointer, or SQLITE_NOTFOUND if there is no configurable
// ** system call named zName.
// */
-func _unixSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, pNewFunc Tsqlite3_syscall_ptr) (r int32) {
+func _unixSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, __ccgo_fp_pNewFunc Tsqlite3_syscall_ptr) (r int32) {
var i uint32
var rc int32
_, _ = i, rc
@@ -28246,10 +24552,10 @@ func _unixSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, pNewFunc
_aSyscall[i].FpDefault = _aSyscall[i].FpCurrent
}
rc = SQLITE_OK
- if pNewFunc == uintptr(0) {
- pNewFunc = _aSyscall[i].FpDefault
+ if __ccgo_fp_pNewFunc == uintptr(0) {
+ __ccgo_fp_pNewFunc = _aSyscall[i].FpDefault
}
- _aSyscall[i].FpCurrent = pNewFunc
+ _aSyscall[i].FpCurrent = __ccgo_fp_pNewFunc
break
}
goto _2
@@ -28623,48 +24929,6 @@ type TunixFileId = struct {
type unixFileId = TunixFileId
-/*
-** An instance of the following structure is allocated for each open
-** inode.
-**
-** A single inode can have multiple file descriptors, so each unixFile
-** structure contains a pointer to an instance of this object and this
-** object keeps a count of the number of unixFile pointing to it.
-**
-** Mutex rules:
-**
-** (1) Only the pLockMutex mutex must be held in order to read or write
-** any of the locking fields:
-** nShared, nLock, eFileLock, bProcessLock, pUnused
-**
-** (2) When nRef>0, then the following fields are unchanging and can
-** be read (but not written) without holding any mutex:
-** fileId, pLockMutex
-**
-** (3) With the exceptions above, all the fields may only be read
-** or written while holding the global unixBigLock mutex.
-**
-** Deadlock prevention: The global unixBigLock mutex may not
-** be acquired while holding the pLockMutex mutex. If both unixBigLock
-** and pLockMutex are needed, then unixBigLock must be acquired first.
- */
-type TunixInodeInfo1 = struct {
- FfileId TunixFileId
- FpLockMutex uintptr
- FnShared int32
- FnLock int32
- FeFileLock uint8
- FbProcessLock uint8
- FpUnused uintptr
- FnRef int32
- FpShmNode uintptr
- FpNext uintptr
- FpPrev uintptr
- FsharedByte uint64
-}
-
-type unixInodeInfo1 = TunixInodeInfo1
-
// C documentation
//
// /*
@@ -28765,7 +25029,7 @@ func _closePendingFds(tls *libc.TLS, pFile uintptr) {
break
}
pNext = (*TUnixUnusedFd)(unsafe.Pointer(p)).FpNext
- _robust_close(tls, pFile, (*TUnixUnusedFd)(unsafe.Pointer(p)).Ffd, int32(40205))
+ _robust_close(tls, pFile, (*TUnixUnusedFd)(unsafe.Pointer(p)).Ffd, int32(40207))
Xsqlite3_free(tls, p)
goto _1
_1:
@@ -29454,7 +25718,7 @@ func _closeUnixFile(tls *libc.TLS, id uintptr) (r int32) {
pFile = id
_unixUnmapfile(tls, pFile)
if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
- _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40996))
+ _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40998))
(*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1)
}
Xsqlite3_free(tls, (*TunixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused)
@@ -29917,13 +26181,6 @@ type TafpLockingContext = struct {
type afpLockingContext = TafpLockingContext
-type TafpLockingContext1 = struct {
- Freserved int32
- FdbPath uintptr
-}
-
-type afpLockingContext1 = TafpLockingContext1
-
type TByteRangeLockPB2 = struct {
Foffset uint64
Flength uint64
@@ -30671,7 +26928,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) {
if fd >= 0 {
return SQLITE_OK
}
- return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42577)), __ccgo_ts+3603, bp, int32(42577))
+ return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42579)), __ccgo_ts+3603, bp, int32(42579))
}
// C documentation
@@ -30708,7 +26965,7 @@ func _unixSync(tls *libc.TLS, id uintptr, flags int32) (r int32) {
rc = _full_fsync(tls, (*TunixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly)
if rc != 0 {
_storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
- return _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(4)<pShmMutex must
-** be held while accessing any read/write fields.
- */
-type TunixShm1 = struct {
- FpShmNode uintptr
- FpNext uintptr
- FhasMutex Tu8
- Fid Tu8
- FsharedMask Tu16
- FexclMask Tu16
-}
-
-type unixShm1 = TunixShm1
-
/*
** Constants used for locking
*/
@@ -31260,7 +27428,7 @@ func _unixShmPurge(tls *libc.TLS, pFd uintptr) {
}
Xsqlite3_free(tls, (*TunixShmNode)(unsafe.Pointer(p)).FapRegion)
if (*TunixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
- _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(43394))
+ _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(43396))
(*TunixShmNode)(unsafe.Pointer(p)).FhShm = -int32(1)
}
(*TunixInodeInfo)(unsafe.Pointer((*TunixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -31323,7 +27491,7 @@ func _unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) (r in
** help detect if a -shm file truncation is legitimate or is the work
** or a rogue process. */
if rc == SQLITE_OK && _robust_ftruncate(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
- rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(18)<pFirst. This must be done while holding the
** pShmNode->pShmMutex.
*/
- Xsqlite3_mutex_enter(tls, (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpShmMutex)
- (*TunixShm1)(unsafe.Pointer(p)).FpNext = (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpFirst
- (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpFirst = p
- Xsqlite3_mutex_leave(tls, (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpShmMutex)
+ Xsqlite3_mutex_enter(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpShmMutex)
+ (*TunixShm)(unsafe.Pointer(p)).FpNext = (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpFirst
+ (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpFirst = p
+ Xsqlite3_mutex_leave(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpShmMutex)
return rc
/* Jump here on any error */
goto shm_open_err
@@ -31556,7 +27724,7 @@ func _unixShmMap(tls *libc.TLS, fd uintptr, iRegion int32, szRegion int32, bExte
*(*int32)(unsafe.Pointer(bp + 144)) = 0
if _seekAndWriteFd(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(iPg*_pgsz+_pgsz-int32(1)), __ccgo_ts+1665, int32(1), bp+144) != int32(1) {
zFile = (*TunixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
- rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(19)<= 0 {
- _robust_close(tls, pNew, h, int32(44804))
+ _robust_close(tls, pNew, h, int32(44806))
}
} else {
(*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -32999,7 +29167,7 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags
}
}
if fd < 0 {
- rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45252)), __ccgo_ts+3486, zName, int32(45252))
+ rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45254)), __ccgo_ts+3486, zName, int32(45254))
if rc == SQLITE_OK {
rc = rc2
}
@@ -33035,7 +29203,7 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags
}
if libc.Xfstatfs(tls, fd, bp) == -int32(1) {
_storeLastErrno(tls, p, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
- _robust_close(tls, p, fd, int32(45306))
+ _robust_close(tls, p, fd, int32(45308))
return libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(13)< int32(SQLITE_MAX_SYMLINK) {
- (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45503))
+ (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45505))
return
}
got = (*(*func(*libc.TLS, uintptr, uintptr, Tsize_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls, zIn, bp+144, libc.Uint64FromInt64(1026)-libc.Uint64FromInt32(2))
if got <= 0 || got >= libc.Int64FromInt64(1026)-libc.Int64FromInt32(2) {
- (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45508)), __ccgo_ts+3675, zIn, int32(45508))
+ (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45510)), __ccgo_ts+3675, zIn, int32(45510))
return
}
(*(*[1026]int8)(unsafe.Pointer(bp + 144)))[got] = 0
@@ -33313,14 +29471,14 @@ func _unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z
(*(*TDbPath)(unsafe.Pointer(bp))).FzOut = zOut
if int32(*(*int8)(unsafe.Pointer(zPath))) != int32('/') {
if (*(*func(*libc.TLS, uintptr, Tsize_t) uintptr)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(3)].FpCurrent})))(tls, bp+24, libc.Uint64FromInt64(1026)-libc.Uint64FromInt32(2)) == uintptr(0) {
- return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45566)), __ccgo_ts+3504, zPath, int32(45566))
+ return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45568)), __ccgo_ts+3504, zPath, int32(45568))
}
_appendAllPathElements(tls, bp, bp+24)
}
_appendAllPathElements(tls, bp, zPath)
*(*int8)(unsafe.Pointer(zOut + uintptr((*(*TDbPath)(unsafe.Pointer(bp))).FnUsed))) = 0
if (*(*TDbPath)(unsafe.Pointer(bp))).Frc != 0 || (*(*TDbPath)(unsafe.Pointer(bp))).FnUsed < int32(2) {
- return _sqlite3CantopenError(tls, int32(45572))
+ return _sqlite3CantopenError(tls, int32(45574))
}
if (*(*TDbPath)(unsafe.Pointer(bp))).FnSymlink != 0 {
return libc.Int32FromInt32(SQLITE_OK) | libc.Int32FromInt32(2)<= 0 {
(*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(16)].FpCurrent})))(tls, bp)
- _robust_close(tls, pFile, fd, int32(46243))
+ _robust_close(tls, pFile, fd, int32(46245))
}
libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+4258, libc.VaList(bp+2144, cPath, bp+2065))
}
@@ -34203,14 +30347,14 @@ func _proxyTakeConch(tls *libc.TLS, pFile uintptr) (r int32) {
;
if rc == SQLITE_OK && (*TunixFile)(unsafe.Pointer(pFile)).FopenFlags != 0 {
if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
- _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(46496))
+ _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(46498))
}
(*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1)
fd = _robust_open(tls, (*TproxyLockingContext)(unsafe.Pointer(pCtx)).FdbPath, (*TunixFile)(unsafe.Pointer(pFile)).FopenFlags, uint16(0))
if fd >= 0 {
(*TunixFile)(unsafe.Pointer(pFile)).Fh = fd
} else {
- rc = _sqlite3CantopenError(tls, int32(46504)) /* SQLITE_BUSY? proxyTakeConch called
+ rc = _sqlite3CantopenError(tls, int32(46506)) /* SQLITE_BUSY? proxyTakeConch called
during locking */
}
}
@@ -35115,71 +31259,6 @@ type TMemStore = struct {
type MemStore = TMemStore
-/* Access to a lower-level VFS that (might) implement dynamic loading,
-** access to randomness, etc.
- */
-
-/* Storage for a memdb file.
-**
-** An memdb object can be shared or separate. Shared memdb objects can be
-** used by more than one database connection. Mutexes are used by shared
-** memdb objects to coordinate access. Separate memdb objects are only
-** connected to a single database connection and do not require additional
-** mutexes.
-**
-** Shared memdb objects have .zFName!=0 and .pMutex!=0. They are created
-** using "file:/name?vfs=memdb". The first character of the name must be
-** "/" or else the object will be a separate memdb object. All shared
-** memdb objects are stored in memdb_g.apMemStore[] in an arbitrary order.
-**
-** Separate memdb objects are created using a name that does not begin
-** with "/" or using sqlite3_deserialize().
-**
-** Access rules for shared MemStore objects:
-**
-** * .zFName is initialized when the object is created and afterwards
-** is unchanged until the object is destroyed. So it can be accessed
-** at any time as long as we know the object is not being destroyed,
-** which means while either the SQLITE_MUTEX_STATIC_VFS1 or
-** .pMutex is held or the object is not part of memdb_g.apMemStore[].
-**
-** * Can .pMutex can only be changed while holding the
-** SQLITE_MUTEX_STATIC_VFS1 mutex or while the object is not part
-** of memdb_g.apMemStore[].
-**
-** * Other fields can only be changed while holding the .pMutex mutex
-** or when the .nRef is less than zero and the object is not part of
-** memdb_g.apMemStore[].
-**
-** * The .aData pointer has the added requirement that it can can only
-** be changed (for resizing) when nMmap is zero.
-**
- */
-type TMemStore1 = struct {
- Fsz Tsqlite3_int64
- FszAlloc Tsqlite3_int64
- FszMax Tsqlite3_int64
- FaData uintptr
- FpMutex uintptr
- FnMmap int32
- FmFlags uint32
- FnRdLock int32
- FnWrLock int32
- FnRef int32
- FzFName uintptr
-}
-
-type MemStore1 = TMemStore1
-
-/* An open file */
-type TMemFile1 = struct {
- Fbase Tsqlite3_file
- FpStore uintptr
- FeLock int32
-}
-
-type MemFile1 = TMemFile1
-
// C documentation
//
// /*
@@ -36038,101 +32117,6 @@ func _sqlite3MemdbInit(tls *libc.TLS) (r int32) {
return Xsqlite3_vfs_register(tls, uintptr(unsafe.Pointer(&_memdb_vfs)), 0)
}
-/************** End of memdb.c ***********************************************/
-/************** Begin file bitvec.c ******************************************/
-/*
-** 2008 February 16
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file implements an object that represents a fixed-length
-** bitmap. Bits are numbered starting with 1.
-**
-** A bitmap is used to record which pages of a database file have been
-** journalled during a transaction, or which pages have the "dont-write"
-** property. Usually only a few pages are meet either condition.
-** So the bitmap is usually sparse and has low cardinality.
-** But sometimes (for example when during a DROP of a large table) most
-** or all of the pages in a database can get journalled. In those cases,
-** the bitmap becomes dense with high cardinality. The algorithm needs
-** to handle both cases well.
-**
-** The size of the bitmap is fixed when the object is created.
-**
-** All bits are clear when the bitmap is created. Individual bits
-** may be set or cleared one at a time.
-**
-** Test operations are about 100 times more common that set operations.
-** Clear operations are exceedingly rare. There are usually between
-** 5 and 500 set operations per Bitvec object, though the number of sets can
-** sometimes grow into tens of thousands or larger. The size of the
-** Bitvec object is the number of pages in the database file at the
-** start of a transaction, and is thus usually less than a few thousand,
-** but can be as large as 2 billion for a really big database.
- */
-/* #include "sqliteInt.h" */
-
-/* Size of the Bitvec structure in bytes. */
-
-/* Round the union size down to the nearest pointer boundary, since that's how
-** it will be aligned within the Bitvec struct. */
-
-/* Type of the array "element" for the bitmap representation.
-** Should be a power of 2, and ideally, evenly divide into BITVEC_USIZE.
-** Setting this to the "natural word" size of your CPU may improve
-** performance. */
-/* Size, in bits, of the bitmap element. */
-/* Number of elements in a bitmap array. */
-/* Number of bits in the bitmap array. */
-
-/* Number of u32 values in hash table. */
-/* Maximum number of entries in hash table before
-** sub-dividing and re-hashing. */
-/* Hashing function for the aHash representation.
-** Empirical testing showed that the *37 multiplier
-** (an arbitrary prime)in the hash function provided
-** no fewer collisions than the no-op *1. */
-
-/*
-** A bitmap is an instance of the following structure.
-**
-** This bitmap records the existence of zero or more bits
-** with values between 1 and iSize, inclusive.
-**
-** There are three possible representations of the bitmap.
-** If iSize<=BITVEC_NBIT, then Bitvec.u.aBitmap[] is a straight
-** bitmap. The least significant bit is bit 1.
-**
-** If iSize>BITVEC_NBIT and iDivisor==0 then Bitvec.u.aHash[] is
-** a hash table that will hold up to BITVEC_MXHASH distinct values.
-**
-** Otherwise, the value i is redirected into one of BITVEC_NPTR
-** sub-bitmaps pointed to by Bitvec.u.apSub[]. Each subbitmap
-** handles up to iDivisor separate values of i. apSub[0] holds
-** values between 1 and iDivisor. apSub[1] holds values between
-** iDivisor+1 and 2*iDivisor. apSub[N] holds values between
-** N*iDivisor+1 and (N+1)*iDivisor. Each subbitmap is normalized
-** to hold deal with values between 1 and iDivisor.
- */
-type TBitvec1 = struct {
- FiSize Tu32
- FnSet Tu32
- FiDivisor Tu32
- Fu struct {
- FaHash [0][124]Tu32
- FapSub [0][62]uintptr
- FaBitmap [496]Tu8
- }
-}
-
-type Bitvec1 = TBitvec1
-
// C documentation
//
// /*
@@ -36537,66 +32521,6 @@ bitvec_end:
return rc
}
-/************** End of bitvec.c **********************************************/
-/************** Begin file pcache.c ******************************************/
-/*
-** 2008 August 05
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file implements that page cache.
- */
-/* #include "sqliteInt.h" */
-
-/*
-** A complete page cache is an instance of this structure. Every
-** entry in the cache holds a single page of the database file. The
-** btree layer only operates on the cached copy of the database pages.
-**
-** A page cache entry is "clean" if it exactly matches what is currently
-** on disk. A page is "dirty" if it has been modified and needs to be
-** persisted to disk.
-**
-** pDirty, pDirtyTail, pSynced:
-** All dirty pages are linked into the doubly linked list using
-** PgHdr.pDirtyNext and pDirtyPrev. The list is maintained in LRU order
-** such that p was added to the list more recently than p->pDirtyNext.
-** PCache.pDirty points to the first (newest) element in the list and
-** pDirtyTail to the last (oldest).
-**
-** The PCache.pSynced variable is used to optimize searching for a dirty
-** page to eject from the cache mid-transaction. It is better to eject
-** a page that does not require a journal sync than one that does.
-** Therefore, pSynced is maintained so that it *almost* always points
-** to either the oldest page in the pDirty/pDirtyTail list that has a
-** clear PGHDR_NEED_SYNC flag or to a page that is older than this one
-** (so that the right page to eject can be found by following pDirtyPrev
-** pointers).
- */
-type TPCache2 = struct {
- FpDirty uintptr
- FpDirtyTail uintptr
- FpSynced uintptr
- FnRefSum Ti64
- FszCache int32
- FszSpill int32
- FszPage int32
- FszExtra int32
- FbPurgeable Tu8
- FeCreate Tu8
- FxStress uintptr
- FpStress uintptr
- FpCache uintptr
-}
-
-type PCache2 = TPCache2
-
/********************************** Test and Debug Logic **********************/
/*
** Debug tracing macros. Enable by by changing the "0" to "1" and
@@ -36770,14 +32694,14 @@ func _sqlite3PcacheSize(tls *libc.TLS) (r int32) {
// ** to this module, the extra space really ends up being the MemPage
// ** structure in the pager.
// */
-func _sqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) (r int32) {
+func _sqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, __ccgo_fp_xStress uintptr, pStress uintptr, p uintptr) (r int32) {
libc.X__builtin___memset_chk(tls, p, 0, uint64(80), ^t__predefined_size_t(0))
(*TPCache)(unsafe.Pointer(p)).FszPage = int32(1)
(*TPCache)(unsafe.Pointer(p)).FszExtra = szExtra
/* First 8 bytes will be zeroed */
(*TPCache)(unsafe.Pointer(p)).FbPurgeable = libc.Uint8FromInt32(bPurgeable)
(*TPCache)(unsafe.Pointer(p)).FeCreate = uint8(2)
- (*TPCache)(unsafe.Pointer(p)).FxStress = xStress
+ (*TPCache)(unsafe.Pointer(p)).FxStress = __ccgo_fp_xStress
(*TPCache)(unsafe.Pointer(p)).FpStress = pStress
(*TPCache)(unsafe.Pointer(p)).FszCache = int32(100)
(*TPCache)(unsafe.Pointer(p)).FszSpill = int32(1)
@@ -37593,123 +33517,6 @@ type TPGroup = struct {
type PGroup = TPGroup
-/*
-** Each cache entry is represented by an instance of the following
-** structure. A buffer of PgHdr1.pCache->szPage bytes is allocated
-** directly before this structure and is used to cache the page content.
-**
-** When reading a corrupt database file, it is possible that SQLite might
-** read a few bytes (no more than 16 bytes) past the end of the page buffer.
-** It will only read past the end of the page buffer, never write. This
-** object is positioned immediately after the page buffer to serve as an
-** overrun area, so that overreads are harmless.
-**
-** Variables isBulkLocal and isAnchor were once type "u8". That works,
-** but causes a 2-byte gap in the structure for most architectures (since
-** pointers must be either 4 or 8-byte aligned). As this structure is located
-** in memory directly after the associated page data, if the database is
-** corrupt, code at the b-tree layer may overread the page buffer and
-** read part of this structure before the corruption is detected. This
-** can cause a valgrind error if the uninitialized gap is accessed. Using u16
-** ensures there is no such gap, and therefore no bytes of uninitialized
-** memory in the structure.
-**
-** The pLruNext and pLruPrev pointers form a double-linked circular list
-** of all pages that are unpinned. The PGroup.lru element (which should be
-** the only element on the list with PgHdr1.isAnchor set to 1) forms the
-** beginning and the end of the list.
- */
-type TPgHdr11 = struct {
- Fpage Tsqlite3_pcache_page
- FiKey uint32
- FisBulkLocal Tu16
- FisAnchor Tu16
- FpNext uintptr
- FpCache uintptr
- FpLruNext uintptr
- FpLruPrev uintptr
-}
-
-type PgHdr11 = TPgHdr11
-
-/*
-** A page is pinned if it is not on the LRU list. To be "pinned" means
-** that the page is in active use and must not be deallocated.
- */
-
-/* Each page cache (or PCache) belongs to a PGroup. A PGroup is a set
-** of one or more PCaches that are able to recycle each other's unpinned
-** pages when they are under memory pressure. A PGroup is an instance of
-** the following object.
-**
-** This page cache implementation works in one of two modes:
-**
-** (1) Every PCache is the sole member of its own PGroup. There is
-** one PGroup per PCache.
-**
-** (2) There is a single global PGroup that all PCaches are a member
-** of.
-**
-** Mode 1 uses more memory (since PCache instances are not able to rob
-** unused pages from other PCaches) but it also operates without a mutex,
-** and is therefore often faster. Mode 2 requires a mutex in order to be
-** threadsafe, but recycles pages more efficiently.
-**
-** For mode (1), PGroup.mutex is NULL. For mode (2) there is only a single
-** PGroup which is the pcache1.grp global variable and its mutex is
-** SQLITE_MUTEX_STATIC_LRU.
- */
-type TPGroup1 = struct {
- Fmutex uintptr
- FnMaxPage uint32
- FnMinPage uint32
- FmxPinned uint32
- FnPurgeable uint32
- Flru TPgHdr1
-}
-
-type PGroup1 = TPGroup1
-
-/* Each page cache is an instance of the following object. Every
-** open database file (including each in-memory database and each
-** temporary or transient database) has a single page cache which
-** is an instance of this object.
-**
-** Pointers to structures of this type are cast and returned as
-** opaque sqlite3_pcache* handles.
- */
-type TPCache11 = struct {
- FpGroup uintptr
- FpnPurgeable uintptr
- FszPage int32
- FszExtra int32
- FszAlloc int32
- FbPurgeable int32
- FnMin uint32
- FnMax uint32
- Fn90pct uint32
- FiMaxKey uint32
- FnPurgeableDummy uint32
- FnRecyclable uint32
- FnPage uint32
- FnHash uint32
- FapHash uintptr
- FpFree uintptr
- FpBulk uintptr
-}
-
-type PCache11 = TPCache11
-
-/*
-** Free slots in the allocator used to divide up the global page cache
-** buffer provided using the SQLITE_CONFIG_PAGECACHE mechanism.
- */
-type TPgFreeslot1 = struct {
- FpNext uintptr
-}
-
-type PgFreeslot1 = TPgFreeslot1
-
// C documentation
//
// /*
@@ -38906,25 +34713,6 @@ type TRowSetChunk = struct {
type RowSetChunk = TRowSetChunk
-/*
-** A RowSet in an instance of the following structure.
-**
-** A typedef of this structure if found in sqliteInt.h.
- */
-type TRowSet1 = struct {
- FpChunk uintptr
- Fdb uintptr
- FpEntry uintptr
- FpLast uintptr
- FpFresh uintptr
- FpForest uintptr
- FnFresh Tu16
- FrsFlags Tu16
- FiBatch int32
-}
-
-type RowSet1 = TRowSet1
-
/*
** Allowed values for RowSet.rsFlags
*/
@@ -39886,258 +35674,6 @@ type TPagerSavepoint = struct {
type PagerSavepoint = TPagerSavepoint
-type TPagerSavepoint1 = struct {
- FiOffset Ti64
- FiHdrOffset Ti64
- FpInSavepoint uintptr
- FnOrig TPgno
- FiSubRec TPgno
- FbTruncateOnRelease int32
- FaWalData [4]Tu32
-}
-
-type PagerSavepoint1 = TPagerSavepoint1
-
-/*
-** Bits of the Pager.doNotSpill flag. See further description below.
- */
-
-/*
-** An open page cache is an instance of struct Pager. A description of
-** some of the more important member variables follows:
-**
-** eState
-**
-** The current 'state' of the pager object. See the comment and state
-** diagram above for a description of the pager state.
-**
-** eLock
-**
-** For a real on-disk database, the current lock held on the database file -
-** NO_LOCK, SHARED_LOCK, RESERVED_LOCK or EXCLUSIVE_LOCK.
-**
-** For a temporary or in-memory database (neither of which require any
-** locks), this variable is always set to EXCLUSIVE_LOCK. Since such
-** databases always have Pager.exclusiveMode==1, this tricks the pager
-** logic into thinking that it already has all the locks it will ever
-** need (and no reason to release them).
-**
-** In some (obscure) circumstances, this variable may also be set to
-** UNKNOWN_LOCK. See the comment above the #define of UNKNOWN_LOCK for
-** details.
-**
-** changeCountDone
-**
-** This boolean variable is used to make sure that the change-counter
-** (the 4-byte header field at byte offset 24 of the database file) is
-** not updated more often than necessary.
-**
-** It is set to true when the change-counter field is updated, which
-** can only happen if an exclusive lock is held on the database file.
-** It is cleared (set to false) whenever an exclusive lock is
-** relinquished on the database file. Each time a transaction is committed,
-** The changeCountDone flag is inspected. If it is true, the work of
-** updating the change-counter is omitted for the current transaction.
-**
-** This mechanism means that when running in exclusive mode, a connection
-** need only update the change-counter once, for the first transaction
-** committed.
-**
-** setSuper
-**
-** When PagerCommitPhaseOne() is called to commit a transaction, it may
-** (or may not) specify a super-journal name to be written into the
-** journal file before it is synced to disk.
-**
-** Whether or not a journal file contains a super-journal pointer affects
-** the way in which the journal file is finalized after the transaction is
-** committed or rolled back when running in "journal_mode=PERSIST" mode.
-** If a journal file does not contain a super-journal pointer, it is
-** finalized by overwriting the first journal header with zeroes. If
-** it does contain a super-journal pointer the journal file is finalized
-** by truncating it to zero bytes, just as if the connection were
-** running in "journal_mode=truncate" mode.
-**
-** Journal files that contain super-journal pointers cannot be finalized
-** simply by overwriting the first journal-header with zeroes, as the
-** super-journal pointer could interfere with hot-journal rollback of any
-** subsequently interrupted transaction that reuses the journal file.
-**
-** The flag is cleared as soon as the journal file is finalized (either
-** by PagerCommitPhaseTwo or PagerRollback). If an IO error prevents the
-** journal file from being successfully finalized, the setSuper flag
-** is cleared anyway (and the pager will move to ERROR state).
-**
-** doNotSpill
-**
-** This variables control the behavior of cache-spills (calls made by
-** the pcache module to the pagerStress() routine to write cached data
-** to the file-system in order to free up memory).
-**
-** When bits SPILLFLAG_OFF or SPILLFLAG_ROLLBACK of doNotSpill are set,
-** writing to the database from pagerStress() is disabled altogether.
-** The SPILLFLAG_ROLLBACK case is done in a very obscure case that
-** comes up during savepoint rollback that requires the pcache module
-** to allocate a new page to prevent the journal file from being written
-** while it is being traversed by code in pager_playback(). The SPILLFLAG_OFF
-** case is a user preference.
-**
-** If the SPILLFLAG_NOSYNC bit is set, writing to the database from
-** pagerStress() is permitted, but syncing the journal file is not.
-** This flag is set by sqlite3PagerWrite() when the file-system sector-size
-** is larger than the database page-size in order to prevent a journal sync
-** from happening in between the journalling of two pages on the same sector.
-**
-** subjInMemory
-**
-** This is a boolean variable. If true, then any required sub-journal
-** is opened as an in-memory journal file. If false, then in-memory
-** sub-journals are only used for in-memory pager files.
-**
-** This variable is updated by the upper layer each time a new
-** write-transaction is opened.
-**
-** dbSize, dbOrigSize, dbFileSize
-**
-** Variable dbSize is set to the number of pages in the database file.
-** It is valid in PAGER_READER and higher states (all states except for
-** OPEN and ERROR).
-**
-** dbSize is set based on the size of the database file, which may be
-** larger than the size of the database (the value stored at offset
-** 28 of the database header by the btree). If the size of the file
-** is not an integer multiple of the page-size, the value stored in
-** dbSize is rounded down (i.e. a 5KB file with 2K page-size has dbSize==2).
-** Except, any file that is greater than 0 bytes in size is considered
-** to have at least one page. (i.e. a 1KB file with 2K page-size leads
-** to dbSize==1).
-**
-** During a write-transaction, if pages with page-numbers greater than
-** dbSize are modified in the cache, dbSize is updated accordingly.
-** Similarly, if the database is truncated using PagerTruncateImage(),
-** dbSize is updated.
-**
-** Variables dbOrigSize and dbFileSize are valid in states
-** PAGER_WRITER_LOCKED and higher. dbOrigSize is a copy of the dbSize
-** variable at the start of the transaction. It is used during rollback,
-** and to determine whether or not pages need to be journalled before
-** being modified.
-**
-** Throughout a write-transaction, dbFileSize contains the size of
-** the file on disk in pages. It is set to a copy of dbSize when the
-** write-transaction is first opened, and updated when VFS calls are made
-** to write or truncate the database file on disk.
-**
-** The only reason the dbFileSize variable is required is to suppress
-** unnecessary calls to xTruncate() after committing a transaction. If,
-** when a transaction is committed, the dbFileSize variable indicates
-** that the database file is larger than the database image (Pager.dbSize),
-** pager_truncate() is called. The pager_truncate() call uses xFilesize()
-** to measure the database file on disk, and then truncates it if required.
-** dbFileSize is not used when rolling back a transaction. In this case
-** pager_truncate() is called unconditionally (which means there may be
-** a call to xFilesize() that is not strictly required). In either case,
-** pager_truncate() may cause the file to become smaller or larger.
-**
-** dbHintSize
-**
-** The dbHintSize variable is used to limit the number of calls made to
-** the VFS xFileControl(FCNTL_SIZE_HINT) method.
-**
-** dbHintSize is set to a copy of the dbSize variable when a
-** write-transaction is opened (at the same time as dbFileSize and
-** dbOrigSize). If the xFileControl(FCNTL_SIZE_HINT) method is called,
-** dbHintSize is increased to the number of pages that correspond to the
-** size-hint passed to the method call. See pager_write_pagelist() for
-** details.
-**
-** errCode
-**
-** The Pager.errCode variable is only ever used in PAGER_ERROR state. It
-** is set to zero in all other states. In PAGER_ERROR state, Pager.errCode
-** is always set to SQLITE_FULL, SQLITE_IOERR or one of the SQLITE_IOERR_XXX
-** sub-codes.
-**
-** syncFlags, walSyncFlags
-**
-** syncFlags is either SQLITE_SYNC_NORMAL (0x02) or SQLITE_SYNC_FULL (0x03).
-** syncFlags is used for rollback mode. walSyncFlags is used for WAL mode
-** and contains the flags used to sync the checkpoint operations in the
-** lower two bits, and sync flags used for transaction commits in the WAL
-** file in bits 0x04 and 0x08. In other words, to get the correct sync flags
-** for checkpoint operations, use (walSyncFlags&0x03) and to get the correct
-** sync flags for transaction commit, use ((walSyncFlags>>2)&0x03). Note
-** that with synchronous=NORMAL in WAL mode, transaction commit is not synced
-** meaning that the 0x04 and 0x08 bits are both zero.
- */
-type TPager1 = struct {
- FpVfs uintptr
- FexclusiveMode Tu8
- FjournalMode Tu8
- FuseJournal Tu8
- FnoSync Tu8
- FfullSync Tu8
- FextraSync Tu8
- FsyncFlags Tu8
- FwalSyncFlags Tu8
- FtempFile Tu8
- FnoLock Tu8
- FreadOnly Tu8
- FmemDb Tu8
- FmemVfs Tu8
- FeState Tu8
- FeLock Tu8
- FchangeCountDone Tu8
- FsetSuper Tu8
- FdoNotSpill Tu8
- FsubjInMemory Tu8
- FbUseFetch Tu8
- FhasHeldSharedLock Tu8
- FdbSize TPgno
- FdbOrigSize TPgno
- FdbFileSize TPgno
- FdbHintSize TPgno
- FerrCode int32
- FnRec int32
- FcksumInit Tu32
- FnSubRec Tu32
- FpInJournal uintptr
- Ffd uintptr
- Fjfd uintptr
- Fsjfd uintptr
- FjournalOff Ti64
- FjournalHdr Ti64
- FpBackup uintptr
- FaSavepoint uintptr
- FnSavepoint int32
- FiDataVersion Tu32
- FdbFileVers [16]int8
- FnMmapOut int32
- FszMmap Tsqlite3_int64
- FpMmapFreelist uintptr
- FnExtra Tu16
- FnReserve Ti16
- FvfsFlags Tu32
- FsectorSize Tu32
- FmxPgno TPgno
- FlckPgno TPgno
- FpageSize Ti64
- FjournalSizeLimit Ti64
- FzFilename uintptr
- FzJournal uintptr
- FxBusyHandler uintptr
- FpBusyHandlerArg uintptr
- FaStat [4]Tu32
- FxReiniter uintptr
- FxGet uintptr
- FpTmpSpace uintptr
- FpPCache uintptr
- FpWal uintptr
- FzWal uintptr
-}
-
-type Pager1 = TPager1
-
/*
** Indexes for use with Pager.aStat[]. The Pager.aStat[] array contains
** the values accessed by passing SQLITE_DBSTATUS_CACHE_HIT, CACHE_MISS
@@ -40236,7 +35772,7 @@ func _sqlite3PagerDirectReadOk(tls *libc.TLS, pPager uintptr, pgno TPgno) (r int
return 0
} /* Case (4) */
}
- if (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TPager)(unsafe.Pointer(pPager)).Ffd)).FpMethods)).FxDeviceCharacteristics})))(tls, (*TPager)(unsafe.Pointer(pPager)).Ffd)&int32(SQLITE_IOCAP_SUBPAGE_READ) == 0 {
+ if (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TPager)(unsafe.Pointer(pPager)).Ffd)).FpMethods)).FxDeviceCharacteristics})))(tls, (*TPager)(unsafe.Pointer(pPager)).Ffd)&int32(SQLITE_IOCAP_SUBPAGE_READ) == 0 {
return 0 /* Case (2) */
}
return int32(1)
@@ -42721,7 +38257,7 @@ func _pagerFixMaplimit(tls *libc.TLS, pPager uintptr) {
var _ /* sz at bp+0 */ Tsqlite3_int64
_ = fd
fd = (*TPager)(unsafe.Pointer(pPager)).Ffd
- if (*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods != uintptr(0) && (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FiVersion >= int32(3) {
+ if (*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods != uintptr(0) && (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FiVersion >= int32(3) {
*(*Tsqlite3_int64)(unsafe.Pointer(bp)) = (*TPager)(unsafe.Pointer(pPager)).FszMmap
(*TPager)(unsafe.Pointer(pPager)).FbUseFetch = libc.BoolUint8(*(*Tsqlite3_int64)(unsafe.Pointer(bp)) > libc.Int64FromInt32(0))
_setGetterMethod(tls, pPager)
@@ -42912,10 +38448,10 @@ func _pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32
// ** retried. If it returns zero, then the SQLITE_BUSY error is
// ** returned to the caller of the pager API function.
// */
-func _sqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) {
+func _sqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, __ccgo_fp_xBusyHandler uintptr, pBusyHandlerArg uintptr) {
var ap uintptr
_ = ap
- (*TPager)(unsafe.Pointer(pPager)).FxBusyHandler = xBusyHandler
+ (*TPager)(unsafe.Pointer(pPager)).FxBusyHandler = __ccgo_fp_xBusyHandler
(*TPager)(unsafe.Pointer(pPager)).FpBusyHandlerArg = pBusyHandlerArg
ap = pPager + 232
_sqlite3OsFileControlHint(tls, (*TPager)(unsafe.Pointer(pPager)).Ffd, int32(SQLITE_FCNTL_BUSYHANDLER), ap)
@@ -43816,7 +39352,7 @@ func _sqlite3PagerFlush(tls *libc.TLS, pPager uintptr) (r int32) {
// ** (sqlite3Malloc() is used to allocate memory), SQLITE_CANTOPEN or
// ** various SQLITE_IO_XXX errors.
// */
-func _sqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) (r int32) {
+func _sqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, __ccgo_fp_xReinit uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var iDc, journalFileSize, memDb, memJM, nPathname, nUriByte, pcacheSize, rc, readOnly, tempFile, useJournal, v4 int32
@@ -43891,7 +39427,7 @@ func _sqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename u
** as it will not be possible to open the journal file or even
** check for a hot-journal before reading.
*/
- rc = _sqlite3CantopenError(tls, int32(62857))
+ rc = _sqlite3CantopenError(tls, int32(62859))
}
if rc != SQLITE_OK {
_sqlite3DbFree(tls, uintptr(0), zPathname)
@@ -44113,7 +39649,7 @@ _3:
}
/* pPager->xBusyHandler = 0; */
/* pPager->pBusyHandlerArg = 0; */
- (*TPager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FxReiniter = xReinit
+ (*TPager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FxReiniter = __ccgo_fp_xReinit
_setGetterMethod(tls, *(*uintptr)(unsafe.Pointer(bp)))
/* memset(pPager->aHash, 0, sizeof(pPager->aHash)); */
/* pPager->szMmap = SQLITE_DEFAULT_MMAP_SIZE // will be set by btree.c */
@@ -44369,7 +39905,7 @@ func _sqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) (r int32) {
f = libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_MAIN_JOURNAL)
rc = _sqlite3OsOpen(tls, pVfs, (*TPager)(unsafe.Pointer(pPager)).FzJournal, (*TPager)(unsafe.Pointer(pPager)).Fjfd, f, bp+8)
if rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&int32(SQLITE_OPEN_READONLY) != 0 {
- rc = _sqlite3CantopenError(tls, int32(63378))
+ rc = _sqlite3CantopenError(tls, int32(63380))
_sqlite3OsClose(tls, (*TPager)(unsafe.Pointer(pPager)).Fjfd)
}
}
@@ -44544,7 +40080,7 @@ func _getPageNormal(tls *libc.TLS, pPager uintptr, pgno TPgno, ppPage uintptr, f
_, _, _, _ = noContent, pPg, rc, v1
rc = SQLITE_OK
if pgno == uint32(0) {
- return _sqlite3CorruptError(tls, int32(63591))
+ return _sqlite3CorruptError(tls, int32(63593))
}
*(*uintptr)(unsafe.Pointer(bp)) = _sqlite3PcacheFetch(tls, (*TPager)(unsafe.Pointer(pPager)).FpPCache, pgno, int32(3))
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
@@ -44575,7 +40111,7 @@ func _getPageNormal(tls *libc.TLS, pPager uintptr, pgno TPgno, ppPage uintptr, f
** (2) Never try to fetch the locking page
*/
if pgno == (*TPager)(unsafe.Pointer(pPager)).FlckPgno {
- rc = _sqlite3CorruptError(tls, int32(63623))
+ rc = _sqlite3CorruptError(tls, int32(63625))
goto pager_acquire_err
}
(*TPgHdr)(unsafe.Pointer(pPg)).FpPager = pPager
@@ -44647,7 +40183,7 @@ func _getPageMMap(tls *libc.TLS, pPager uintptr, pgno TPgno, ppPage uintptr, fla
** test in the previous statement, and avoid testing pgno==0 in the
** common case where pgno is large. */
if pgno <= uint32(1) && pgno == uint32(0) {
- return _sqlite3CorruptError(tls, int32(63706))
+ return _sqlite3CorruptError(tls, int32(63708))
}
if bMmapOk != 0 && (*TPager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
rc = _sqlite3WalFindFrame(tls, (*TPager)(unsafe.Pointer(pPager)).FpWal, pgno, bp+8)
@@ -46004,7 +41540,7 @@ func _sqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno TPgn
if pPgOld != 0 {
if (*TPgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
_sqlite3PagerUnrefNotNull(tls, pPgOld)
- return _sqlite3CorruptError(tls, int32(65272))
+ return _sqlite3CorruptError(tls, int32(65274))
}
p4 = pPg + 52
*(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) | libc.Int32FromUint16((*TPgHdr)(unsafe.Pointer(pPgOld)).Fflags)&libc.Int32FromInt32(PGHDR_NEED_SYNC))
@@ -46853,232 +42389,6 @@ type TWalCkptInfo = struct {
type WalCkptInfo = TWalCkptInfo
-/*
-** The following object holds a copy of the wal-index header content.
-**
-** The actual header in the wal-index consists of two copies of this
-** object followed by one instance of the WalCkptInfo object.
-** For all versions of SQLite through 3.10.0 and probably beyond,
-** the locking bytes (WalCkptInfo.aLock) start at offset 120 and
-** the total header size is 136 bytes.
-**
-** The szPage value can be any power of 2 between 512 and 32768, inclusive.
-** Or it can be 1 to represent a 65536-byte page. The latter case was
-** added in 3.7.1 when support for 64K pages was added.
- */
-type TWalIndexHdr1 = struct {
- FiVersion Tu32
- Funused Tu32
- FiChange Tu32
- FisInit Tu8
- FbigEndCksum Tu8
- FszPage Tu16
- FmxFrame Tu32
- FnPage Tu32
- FaFrameCksum [2]Tu32
- FaSalt [2]Tu32
- FaCksum [2]Tu32
-}
-
-type WalIndexHdr1 = TWalIndexHdr1
-
-/*
-** A copy of the following object occurs in the wal-index immediately
-** following the second copy of the WalIndexHdr. This object stores
-** information used by checkpoint.
-**
-** nBackfill is the number of frames in the WAL that have been written
-** back into the database. (We call the act of moving content from WAL to
-** database "backfilling".) The nBackfill number is never greater than
-** WalIndexHdr.mxFrame. nBackfill can only be increased by threads
-** holding the WAL_CKPT_LOCK lock (which includes a recovery thread).
-** However, a WAL_WRITE_LOCK thread can move the value of nBackfill from
-** mxFrame back to zero when the WAL is reset.
-**
-** nBackfillAttempted is the largest value of nBackfill that a checkpoint
-** has attempted to achieve. Normally nBackfill==nBackfillAtempted, however
-** the nBackfillAttempted is set before any backfilling is done and the
-** nBackfill is only set after all backfilling completes. So if a checkpoint
-** crashes, nBackfillAttempted might be larger than nBackfill. The
-** WalIndexHdr.mxFrame must never be less than nBackfillAttempted.
-**
-** The aLock[] field is a set of bytes used for locking. These bytes should
-** never be read or written.
-**
-** There is one entry in aReadMark[] for each reader lock. If a reader
-** holds read-lock K, then the value in aReadMark[K] is no greater than
-** the mxFrame for that reader. The value READMARK_NOT_USED (0xffffffff)
-** for any aReadMark[] means that entry is unused. aReadMark[0] is
-** a special case; its value is never used and it exists as a place-holder
-** to avoid having to offset aReadMark[] indexes by one. Readers holding
-** WAL_READ_LOCK(0) always ignore the entire WAL and read all content
-** directly from the database.
-**
-** The value of aReadMark[K] may only be changed by a thread that
-** is holding an exclusive lock on WAL_READ_LOCK(K). Thus, the value of
-** aReadMark[K] cannot changed while there is a reader is using that mark
-** since the reader will be holding a shared lock on WAL_READ_LOCK(K).
-**
-** The checkpointer may only transfer frames from WAL to database where
-** the frame numbers are less than or equal to every aReadMark[] that is
-** in use (that is, every aReadMark[j] for which there is a corresponding
-** WAL_READ_LOCK(j)). New readers (usually) pick the aReadMark[] with the
-** largest value and will increase an unused aReadMark[] to mxFrame if there
-** is not already an aReadMark[] equal to mxFrame. The exception to the
-** previous sentence is when nBackfill equals mxFrame (meaning that everything
-** in the WAL has been backfilled into the database) then new readers
-** will choose aReadMark[0] which has value 0 and hence such reader will
-** get all their all content directly from the database file and ignore
-** the WAL.
-**
-** Writers normally append new frames to the end of the WAL. However,
-** if nBackfill equals mxFrame (meaning that all WAL content has been
-** written back into the database) and if no readers are using the WAL
-** (in other words, if there are no WAL_READ_LOCK(i) where i>0) then
-** the writer will first "reset" the WAL back to the beginning and start
-** writing new content beginning at frame 1.
-**
-** We assume that 32-bit loads are atomic and so no locks are needed in
-** order to read from any aReadMark[] entries.
- */
-type TWalCkptInfo1 = struct {
- FnBackfill Tu32
- FaReadMark [5]Tu32
- FaLock [8]Tu8
- FnBackfillAttempted Tu32
- FnotUsed0 Tu32
-}
-
-type WalCkptInfo1 = TWalCkptInfo1
-
-/*
-** This is a schematic view of the complete 136-byte header of the
-** wal-index file (also known as the -shm file):
-**
-** +-----------------------------+
-** 0: | iVersion | ** +-----------------------------+ |
-** 4: | (unused padding) | |
-** +-----------------------------+ |
-** 8: | iChange | |
-** +-------+-------+-------------+ |
-** 12: | bInit | bBig | szPage | |
-** +-------+-------+-------------+ |
-** 16: | mxFrame | | First copy of the
-** +-----------------------------+ | WalIndexHdr object
-** 20: | nPage | |
-** +-----------------------------+ |
-** 24: | aFrameCksum | |
-** | | |
-** +-----------------------------+ |
-** 32: | aSalt | |
-** | | |
-** +-----------------------------+ |
-** 40: | aCksum | |
-** | | /
-** +-----------------------------+
-** 48: | iVersion | ** +-----------------------------+ |
-** 52: | (unused padding) | |
-** +-----------------------------+ |
-** 56: | iChange | |
-** +-------+-------+-------------+ |
-** 60: | bInit | bBig | szPage | |
-** +-------+-------+-------------+ | Second copy of the
-** 64: | mxFrame | | WalIndexHdr
-** +-----------------------------+ |
-** 68: | nPage | |
-** +-----------------------------+ |
-** 72: | aFrameCksum | |
-** | | |
-** +-----------------------------+ |
-** 80: | aSalt | |
-** | | |
-** +-----------------------------+ |
-** 88: | aCksum | |
-** | | /
-** +-----------------------------+
-** 96: | nBackfill |
-** +-----------------------------+
-** 100: | 5 read marks |
-** | |
-** | |
-** | |
-** | |
-** +-------+-------+------+------+
-** 120: | Write | Ckpt | Rcvr | Rd0 | ** +-------+-------+------+------+ ) 8 lock bytes
-** | Read1 | Read2 | Rd3 | Rd4 | /
-** +-------+-------+------+------+
-** 128: | nBackfillAttempted |
-** +-----------------------------+
-** 132: | (unused padding) |
-** +-----------------------------+
- */
-
-/* A block of WALINDEX_LOCK_RESERVED bytes beginning at
-** WALINDEX_LOCK_OFFSET is reserved for locks. Since some systems
-** only support mandatory file-locks, we do not read or write data
-** from the region of the file on which locks are applied.
- */
-
-/* Size of header before each frame in wal */
-
-/* Size of write ahead log header, including checksum. */
-
-/* WAL magic value. Either this value, or the same value with the least
-** significant bit also set (WAL_MAGIC | 0x00000001) is stored in 32-bit
-** big-endian format in the first 4 bytes of a WAL file.
-**
-** If the LSB is set, then the checksums for each frame within the WAL
-** file are calculated by treating all data as an array of 32-bit
-** big-endian words. Otherwise, they are calculated by interpreting
-** all data as 32-bit little-endian words.
- */
-
-/*
-** Return the offset of frame iFrame in the write-ahead log file,
-** assuming a database page size of szPage bytes. The offset returned
-** is to the start of the write-ahead log frame-header.
- */
-
-/*
-** An open write-ahead log file is represented by an instance of the
-** following object.
-**
-** writeLock:
-** This is usually set to 1 whenever the WRITER lock is held. However,
-** if it is set to 2, then the WRITER lock is held but must be released
-** by walHandleException() if a SEH exception is thrown.
- */
-type TWal1 = struct {
- FpVfs uintptr
- FpDbFd uintptr
- FpWalFd uintptr
- FiCallback Tu32
- FmxWalSize Ti64
- FnWiData int32
- FszFirstBlock int32
- FapWiData uintptr
- FszPage Tu32
- FreadLock Ti16
- FsyncFlags Tu8
- FexclusiveMode Tu8
- FwriteLock Tu8
- FckptLock Tu8
- FreadOnly Tu8
- FtruncateOnCommit Tu8
- FsyncHeader Tu8
- FpadToSectorBoundary Tu8
- FbShmUnreliable Tu8
- Fhdr TWalIndexHdr
- FminFrame Tu32
- FiReCksum Tu32
- FzWalName uintptr
- FnCkpt Tu32
- FpSnapshot uintptr
- FbGetSnapshot int32
-}
-
-type Wal1 = TWal1
-
/*
** Candidate values for Wal.exclusiveMode.
*/
@@ -47097,29 +42407,6 @@ type Tht_slot = uint16
type ht_slot = Tht_slot
-/*
-** This structure is used to implement an iterator that loops through
-** all frames in the WAL in database page order. Where two or more frames
-** correspond to the same database page, the iterator visits only the
-** frame most recently written to the WAL (in other words, the frame with
-** the largest index).
-**
-** The internals of this structure are only accessed by:
-**
-** walIteratorInit() - Create a new iterator,
-** walIteratorNext() - Step an iterator,
-** walIteratorFree() - Free an iterator.
-**
-** This functionality is used by the checkpoint code (see walCheckpoint()).
- */
-type TWalIterator1 = struct {
- F__ccgo_align [0]uint64
- FiPrior Tu32
- FnSegment int32
-}
-
-type WalIterator1 = TWalIterator1
-
/* Size (in bytes) of a WalIterator object suitable for N or fewer segments */
/*
@@ -47548,14 +42835,6 @@ type TWalHashLoc = struct {
type WalHashLoc = TWalHashLoc
-type TWalHashLoc1 = struct {
- FaHash uintptr
- FaPgno uintptr
- FiZero Tu32
-}
-
-type WalHashLoc1 = TWalHashLoc1
-
// C documentation
//
// /*
@@ -47722,7 +43001,7 @@ func _walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame Tu32, iPage Tu32) (r in
v2 = nCollide
nCollide--
if v2 == 0 {
- return _sqlite3CorruptError(tls, int32(67212))
+ return _sqlite3CorruptError(tls, int32(67214))
}
goto _1
_1:
@@ -47810,7 +43089,7 @@ func _walIndexRecover(tls *libc.TLS, pWal uintptr) (r int32) {
** are able to understand */
version = _sqlite3Get4byte(tls, bp+8+4)
if version != uint32(WAL_MAX_VERSION) {
- rc = _sqlite3CantopenError(tls, int32(67344))
+ rc = _sqlite3CantopenError(tls, int32(67346))
goto finished
}
/* Malloc a buffer to read frames into. */
@@ -48390,10 +43669,10 @@ func _walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill Tu32, pp uintptr) (
// ** busy-handler function. Invoke it and retry the lock until either the
// ** lock is successfully obtained or the busy-handler returns 0.
// */
-func _walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) (r int32) {
+func _walBusyLock(tls *libc.TLS, pWal uintptr, __ccgo_fp_xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) (r int32) {
var rc int32
_ = rc
- for cond := true; cond; cond = xBusy != 0 && rc == int32(SQLITE_BUSY) && (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xBusy})))(tls, pBusyArg) != 0 {
+ for cond := true; cond; cond = __ccgo_fp_xBusy != 0 && rc == int32(SQLITE_BUSY) && (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xBusy})))(tls, pBusyArg) != 0 {
rc = _walLockExclusive(tls, pWal, lockIdx, n)
}
return rc
@@ -48491,7 +43770,7 @@ func _walRestartHdr(tls *libc.TLS, pWal uintptr, _salt1 Tu32) {
// ** checkpoint is running (in any other thread or process) at the same
// ** time.
// */
-func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) (r int32) {
+func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, __ccgo_fp_xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) (r int32) {
bp := tls.Alloc(48)
defer tls.Free(48)
var i, rc, szPage, v3, v5 int32
@@ -48530,7 +43809,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
}
y = *(*Tu32)(unsafe.Pointer(pInfo + 4 + uintptr(i)*4))
if mxSafeFrame > y {
- rc = _walBusyLock(tls, pWal, xBusy, pBusyArg, int32(3)+i, int32(1))
+ rc = _walBusyLock(tls, pWal, __ccgo_fp_xBusy, pBusyArg, int32(3)+i, int32(1))
if rc == SQLITE_OK {
if i == int32(1) {
v2 = mxSafeFrame
@@ -48543,7 +43822,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
} else {
if rc == int32(SQLITE_BUSY) {
mxSafeFrame = y
- xBusy = uintptr(0)
+ __ccgo_fp_xBusy = uintptr(0)
} else {
goto walcheckpoint_out
}
@@ -48559,7 +43838,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
rc = _walIteratorInit(tls, pWal, (*TWalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill, bp)
}
if v4 = *(*uintptr)(unsafe.Pointer(bp)) != 0; v4 {
- v3 = _walBusyLock(tls, pWal, xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(0), int32(1))
+ v3 = _walBusyLock(tls, pWal, __ccgo_fp_xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(0), int32(1))
rc = v3
}
if v4 && v3 == SQLITE_OK {
@@ -48580,7 +43859,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
** database plus the amount of data in the wal file, plus the
** maximum size of the pending-byte page (65536 bytes), then
** must be corruption somewhere. */
- rc = _sqlite3CorruptError(tls, int32(68153))
+ rc = _sqlite3CorruptError(tls, int32(68155))
} else {
_sqlite3OsFileControlHint(tls, (*TWal)(unsafe.Pointer(pWal)).FpDbFd, int32(SQLITE_FCNTL_SIZE_HINT), bp+16)
}
@@ -48646,7 +43925,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
} else {
if eMode >= int32(SQLITE_CHECKPOINT_RESTART) {
Xsqlite3_randomness(tls, int32(4), bp+32)
- rc = _walBusyLock(tls, pWal, xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(1), libc.Int32FromInt32(SQLITE_SHM_NLOCK)-libc.Int32FromInt32(3)-libc.Int32FromInt32(1))
+ rc = _walBusyLock(tls, pWal, __ccgo_fp_xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(1), libc.Int32FromInt32(SQLITE_SHM_NLOCK)-libc.Int32FromInt32(3)-libc.Int32FromInt32(1))
if rc == SQLITE_OK {
if eMode == int32(SQLITE_CHECKPOINT_TRUNCATE) {
/* IMPLEMENTATION-OF: R-44699-57140 This mode works the same way as
@@ -48944,7 +44223,7 @@ func _walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) (r int32) {
** this version of SQLite cannot understand.
*/
if badHdr == 0 && (*TWal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != uint32(WALINDEX_MAX_VERSION) {
- rc = _sqlite3CantopenError(tls, int32(68604))
+ rc = _sqlite3CantopenError(tls, int32(68606))
}
if (*TWal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
if rc != SQLITE_OK {
@@ -49755,7 +45034,7 @@ func _walFindFrame(tls *libc.TLS, pWal uintptr, pgno TPgno, piRead uintptr) (r i
nCollide--
if v3 == 0 {
*(*Tu32)(unsafe.Pointer(piRead)) = uint32(0)
- return _sqlite3CorruptError(tls, int32(69454))
+ return _sqlite3CorruptError(tls, int32(69456))
}
iKey = _walNextHash(tls, iKey)
}
@@ -49901,7 +45180,7 @@ func _sqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) (r int32) {
// ** Otherwise, if the callback function does not return an error, this
// ** function returns SQLITE_OK.
// */
-func _sqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) (r int32) {
+func _sqlite3WalUndo(tls *libc.TLS, pWal uintptr, __ccgo_fp_xUndo uintptr, pUndoCtx uintptr) (r int32) {
var iFrame, iMax TPgno
var rc int32
_, _, _ = iFrame, iMax, rc
@@ -49928,7 +45207,7 @@ func _sqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt
** page 1 is never written to the log until the transaction is
** committed. As a result, the call to xUndo may not fail.
*/
- rc = (*(*func(*libc.TLS, uintptr, TPgno) int32)(unsafe.Pointer(&struct{ uintptr }{xUndo})))(tls, pUndoCtx, _walFramePgno(tls, pWal, iFrame))
+ rc = (*(*func(*libc.TLS, uintptr, TPgno) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xUndo})))(tls, pUndoCtx, _walFramePgno(tls, pWal, iFrame))
goto _1
_1:
;
@@ -50256,7 +45535,7 @@ func _walFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTrunc
}
}
if libc.Int32FromUint32((*TWal)(unsafe.Pointer(pWal)).FszPage) != szPage {
- return _sqlite3CorruptError(tls, int32(69981)) /* TH3 test case: cov1/corrupt155.test */
+ return _sqlite3CorruptError(tls, int32(69983)) /* TH3 test case: cov1/corrupt155.test */
}
/* Setup information needed to write frames into the WAL */
(*(*TWalWriter)(unsafe.Pointer(bp))).FpWal = pWal
@@ -50437,7 +45716,7 @@ func _sqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr,
// ** If parameter xBusy is not NULL, it is a pointer to a busy-handler
// ** callback. In this case this function runs a blocking checkpoint.
// */
-func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) (r int32) {
+func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, __ccgo_fp_xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var eMode2, rc, v1 int32
@@ -50446,7 +45725,7 @@ func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
_, _, _, _ = eMode2, rc, xBusy2, v1 /* Return code */
*(*int32)(unsafe.Pointer(bp)) = 0 /* True if a new wal-index header is loaded */
eMode2 = eMode /* Mode to pass to walCheckpoint() */
- xBusy2 = xBusy /* Busy handler for eMode2 */
+ xBusy2 = __ccgo_fp_xBusy /* Busy handler for eMode2 */
/* EVIDENCE-OF: R-62920-47450 The busy-handler callback is never invoked
** in the SQLITE_CHECKPOINT_PASSIVE mode. */
if (*TWal)(unsafe.Pointer(pWal)).FreadOnly != 0 {
@@ -50498,14 +45777,14 @@ func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
rc = _walIndexReadHdr(tls, pWal, bp)
if eMode2 != SQLITE_CHECKPOINT_PASSIVE {
}
- if *(*int32)(unsafe.Pointer(bp)) != 0 && (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TWal)(unsafe.Pointer(pWal)).FpDbFd)).FpMethods)).FiVersion >= int32(3) {
+ if *(*int32)(unsafe.Pointer(bp)) != 0 && (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TWal)(unsafe.Pointer(pWal)).FpDbFd)).FpMethods)).FiVersion >= int32(3) {
_sqlite3OsUnfetch(tls, (*TWal)(unsafe.Pointer(pWal)).FpDbFd, 0, uintptr(0))
}
}
/* Copy data from the log to the database file. */
if rc == SQLITE_OK {
if (*TWal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && _walPagesize(tls, pWal) != nBuf {
- rc = _sqlite3CorruptError(tls, int32(70241))
+ rc = _sqlite3CorruptError(tls, int32(70243))
} else {
rc = _walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
}
@@ -51051,288 +46330,6 @@ type TCellInfo = struct {
type CellInfo = TCellInfo
-/*
-** This is a magic string that appears at the beginning of every
-** SQLite database in order to identify the file as a real database.
-**
-** You can change this value at compile-time by specifying a
-** -DSQLITE_FILE_HEADER="..." on the compiler command-line. The
-** header must be exactly 16 bytes including the zero-terminator so
-** the string itself should be 15 characters long. If you change
-** the header, then your custom library will not be able to read
-** databases generated by the standard tools and the standard tools
-** will not be able to read databases created by your custom library.
- */
-
-/*
-** Page type flags. An ORed combination of these flags appear as the
-** first byte of on-disk image of every BTree page.
- */
-
-/*
-** An instance of this object stores information about each a single database
-** page that has been loaded into memory. The information in this object
-** is derived from the raw on-disk page content.
-**
-** As each database page is loaded into memory, the pager allocates an
-** instance of this object and zeros the first 8 bytes. (This is the
-** "extra" information associated with each page of the pager.)
-**
-** Access to all fields of this structure is controlled by the mutex
-** stored in MemPage.pBt->mutex.
- */
-type TMemPage1 = struct {
- FisInit Tu8
- FintKey Tu8
- FintKeyLeaf Tu8
- Fpgno TPgno
- Fleaf Tu8
- FhdrOffset Tu8
- FchildPtrSize Tu8
- Fmax1bytePayload Tu8
- FnOverflow Tu8
- FmaxLocal Tu16
- FminLocal Tu16
- FcellOffset Tu16
- FnFree int32
- FnCell Tu16
- FmaskPage Tu16
- FaiOvfl [4]Tu16
- FapOvfl [4]uintptr
- FpBt uintptr
- FaData uintptr
- FaDataEnd uintptr
- FaCellIdx uintptr
- FaDataOfst uintptr
- FpDbPage uintptr
- FxCellSize uintptr
- FxParseCell uintptr
-}
-
-type MemPage1 = TMemPage1
-
-/*
-** A linked list of the following structures is stored at BtShared.pLock.
-** Locks are added (or upgraded from READ_LOCK to WRITE_LOCK) when a cursor
-** is opened on the table with root page BtShared.iTable. Locks are removed
-** from this list when a transaction is committed or rolled back, or when
-** a btree handle is closed.
- */
-type TBtLock1 = struct {
- FpBtree uintptr
- FiTable TPgno
- FeLock Tu8
- FpNext uintptr
-}
-
-type BtLock1 = TBtLock1
-
-/* Candidate values for BtLock.eLock */
-
-/* A Btree handle
-**
-** A database connection contains a pointer to an instance of
-** this object for every database file that it has open. This structure
-** is opaque to the database connection. The database connection cannot
-** see the internals of this structure and only deals with pointers to
-** this structure.
-**
-** For some database files, the same underlying database cache might be
-** shared between multiple connections. In that case, each connection
-** has it own instance of this object. But each instance of this object
-** points to the same BtShared object. The database cache and the
-** schema associated with the database file are all contained within
-** the BtShared object.
-**
-** All fields in this structure are accessed under sqlite3.mutex.
-** The pBt pointer itself may not be changed while there exists cursors
-** in the referenced BtShared that point back to this Btree since those
-** cursors have to go through this Btree to find their BtShared and
-** they often do so without holding sqlite3.mutex.
- */
-type TBtree1 = struct {
- Fdb uintptr
- FpBt uintptr
- FinTrans Tu8
- Fsharable Tu8
- Flocked Tu8
- FhasIncrblobCur Tu8
- FwantToLock int32
- FnBackup int32
- FiBDataVersion Tu32
- FpNext uintptr
- FpPrev uintptr
- Flock TBtLock
-}
-
-type Btree1 = TBtree1
-
-/*
-** Btree.inTrans may take one of the following values.
-**
-** If the shared-data extension is enabled, there may be multiple users
-** of the Btree structure. At most one of these may open a write transaction,
-** but any number may have active read transactions.
-**
-** These values must match SQLITE_TXN_NONE, SQLITE_TXN_READ, and
-** SQLITE_TXN_WRITE
- */
-
-/*
-** An instance of this object represents a single database file.
-**
-** A single database file can be in use at the same time by two
-** or more database connections. When two or more connections are
-** sharing the same database file, each connection has it own
-** private Btree object for the file and each of those Btrees points
-** to this one BtShared object. BtShared.nRef is the number of
-** connections currently sharing this database file.
-**
-** Fields in this structure are accessed under the BtShared.mutex
-** mutex, except for nRef and pNext which are accessed under the
-** global SQLITE_MUTEX_STATIC_MAIN mutex. The pPager field
-** may not be modified once it is initially set as long as nRef>0.
-** The pSchema field may be set once under BtShared.mutex and
-** thereafter is unchanged as long as nRef>0.
-**
-** isPending:
-**
-** If a BtShared client fails to obtain a write-lock on a database
-** table (because there exists one or more read-locks on the table),
-** the shared-cache enters 'pending-lock' state and isPending is
-** set to true.
-**
-** The shared-cache leaves the 'pending lock' state when either of
-** the following occur:
-**
-** 1) The current writer (BtShared.pWriter) concludes its transaction, OR
-** 2) The number of locks held by other connections drops to zero.
-**
-** while in the 'pending-lock' state, no connection may start a new
-** transaction.
-**
-** This feature is included to help prevent writer-starvation.
- */
-type TBtShared1 = struct {
- FpPager uintptr
- Fdb uintptr
- FpCursor uintptr
- FpPage1 uintptr
- FopenFlags Tu8
- FautoVacuum Tu8
- FincrVacuum Tu8
- FbDoTruncate Tu8
- FinTransaction Tu8
- Fmax1bytePayload Tu8
- FnReserveWanted Tu8
- FbtsFlags Tu16
- FmaxLocal Tu16
- FminLocal Tu16
- FmaxLeaf Tu16
- FminLeaf Tu16
- FpageSize Tu32
- FusableSize Tu32
- FnTransaction int32
- FnPage Tu32
- FpSchema uintptr
- FxFreeSchema uintptr
- Fmutex uintptr
- FpHasContent uintptr
- FnRef int32
- FpNext uintptr
- FpLock uintptr
- FpWriter uintptr
- FpTmpSpace uintptr
- FnPreformatSize int32
-}
-
-type BtShared1 = TBtShared1
-
-/*
-** Allowed values for BtShared.btsFlags
- */
-
-/*
-** An instance of the following structure is used to hold information
-** about a cell. The parseCellPtr() function fills in this structure
-** based on information extract from the raw disk page.
- */
-type TCellInfo1 = struct {
- FnKey Ti64
- FpPayload uintptr
- FnPayload Tu32
- FnLocal Tu16
- FnSize Tu16
-}
-
-type CellInfo1 = TCellInfo1
-
-/*
-** Maximum depth of an SQLite B-Tree structure. Any B-Tree deeper than
-** this will be declared corrupt. This value is calculated based on a
-** maximum database size of 2^31 pages a minimum fanout of 2 for a
-** root-node and 3 for all other internal nodes.
-**
-** If a tree that appears to be taller than this is encountered, it is
-** assumed that the database is corrupt.
- */
-
-/*
-** Maximum amount of storage local to a database page, regardless of
-** page size.
- */
-
-/*
-** A cursor is a pointer to a particular entry within a particular
-** b-tree within a database file.
-**
-** The entry is identified by its MemPage and the index in
-** MemPage.aCell[] of the entry.
-**
-** A single database file can be shared by two more database connections,
-** but cursors cannot be shared. Each cursor is associated with a
-** particular database connection identified BtCursor.pBtree.db.
-**
-** Fields in this structure are accessed under the BtShared.mutex
-** found at self->pBt->mutex.
-**
-** skipNext meaning:
-** The meaning of skipNext depends on the value of eState:
-**
-** eState Meaning of skipNext
-** VALID skipNext is meaningless and is ignored
-** INVALID skipNext is meaningless and is ignored
-** SKIPNEXT sqlite3BtreeNext() is a no-op if skipNext>0 and
-** sqlite3BtreePrevious() is no-op if skipNext<0.
-** REQUIRESEEK restoreCursorPosition() restores the cursor to
-** eState=SKIPNEXT if skipNext!=0
-** FAULT skipNext holds the cursor fault error code.
- */
-type TBtCursor1 = struct {
- FeState Tu8
- FcurFlags Tu8
- FcurPagerFlags Tu8
- Fhints Tu8
- FskipNext int32
- FpBtree uintptr
- FaOverflow uintptr
- FpKey uintptr
- FpBt uintptr
- FpNext uintptr
- Finfo TCellInfo
- FnKey Ti64
- FpgnoRoot TPgno
- FiPage Ti8
- FcurIntKey Tu8
- Fix Tu16
- FaiIdx [19]Tu16
- FpKeyInfo uintptr
- FpPage uintptr
- FapPage [19]uintptr
-}
-
-type BtCursor1 = TBtCursor1
-
/*
** Legal values for BtCursor.curFlags
*/
@@ -51465,27 +46462,6 @@ type TIntegrityCk = struct {
type IntegrityCk = TIntegrityCk
-type TIntegrityCk1 = struct {
- FpBt uintptr
- FpPager uintptr
- FaPgRef uintptr
- FnCkPage TPgno
- FmxErr int32
- FnErr int32
- Frc int32
- FnStep Tu32
- FzPfx uintptr
- Fv0 TPgno
- Fv1 TPgno
- Fv2 int32
- FerrMsg TStrAccum
- Fheap uintptr
- Fdb uintptr
- FnRow Ti64
-}
-
-type IntegrityCk1 = TIntegrityCk1
-
/*
** Routines to read or write a two- and four-byte big-endian integer values.
*/
@@ -52368,11 +47344,11 @@ func _btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey Ti64, bias int
}
_sqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
if libc.Int32FromUint16((*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || libc.Int32FromUint16((*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > libc.Int32FromUint16((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
- rc = _sqlite3CorruptError(tls, int32(72429))
+ rc = _sqlite3CorruptError(tls, int32(72431))
} else {
rc = _sqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
}
- _sqlite3DbFree(tls, (*TKeyInfo1)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo)).Fdb, pIdxKey)
+ _sqlite3DbFree(tls, (*TKeyInfo)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo)).Fdb, pIdxKey)
} else {
pIdxKey = uintptr(0)
rc = _sqlite3BtreeTableMoveto(tls, pCur, nKey, bias, pRes)
@@ -52546,7 +47522,7 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno,
}
/* The super-journal page number must never be used as a pointer map page */
if key == uint32(0) {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72627))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72629))
return
}
iPtrmap = _ptrmapPageno(tls, pBt, key)
@@ -52559,12 +47535,12 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno,
/* The first byte of the extra data is the MemPage.isInit byte.
** If that byte is set, it means this page is also being used
** as a btree page. */
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72640))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72642))
goto ptrmap_exit
}
offset = libc.Int32FromUint32(libc.Uint32FromInt32(5) * (key - iPtrmap - libc.Uint32FromInt32(1)))
if offset < 0 {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72645))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72647))
goto ptrmap_exit
}
pPtrmap = _sqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp)))
@@ -52608,7 +47584,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin
offset = libc.Int32FromUint32(libc.Uint32FromInt32(5) * (key - libc.Uint32FromInt32(iPtrmap) - libc.Uint32FromInt32(1)))
if offset < 0 {
_sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
- return _sqlite3CorruptError(tls, int32(72690))
+ return _sqlite3CorruptError(tls, int32(72692))
}
*(*Tu8)(unsafe.Pointer(pEType)) = *(*Tu8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
if pPgno != 0 {
@@ -52616,7 +47592,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin
}
_sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(pEType))) < int32(1) || libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(pEType))) > int32(5) {
- return _sqlite3CorruptError(tls, int32(72698))
+ return _sqlite3CorruptError(tls, int32(72700))
}
return SQLITE_OK
}
@@ -53036,7 +48012,7 @@ func _ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr
(*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp)
if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload {
if uint64(pCell) < uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) && uint64(pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal)) > uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(73143))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(73145))
return
}
ovfl = _sqlite3Get4byte(tls, pCell+uintptr(libc.Int32FromUint16((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-int32(4)))
@@ -53076,12 +48052,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) <= nMaxFrag {
iFree = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(1)))))< usableSize-int32(4) {
- return _sqlite3CorruptError(tls, int32(73201))
+ return _sqlite3CorruptError(tls, int32(73203))
}
if iFree != 0 {
iFree2 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree))))< usableSize-int32(4) {
- return _sqlite3CorruptError(tls, int32(73204))
+ return _sqlite3CorruptError(tls, int32(73206))
}
if 0 == iFree2 || libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(1))))) == 0 {
pEnd = data + uintptr(cellOffset+nCell*int32(2))
@@ -53089,21 +48065,21 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
sz = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree+int32(2)))))<= iFree {
- return _sqlite3CorruptError(tls, int32(73212))
+ return _sqlite3CorruptError(tls, int32(73214))
}
if iFree2 != 0 {
if iFree+sz > iFree2 {
- return _sqlite3CorruptError(tls, int32(73215))
+ return _sqlite3CorruptError(tls, int32(73217))
}
sz2 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(2)))))< usableSize {
- return _sqlite3CorruptError(tls, int32(73217))
+ return _sqlite3CorruptError(tls, int32(73219))
}
libc.X__builtin___memmove_chk(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), libc.Uint64FromInt32(iFree2-(iFree+sz)), ^t__predefined_size_t(0))
sz += sz2
} else {
if iFree+sz > usableSize {
- return _sqlite3CorruptError(tls, int32(73221))
+ return _sqlite3CorruptError(tls, int32(73223))
}
}
cbrk = top + sz
@@ -53150,12 +48126,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
** if PRAGMA cell_size_check=ON.
*/
if pc > iCellLast {
- return _sqlite3CorruptError(tls, int32(73254))
+ return _sqlite3CorruptError(tls, int32(73256))
}
size = libc.Int32FromUint16((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, src+uintptr(pc)))
cbrk -= size
if cbrk < iCellStart || pc+size > usableSize {
- return _sqlite3CorruptError(tls, int32(73260))
+ return _sqlite3CorruptError(tls, int32(73262))
}
*(*Tu8)(unsafe.Pointer(pAddr1)) = libc.Uint8FromInt32(cbrk >> libc.Int32FromInt32(8))
*(*Tu8)(unsafe.Pointer(pAddr1 + 1)) = libc.Uint8FromInt32(cbrk)
@@ -53171,7 +48147,7 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
defragment_out:
;
if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7)))))+cbrk-iCellFirst != (*TMemPage)(unsafe.Pointer(pPage)).FnFree {
- return _sqlite3CorruptError(tls, int32(73274))
+ return _sqlite3CorruptError(tls, int32(73276))
}
*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)))) = libc.Uint8FromInt32(cbrk >> libc.Int32FromInt32(8))
*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)) + 1)) = libc.Uint8FromInt32(cbrk)
@@ -53231,7 +48207,7 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint
} else {
if x+pc > maxPC {
/* This slot extends off the end of the usable part of the page */
- *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73331))
+ *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73333))
return uintptr(0)
} else {
/* The slot remains on the free-list. Reduce its size to account
@@ -53248,14 +48224,14 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint
if pc <= iAddr {
if pc != 0 {
/* The next slot in the chain comes before the current slot */
- *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73346))
+ *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73348))
}
return uintptr(0)
}
}
if pc > maxPC+nByte-int32(4) {
/* The free slot chain extends off the end of the page */
- *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73353))
+ *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73355))
}
return uintptr(0)
}
@@ -53298,11 +48274,11 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r
if top == 0 && (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == uint32(65536) {
top = int32(65536)
} else {
- return _sqlite3CorruptError(tls, int32(73401))
+ return _sqlite3CorruptError(tls, int32(73403))
}
} else {
if top > libc.Int32FromUint32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(73404))
+ return _sqlite3CorruptError(tls, int32(73406))
}
}
/* If there is enough space between gap and top for one more cell pointer,
@@ -53316,7 +48292,7 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r
g2 = v1
*(*int32)(unsafe.Pointer(pIdx)) = v1
if g2 <= gap {
- return _sqlite3CorruptError(tls, int32(73421))
+ return _sqlite3CorruptError(tls, int32(73423))
} else {
return SQLITE_OK
}
@@ -53397,12 +48373,12 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
if iFreeBlk == 0 {
break
} /* TH3: corrupt082.100 */
- return _sqlite3CorruptError(tls, int32(73500))
+ return _sqlite3CorruptError(tls, int32(73502))
}
iPtr = iFreeBlk
}
if iFreeBlk > libc.Int32FromUint32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize)-int32(4) { /* TH3: corrupt081.100 */
- return _sqlite3CorruptError(tls, int32(73505))
+ return _sqlite3CorruptError(tls, int32(73507))
}
/* At this point:
** iFreeBlk: First freeblock after iStart, or zero if none
@@ -53413,11 +48389,11 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
if iFreeBlk != 0 && iEnd+int32(3) >= iFreeBlk {
nFrag = iFreeBlk - iEnd
if iEnd > iFreeBlk {
- return _sqlite3CorruptError(tls, int32(73517))
+ return _sqlite3CorruptError(tls, int32(73519))
}
iEnd = iFreeBlk + (libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk+int32(2)))))< libc.Int32FromUint32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(73520))
+ return _sqlite3CorruptError(tls, int32(73522))
}
iSize = iEnd - iStart
iFreeBlk = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<= iStart {
if iPtrEnd > iStart {
- return _sqlite3CorruptError(tls, int32(73533))
+ return _sqlite3CorruptError(tls, int32(73535))
}
nFrag += iStart - iPtrEnd
iSize = iEnd - iPtr
@@ -53438,7 +48414,7 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
}
}
if nFrag > libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(libc.Int32FromUint8(hdr)+int32(7))))) {
- return _sqlite3CorruptError(tls, int32(73539))
+ return _sqlite3CorruptError(tls, int32(73541))
}
p2 = data + uintptr(libc.Int32FromUint8(hdr)+int32(7))
*(*uint8)(unsafe.Pointer(p2)) = uint8(int32(*(*uint8)(unsafe.Pointer(p2))) - libc.Int32FromUint8(libc.Uint8FromInt32(nFrag)))
@@ -53455,10 +48431,10 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
** so just extend the cell content area rather than create another
** freelist entry */
if iStart < x {
- return _sqlite3CorruptError(tls, int32(73553))
+ return _sqlite3CorruptError(tls, int32(73555))
}
if iPtr != libc.Int32FromUint8(hdr)+int32(1) {
- return _sqlite3CorruptError(tls, int32(73554))
+ return _sqlite3CorruptError(tls, int32(73556))
}
*(*uint8)(unsafe.Pointer(data + uintptr(libc.Int32FromUint8(hdr)+int32(1)))) = libc.Uint8FromInt32(iFreeBlk >> libc.Int32FromInt32(8))
*(*uint8)(unsafe.Pointer(data + uintptr(libc.Int32FromUint8(hdr)+int32(1)) + 1)) = libc.Uint8FromInt32(iFreeBlk)
@@ -53519,7 +48495,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0)
(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtrIdxLeaf)
(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex)
- return _sqlite3CorruptError(tls, int32(73609))
+ return _sqlite3CorruptError(tls, int32(73611))
}
}
} else {
@@ -53545,7 +48521,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0)
(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtr)
(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex)
- return _sqlite3CorruptError(tls, int32(73633))
+ return _sqlite3CorruptError(tls, int32(73635))
}
}
}
@@ -53584,12 +48560,12 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) {
/* EVIDENCE-OF: R-55530-52930 In a well-formed b-tree page, there will
** always be at least one cell before the first freeblock.
*/
- return _sqlite3CorruptError(tls, int32(73684))
+ return _sqlite3CorruptError(tls, int32(73686))
}
for int32(1) != 0 {
if pc > iCellLast {
/* Freeblock off the end of the page */
- return _sqlite3CorruptError(tls, int32(73689))
+ return _sqlite3CorruptError(tls, int32(73691))
}
next = libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(data + uintptr(pc))))< uint32(0) {
/* Freeblock not in ascending order */
- return _sqlite3CorruptError(tls, int32(73699))
+ return _sqlite3CorruptError(tls, int32(73701))
}
if libc.Uint32FromInt32(pc)+size > libc.Uint32FromInt32(usableSize) {
/* Last freeblock extends past page end */
- return _sqlite3CorruptError(tls, int32(73703))
+ return _sqlite3CorruptError(tls, int32(73705))
}
}
/* At this point, nFree contains the sum of the offset to the start
@@ -53616,7 +48592,7 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) {
** area, according to the page header, lies within the page.
*/
if nFree > usableSize || nFree < iCellFirst {
- return _sqlite3CorruptError(tls, int32(73715))
+ return _sqlite3CorruptError(tls, int32(73717))
}
(*TMemPage)(unsafe.Pointer(pPage)).FnFree = libc.Int32FromUint16(libc.Uint16FromInt32(nFree - iCellFirst))
return SQLITE_OK
@@ -53647,11 +48623,11 @@ func _btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) (r int32) {
}
pc = libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(data + uintptr(cellOffset+i*int32(2)))))< iCellLast {
- return _sqlite3CorruptError(tls, int32(73746))
+ return _sqlite3CorruptError(tls, int32(73748))
}
sz = libc.Int32FromUint16((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, data+uintptr(pc)))
if pc+sz > usableSize {
- return _sqlite3CorruptError(tls, int32(73751))
+ return _sqlite3CorruptError(tls, int32(73753))
}
goto _1
_1:
@@ -53680,7 +48656,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) {
/* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating
** the b-tree page type. */
if _decodeFlags(tls, pPage, libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(data)))) != 0 {
- return _sqlite3CorruptError(tls, int32(73783))
+ return _sqlite3CorruptError(tls, int32(73785))
}
(*TMemPage)(unsafe.Pointer(pPage)).FmaskPage = uint16((*TBtShared)(unsafe.Pointer(pBt)).FpageSize - libc.Uint32FromInt32(1))
(*TMemPage)(unsafe.Pointer(pPage)).FnOverflow = uint8(0)
@@ -53693,7 +48669,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FnCell = libc.Uint16FromInt32(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(data + 3)))< ((*TBtShared)(unsafe.Pointer(pBt)).FpageSize-uint32(8))/uint32(6) {
/* To many cells for a single page. The page must be corrupt */
- return _sqlite3CorruptError(tls, int32(73797))
+ return _sqlite3CorruptError(tls, int32(73799))
}
/* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only
** possible for a root page of a table that contains no rows) then the
@@ -53844,7 +48820,7 @@ func _getAndInitPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, bRe
_, _ = pPage, rc
if pgno > _btreePagecount(tls, pBt) {
*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
- return _sqlite3CorruptError(tls, int32(73940))
+ return _sqlite3CorruptError(tls, int32(73942))
}
rc = _sqlite3PagerGet(tls, (*TBtShared)(unsafe.Pointer(pBt)).FpPager, pgno, bp, bReadOnly)
if rc != 0 {
@@ -53906,7 +48882,7 @@ func _btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr,
if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > int32(1) {
_releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
- return _sqlite3CorruptError(tls, int32(74012))
+ return _sqlite3CorruptError(tls, int32(74014))
}
(*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = uint8(0)
} else {
@@ -54818,7 +49794,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) {
}
if nPage > *(*Tu32)(unsafe.Pointer(bp + 8)) {
if _sqlite3WritableSchema(tls, (*TBtShared)(unsafe.Pointer(pBt)).Fdb) == 0 {
- rc = _sqlite3CorruptError(tls, int32(74950))
+ rc = _sqlite3CorruptError(tls, int32(74952))
goto page1_init_failed
} else {
nPage = *(*Tu32)(unsafe.Pointer(bp + 8))
@@ -55259,7 +50235,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
if libc.Int32FromUint8(eType) == int32(PTRMAP_OVERFLOW2) {
/* The pointer is always the first 4 bytes of the page in this case. */
if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
- return _sqlite3CorruptError(tls, int32(75405))
+ return _sqlite3CorruptError(tls, int32(75407))
}
_sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData, iTo)
} else {
@@ -55283,7 +50259,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
(*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp)
if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload {
if pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(75424))
+ return _sqlite3CorruptError(tls, int32(75426))
}
if iFrom == _sqlite3Get4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4)) {
_sqlite3Put4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4), iTo)
@@ -55292,7 +50268,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
}
} else {
if pCell+uintptr(4) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(75433))
+ return _sqlite3CorruptError(tls, int32(75435))
}
if _sqlite3Get4byte(tls, pCell) == iFrom {
_sqlite3Put4byte(tls, pCell, iTo)
@@ -55306,7 +50282,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
}
if i == nCell {
if libc.Int32FromUint8(eType) != int32(PTRMAP_BTREE) || _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8))) != iFrom {
- return _sqlite3CorruptError(tls, int32(75445))
+ return _sqlite3CorruptError(tls, int32(75447))
}
_sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8)), iTo)
}
@@ -55336,7 +50312,7 @@ func _relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType Tu8, iPtrP
iDbPage = (*TMemPage)(unsafe.Pointer(pDbPage)).Fpgno
pPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager
if iDbPage < uint32(3) {
- return _sqlite3CorruptError(tls, int32(75480))
+ return _sqlite3CorruptError(tls, int32(75482))
}
/* Move page iDbPage from its current location to page number iFreePage */
*(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3PagerMovepage(tls, pPager, (*TMemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -55432,7 +50408,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom
return rc
}
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_ROOTPAGE) {
- return _sqlite3CorruptError(tls, int32(75578))
+ return _sqlite3CorruptError(tls, int32(75580))
}
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_FREEPAGE) {
if bCommit == 0 {
@@ -55470,7 +50446,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom
_releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 40)))
if *(*TPgno)(unsafe.Pointer(bp + 24)) > dbSize {
_releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
- return _sqlite3CorruptError(tls, int32(75630))
+ return _sqlite3CorruptError(tls, int32(75632))
}
}
rc = _relocatePage(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*Tu8)(unsafe.Pointer(bp)), *(*TPgno)(unsafe.Pointer(bp + 4)), *(*TPgno)(unsafe.Pointer(bp + 24)), bCommit)
@@ -55537,7 +50513,7 @@ func _sqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) (r int32) {
nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
nFin = _finalDbSize(tls, pBt, nOrig, nFree)
if nOrig < nFin || nFree >= nOrig {
- rc = _sqlite3CorruptError(tls, int32(75698))
+ rc = _sqlite3CorruptError(tls, int32(75700))
} else {
if nFree > uint32(0) {
rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -55580,7 +50556,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) {
** is either a pointer-map page or the pending-byte page. If one
** is encountered, this indicates corruption.
*/
- return _sqlite3CorruptError(tls, int32(75749))
+ return _sqlite3CorruptError(tls, int32(75751))
}
nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
db = (*TBtree)(unsafe.Pointer(p)).Fdb
@@ -55610,7 +50586,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) {
}
nFin = _finalDbSize(tls, pBt, nOrig, nVac)
if nFin > nOrig {
- return _sqlite3CorruptError(tls, int32(75776))
+ return _sqlite3CorruptError(tls, int32(75778))
}
if nFin < nOrig {
rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -56076,7 +51052,7 @@ func _btreeCursor(tls *libc.TLS, p uintptr, iTable TPgno, wrFlag int32, pKeyInfo
/* Assert that the caller has opened the required transaction. */
if iTable <= uint32(1) {
if iTable < uint32(1) {
- return _sqlite3CorruptError(tls, int32(76240))
+ return _sqlite3CorruptError(tls, int32(76242))
} else {
if _btreePagecount(tls, pBt) == uint32(0) {
iTable = uint32(0)
@@ -56468,7 +51444,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
pBt = (*TBtCursor)(unsafe.Pointer(pCur)).FpBt /* Btree this cursor belongs to */
pBufStart = pBuf /* Start of original out buffer */
if libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Fix) >= libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) {
- return _sqlite3CorruptError(tls, int32(76664))
+ return _sqlite3CorruptError(tls, int32(76666))
}
_getCellInfo(tls, pCur)
aPayload = (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
@@ -56478,7 +51454,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize]
** but is recast into its current form to avoid integer overflow problems
*/
- return _sqlite3CorruptError(tls, int32(76679))
+ return _sqlite3CorruptError(tls, int32(76681))
}
/* Check if data must be read/written to/from the btree page itself. */
if offset < uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -56535,7 +51511,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
for *(*TPgno)(unsafe.Pointer(bp)) != 0 {
/* If required, populate the overflow page-list cache. */
if *(*TPgno)(unsafe.Pointer(bp)) > (*TBtShared)(unsafe.Pointer(pBt)).FnPage {
- return _sqlite3CorruptError(tls, int32(76750))
+ return _sqlite3CorruptError(tls, int32(76752))
}
*(*TPgno)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*TPgno)(unsafe.Pointer(bp))
if offset >= ovflSize {
@@ -56609,7 +51585,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
}
if rc == SQLITE_OK && amt > uint32(0) {
/* Overflow chain ends prematurely */
- return _sqlite3CorruptError(tls, int32(76834))
+ return _sqlite3CorruptError(tls, int32(76836))
}
return rc
}
@@ -56744,7 +51720,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) {
var v3, p1 uintptr
_, _, _, _ = rc, v2, v3, p1
if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) {
- return _sqlite3CorruptError(tls, int32(76972))
+ return _sqlite3CorruptError(tls, int32(76974))
}
(*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0)
p1 = pCur + 1
@@ -56756,7 +51732,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) {
rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, newPgno, pCur+136, libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags))
if rc == SQLITE_OK && (libc.Int32FromUint16((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || libc.Int32FromUint8((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) {
_releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage)
- rc = _sqlite3CorruptError(tls, int32(76986))
+ rc = _sqlite3CorruptError(tls, int32(76988))
}
if rc != 0 {
v3 = pCur + 84
@@ -56872,7 +51848,7 @@ func _moveToRoot(tls *libc.TLS, pCur uintptr) (r int32) {
** in such a way that page pRoot is linked into a second b-tree table
** (or the freelist). */
if libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.BoolInt32((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pRoot)).FintKey) {
- return _sqlite3CorruptError(tls, int32(77121))
+ return _sqlite3CorruptError(tls, int32(77123))
}
goto skip_init
skip_init:
@@ -56886,7 +51862,7 @@ skip_init:
} else {
if !((*TMemPage)(unsafe.Pointer(pRoot)).Fleaf != 0) {
if (*TMemPage)(unsafe.Pointer(pRoot)).Fpgno != uint32(1) {
- return _sqlite3CorruptError(tls, int32(77133))
+ return _sqlite3CorruptError(tls, int32(77135))
}
subpage = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+int32(8)))
(*TBtCursor)(unsafe.Pointer(pCur)).FeState = uint8(CURSOR_VALID)
@@ -57120,7 +52096,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh
break
}
if pCell >= (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(77382))
+ return _sqlite3CorruptError(tls, int32(77384))
}
}
}
@@ -57204,7 +52180,7 @@ moveto_table_finish:
// ** This routine is part of an optimization. It is always safe to return
// ** a positive value as that will cause the optimization to be skipped.
// */
-func _indexCellCompare(tls *libc.TLS, pCur uintptr, idx int32, pIdxKey uintptr, xRecordCompare TRecordCompare) (r int32) {
+func _indexCellCompare(tls *libc.TLS, pCur uintptr, idx int32, pIdxKey uintptr, __ccgo_fp_xRecordCompare TRecordCompare) (r int32) {
var c, nCell, v1 int32
var pCell, pPage uintptr
var v2 bool
@@ -57216,7 +52192,7 @@ func _indexCellCompare(tls *libc.TLS, pCur uintptr, idx int32, pIdxKey uintptr,
/* This branch runs if the record-size field of the cell is a
** single byte varint and the record fits entirely on the main
** b-tree page. */
- c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xRecordCompare})))(tls, nCell, pCell+1, pIdxKey)
+ c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xRecordCompare})))(tls, nCell, pCell+1, pIdxKey)
} else {
if v2 = !(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(pCell + 1)))&libc.Int32FromInt32(0x80) != 0); v2 {
v1 = nCell&libc.Int32FromInt32(0x7f)< (*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage {
- rc = _sqlite3CorruptError(tls, int32(77665))
+ rc = _sqlite3CorruptError(tls, int32(77667))
goto moveto_index_finish
}
pCellKey = _sqlite3Malloc(tls, libc.Uint64FromInt32(nCell)+libc.Uint64FromInt32(nOverrun))
@@ -57418,7 +52394,7 @@ bypass_moveto_root:
rc = SQLITE_OK
(*TBtCursor)(unsafe.Pointer(pCur)).Fix = libc.Uint16FromInt32(idx)
if (*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0 {
- rc = _sqlite3CorruptError(tls, int32(77697))
+ rc = _sqlite3CorruptError(tls, int32(77699))
}
goto moveto_index_finish
}
@@ -57451,7 +52427,7 @@ bypass_moveto_root:
p9 = pCur + 1
*(*Tu8)(unsafe.Pointer(p9)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p9))) & ^(libc.Int32FromInt32(BTCF_ValidNKey) | libc.Int32FromInt32(BTCF_ValidOvfl)))
if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) {
- return _sqlite3CorruptError(tls, int32(77728))
+ return _sqlite3CorruptError(tls, int32(77730))
}
*(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*2)) = libc.Uint16FromInt32(lwr)
*(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*8)) = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage
@@ -57460,7 +52436,7 @@ bypass_moveto_root:
rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, chldPg, pCur+136, libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags))
if rc == SQLITE_OK && (libc.Int32FromUint16((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || libc.Int32FromUint8((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) {
_releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage)
- rc = _sqlite3CorruptError(tls, int32(77739))
+ rc = _sqlite3CorruptError(tls, int32(77741))
}
if rc != 0 {
v11 = pCur + 84
@@ -57589,7 +52565,7 @@ func _btreeNext(tls *libc.TLS, pCur uintptr) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0)
}
if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) {
- return _sqlite3CorruptError(tls, int32(77840))
+ return _sqlite3CorruptError(tls, int32(77842))
}
if idx >= libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) {
if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) {
@@ -57699,7 +52675,7 @@ func _btreePrevious(tls *libc.TLS, pCur uintptr) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0)
}
if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) {
- return _sqlite3CorruptError(tls, int32(77933))
+ return _sqlite3CorruptError(tls, int32(77935))
}
if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) {
idx = libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Fix)
@@ -57787,7 +52763,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
** stores the total number of pages on the freelist. */
n = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+36)
if n >= mxPage {
- return _sqlite3CorruptError(tls, int32(78023))
+ return _sqlite3CorruptError(tls, int32(78025))
}
if n > uint32(0) {
searchList = uint8(0) /* If the free-list must be searched for 'nearby' */
@@ -57842,7 +52818,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
nSearch++
}
if v2 || v1 > n {
- rc = _sqlite3CorruptError(tls, int32(78079))
+ rc = _sqlite3CorruptError(tls, int32(78081))
} else {
rc = _btreeGetUnusedPage(tls, pBt, iTrunk, bp, 0)
}
@@ -57868,7 +52844,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
} else {
if k > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/libc.Uint32FromInt32(4)-libc.Uint32FromInt32(2) {
/* Value of k is out of range. Database corruption */
- rc = _sqlite3CorruptError(tls, int32(78108))
+ rc = _sqlite3CorruptError(tls, int32(78110))
goto end_allocate_page
} else {
if searchList != 0 && (nearby == iTrunk || iTrunk < nearby && libc.Int32FromUint8(eMode) == int32(BTALLOC_LE)) {
@@ -57895,7 +52871,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
} else {
iNewTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+8)
if iNewTrunk > mxPage {
- rc = _sqlite3CorruptError(tls, int32(78142))
+ rc = _sqlite3CorruptError(tls, int32(78144))
goto end_allocate_page
}
rc = _btreeGetUnusedPage(tls, pBt, iNewTrunk, bp+16, 0)
@@ -57966,7 +52942,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
}
iPage = _sqlite3Get4byte(tls, aData+uintptr(uint32(8)+closest*uint32(4)))
if iPage > mxPage || iPage < uint32(2) {
- rc = _sqlite3CorruptError(tls, int32(78207))
+ rc = _sqlite3CorruptError(tls, int32(78209))
goto end_allocate_page
}
if !(searchList != 0) || (iPage == nearby || iPage < nearby && libc.Int32FromUint8(eMode) == int32(BTALLOC_LE)) {
@@ -58104,7 +53080,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in
iTrunk = uint32(0) /* Page number of free-list trunk page */
pPage1 = (*TBtShared)(unsafe.Pointer(pBt)).FpPage1 /* Initial number of pages on free-list */
if iPage < uint32(2) || iPage > (*TBtShared)(unsafe.Pointer(pBt)).FnPage {
- return _sqlite3CorruptError(tls, int32(78334))
+ return _sqlite3CorruptError(tls, int32(78336))
}
if pMemPage != 0 {
*(*uintptr)(unsafe.Pointer(bp + 8)) = pMemPage
@@ -58155,7 +53131,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in
if nFree != uint32(0) { /* Initial number of leaf cells on trunk page */
iTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+32)
if iTrunk > _btreePagecount(tls, pBt) {
- *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(78381))
+ *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(78383))
goto freepage_out
}
*(*int32)(unsafe.Pointer(bp + 16)) = _btreeGetPage(tls, pBt, iTrunk, bp, 0)
@@ -58164,7 +53140,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in
}
nLeaf = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+4)
if nLeaf > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(2) {
- *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(78392))
+ *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(78394))
goto freepage_out
}
if nLeaf < (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(8) {
@@ -58254,7 +53230,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp
_, _, _, _, _, _, _, _ = nOvfl, ovflPageSize, ovflPgno, pBt, rc, v1, v2, v3
if pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd {
/* Cell extends past end of page */
- return _sqlite3CorruptError(tls, int32(78481))
+ return _sqlite3CorruptError(tls, int32(78483))
}
ovflPgno = _sqlite3Get4byte(tls, pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt
@@ -58272,7 +53248,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp
/* 0 is not a legal page number and page 1 cannot be an
** overflow page. Therefore if ovflPgno<2 or past the end of the
** file the database must be corrupt. */
- return _sqlite3CorruptError(tls, int32(78498))
+ return _sqlite3CorruptError(tls, int32(78500))
}
if nOvfl != 0 {
rc = _getOverflowPage(tls, pBt, ovflPgno, bp+8, bp)
@@ -58295,7 +53271,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp
** caller is iterating through or using in some other way, this
** can be problematic.
*/
- rc = _sqlite3CorruptError(tls, int32(78518))
+ rc = _sqlite3CorruptError(tls, int32(78520))
} else {
rc = _freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 8)), ovflPgno)
}
@@ -58516,7 +53492,7 @@ func _dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
pc = libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(ptr)))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(78774))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(78776))
return
}
rc = _freeSpace(tls, pPage, libc.Int32FromUint32(pc), sz)
@@ -58810,17 +53786,6 @@ type TCellArray = struct {
type CellArray = TCellArray
-type TCellArray1 = struct {
- FnCell int32
- FpRef uintptr
- FapCell uintptr
- FszCell uintptr
- FapEnd [6]uintptr
- FixNx [6]int32
-}
-
-type CellArray1 = TCellArray1
-
// C documentation
//
// /*
@@ -58910,12 +53875,12 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
sz = *(*Tu16)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FszCell + uintptr(i)*2))
if uint64(pCell) >= uint64(aData+uintptr(j)) && uint64(pCell) < uint64(pEnd) {
if uint64(pCell+uintptr(sz)) > uint64(pEnd) {
- return _sqlite3CorruptError(tls, int32(79164))
+ return _sqlite3CorruptError(tls, int32(79166))
}
pCell = pTmp + uintptr(int64(pCell)-int64(aData))
} else {
if uint64(pCell+uintptr(sz)) > uint64(pSrcEnd) && uint64(pCell) < uint64(pSrcEnd) {
- return _sqlite3CorruptError(tls, int32(79169))
+ return _sqlite3CorruptError(tls, int32(79171))
}
}
pData -= uintptr(sz)
@@ -58923,7 +53888,7 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
*(*Tu8)(unsafe.Pointer(pCellptr + 1)) = libc.Uint8FromInt64(int64(pData) - int64(aData))
pCellptr += uintptr(2)
if pData < pCellptr {
- return _sqlite3CorruptError(tls, int32(79175))
+ return _sqlite3CorruptError(tls, int32(79177))
}
libc.X__builtin___memmove_chk(tls, pData, pCell, uint64(sz), ^t__predefined_size_t(0))
i++
@@ -59018,7 +53983,7 @@ func _pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr
** database. But they might for a corrupt database. Hence use memmove()
** since memcpy() sends SIGABORT with overlapping buffers on OpenBSD */
if uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > uint64(pEnd) && uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < uint64(pEnd) {
- _sqlite3CorruptError(tls, int32(79262))
+ _sqlite3CorruptError(tls, int32(79264))
return int32(1)
}
libc.X__builtin___memmove_chk(tls, pSlot, *(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), libc.Uint64FromInt32(sz), ^t__predefined_size_t(0))
@@ -59166,7 +54131,7 @@ func _editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, p
if iOld < iNew {
nShift = _pageFreeArray(tls, pPg, iOld, iNew-iOld, pCArray)
if nShift > nCell {
- return _sqlite3CorruptError(tls, int32(79384))
+ return _sqlite3CorruptError(tls, int32(79386))
}
libc.X__builtin___memmove_chk(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*int32(2)), libc.Uint64FromInt32(nCell*int32(2)), ^t__predefined_size_t(0))
nCell -= nShift
@@ -59237,7 +54202,7 @@ editpage_fail:
;
/* Unable to edit this page. Rebuild it from scratch instead. */
if nNew < int32(1) {
- return _sqlite3CorruptError(tls, int32(79462))
+ return _sqlite3CorruptError(tls, int32(79464))
}
_populateCellCache(tls, pCArray, iNew, nNew)
return _rebuildPage(tls, pCArray, iNew, nNew, pPg)
@@ -59282,7 +54247,7 @@ func _balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintpt
_, _, _, _, _, _, _ = pBt, pOut, pStop, v1, v2, v3, v4
pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt /* Page number of pNew */
if libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
- return _sqlite3CorruptError(tls, int32(79502))
+ return _sqlite3CorruptError(tls, int32(79504))
} /* dbfuzz001.test */
/* Allocate a new page. This page will become the right-sibling of
** pPage. Make the parent page writable, so that the new divider cell
@@ -59646,7 +54611,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
** table-interior, index-leaf, or index-interior).
*/
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pOld)).FaData))) != libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer((*(*[3]uintptr)(unsafe.Pointer(bp + 8)))[0])).FaData))) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79926))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79928))
goto balance_cleanup
}
/* Load b.apCell[] with pointers to all cells in pOld. If pOld
@@ -59669,7 +54634,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
libc.X__builtin___memset_chk(tls, (*(*TCellArray)(unsafe.Pointer(bp + 112))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 112))).FnCell)*2, 0, uint64(2)*libc.Uint64FromInt32(limit+libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow)), ^t__predefined_size_t(0))
if libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow) > 0 {
if limit < libc.Int32FromUint16(*(*Tu16)(unsafe.Pointer(pOld + 28))) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79950))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79952))
goto balance_cleanup
}
limit = libc.Int32FromUint16(*(*Tu16)(unsafe.Pointer(pOld + 28)))
@@ -59800,7 +54765,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
if i+int32(1) >= k {
k = i + int32(2)
if k > libc.Int32FromInt32(NB)+libc.Int32FromInt32(2) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80051))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80053))
goto balance_cleanup
}
(*(*[5]int32)(unsafe.Pointer(bp + 72)))[k-int32(1)] = 0
@@ -59843,7 +54808,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
v10 = 0
}
if cntNew[i] <= v10 {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80084))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80086))
goto balance_cleanup
}
}
@@ -59902,7 +54867,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
v15 = 0
}
if cntNew[i-int32(1)] <= v15 {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80128))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80130))
goto balance_cleanup
}
goto _11
@@ -59934,7 +54899,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
*(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage)
nNew++
if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) != int32(1)+libc.BoolInt32(i == iParentIdx-nxDiv) && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80161))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80163))
}
if *(*int32)(unsafe.Pointer(bp)) != 0 {
goto balance_cleanup
@@ -60164,7 +55129,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
}
pSrcEnd = *(*uintptr)(unsafe.Pointer(bp + 112 + 32 + uintptr(k)*8))
if uint64(pCell1) < uint64(pSrcEnd) && uint64(pCell1+uintptr(sz2)) > uint64(pSrcEnd) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80362))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80364))
goto balance_cleanup
}
*(*int32)(unsafe.Pointer(bp)) = _insertCell(tls, pParent, nxDiv+i, pCell1, sz2, pTemp1, (*TMemPage)(unsafe.Pointer(pNew2)).Fpgno)
@@ -60410,7 +55375,7 @@ func _anotherValidCursor(tls *libc.TLS, pCur uintptr) (r int32) {
break
}
if pOther != pCur && libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*TBtCursor)(unsafe.Pointer(pOther)).FpPage == (*TBtCursor)(unsafe.Pointer(pCur)).FpPage {
- return _sqlite3CorruptError(tls, int32(80594))
+ return _sqlite3CorruptError(tls, int32(80596))
}
goto _1
_1:
@@ -60483,7 +55448,7 @@ func _balance(tls *libc.TLS, pCur uintptr) (r int32) {
/* The page being written is not a root page, and there is currently
** more than one reference to it. This only happens if the page is one
** of its own ancestor pages. Corruption. */
- rc = _sqlite3CorruptError(tls, int32(80654))
+ rc = _sqlite3CorruptError(tls, int32(80656))
} else {
pParent = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-int32(1))*8))
iIdx = libc.Int32FromUint16(*(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-int32(1))*2)))
@@ -60642,7 +55607,7 @@ func _btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int
return rc
}
if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1) || (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
- rc = _sqlite3CorruptError(tls, int32(80818))
+ rc = _sqlite3CorruptError(tls, int32(80820))
} else {
if libc.Uint32FromInt32(iOffset)+ovflPageSize < libc.Uint32FromInt32(nTotal) {
ovflPgno = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -60673,7 +55638,7 @@ func _btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int32) {
nTotal = (*TBtreePayload)(unsafe.Pointer(pX)).FnData + (*TBtreePayload)(unsafe.Pointer(pX)).FnZero /* Total bytes of to write */
pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage /* Page being written */
if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd || (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FcellOffset) {
- return _sqlite3CorruptError(tls, int32(80846))
+ return _sqlite3CorruptError(tls, int32(80848))
}
if libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
/* The entire cell is local */
@@ -60758,7 +55723,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
** Which can only happen if the SQLITE_NoSchemaError flag was set when
** the schema was loaded. This cannot be asserted though, as a user might
** set the flag, load the schema, and then unset the flag. */
- return _sqlite3CorruptError(tls, int32(80927))
+ return _sqlite3CorruptError(tls, int32(80929))
}
}
/* Ensure that the cursor is not in the CURSOR_FAULT state and that it
@@ -60850,7 +55815,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 {
if libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FeState) > int32(CURSOR_INVALID) {
/* ^^^^^--- due to the moveToRoot() call above */
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(81050))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(81052))
} else {
*(*int32)(unsafe.Pointer(bp)) = _btreeComputeFreeSpace(tls, pPage)
}
@@ -60886,7 +55851,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
(*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0)
if *(*int32)(unsafe.Pointer(bp + 4)) == 0 {
if idx >= libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) {
- return _sqlite3CorruptError(tls, int32(81092))
+ return _sqlite3CorruptError(tls, int32(81094))
}
*(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(pPage)).FpDbPage)
if *(*int32)(unsafe.Pointer(bp)) != 0 {
@@ -60916,10 +55881,10 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */
/* clearCell never fails when nLocal==nPayload */
if oldCell < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10) {
- return _sqlite3CorruptError(tls, int32(81119))
+ return _sqlite3CorruptError(tls, int32(81121))
}
if oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 8))) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(81122))
+ return _sqlite3CorruptError(tls, int32(81124))
}
libc.X__builtin___memcpy_chk(tls, oldCell, newCell, libc.Uint64FromInt32(*(*int32)(unsafe.Pointer(bp + 8))), ^t__predefined_size_t(0))
return SQLITE_OK
@@ -61037,7 +56002,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T
nIn = uint32((*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
aIn = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
if aIn+uintptr(nIn) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(81224))
+ return _sqlite3CorruptError(tls, int32(81226))
}
nRem = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
if nIn == nRem && nIn < uint32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -61059,7 +56024,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T
}
if nRem > nIn {
if aIn+uintptr(nIn)+uintptr(4) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(81249))
+ return _sqlite3CorruptError(tls, int32(81251))
}
ovflIn = _sqlite3Get4byte(tls, (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
}
@@ -61159,21 +56124,21 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) {
return *(*int32)(unsafe.Pointer(bp))
}
} else {
- return _sqlite3CorruptError(tls, int32(81345))
+ return _sqlite3CorruptError(tls, int32(81347))
}
}
iCellDepth = int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)
iCellIdx = libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Fix)
pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage
if libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
- return _sqlite3CorruptError(tls, int32(81354))
+ return _sqlite3CorruptError(tls, int32(81356))
}
pCell = (*TMemPage)(unsafe.Pointer(pPage)).FaData + uintptr(libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FmaskPage)&(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(int32(2)*iCellIdx))))< _btreePagecount(tls, pBt) {
- return _sqlite3CorruptError(tls, int32(81568))
+ return _sqlite3CorruptError(tls, int32(81570))
}
*(*TPgno)(unsafe.Pointer(bp + 8))++
/* The new root-page may not be allocated on a pointer-map page, or the
@@ -61418,7 +56383,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
}
*(*int32)(unsafe.Pointer(bp + 12)) = _ptrmapGet(tls, pBt, *(*TPgno)(unsafe.Pointer(bp + 8)), bp+32, bp+36)
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_ROOTPAGE) || libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_FREEPAGE) {
- *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(81616))
+ *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(81618))
}
if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_OK {
_releasePage(tls, *(*uintptr)(unsafe.Pointer(bp)))
@@ -61499,14 +56464,14 @@ func _clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno TPgno, freePageFlag int
var _ /* rc at bp+8 */ int32
_, _, _, _ = hdr, i, pCell, v2
if pgno > _btreePagecount(tls, pBt) {
- return _sqlite3CorruptError(tls, int32(81706))
+ return _sqlite3CorruptError(tls, int32(81708))
}
*(*int32)(unsafe.Pointer(bp + 8)) = _getAndInitPage(tls, pBt, pgno, bp, 0)
if *(*int32)(unsafe.Pointer(bp + 8)) != 0 {
return *(*int32)(unsafe.Pointer(bp + 8))
}
if libc.Int32FromUint8((*TBtShared)(unsafe.Pointer(pBt)).FopenFlags)&int32(BTREE_SINGLE) == 0 && _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1)+libc.BoolInt32(pgno == uint32(1)) {
- *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(81713))
+ *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(81715))
goto cleardatabasepage_out
}
hdr = libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FhdrOffset)
@@ -61643,7 +56608,7 @@ func _btreeDropTable(tls *libc.TLS, p uintptr, iTable TPgno, piMoved uintptr) (r
*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
pBt = (*TBtree)(unsafe.Pointer(p)).FpBt
if iTable > _btreePagecount(tls, pBt) {
- return _sqlite3CorruptError(tls, int32(81817))
+ return _sqlite3CorruptError(tls, int32(81819))
}
*(*int32)(unsafe.Pointer(bp)) = _sqlite3BtreeClearTable(tls, p, libc.Int32FromUint32(iTable), uintptr(0))
if *(*int32)(unsafe.Pointer(bp)) != 0 {
@@ -62695,14 +57660,14 @@ func _sqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) (r int32) {
// ** blob of allocated memory. The xFree function should not call sqlite3_free()
// ** on the memory, the btree layer does that.
// */
-func _sqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) (r uintptr) {
+func _sqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, __ccgo_fp_xFree uintptr) (r uintptr) {
var pBt uintptr
_ = pBt
pBt = (*TBtree)(unsafe.Pointer(p)).FpBt
_sqlite3BtreeEnter(tls, p)
if !((*TBtShared)(unsafe.Pointer(pBt)).FpSchema != 0) && nBytes != 0 {
(*TBtShared)(unsafe.Pointer(pBt)).FpSchema = _sqlite3DbMallocZero(tls, uintptr(0), libc.Uint64FromInt32(nBytes))
- (*TBtShared)(unsafe.Pointer(pBt)).FxFreeSchema = xFree
+ (*TBtShared)(unsafe.Pointer(pBt)).FxFreeSchema = __ccgo_fp_xFree
}
_sqlite3BtreeLeave(tls, p)
return (*TBtShared)(unsafe.Pointer(pBt)).FpSchema
@@ -62913,45 +57878,6 @@ func _sqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) (r int32) {
return (*TBtShared)(unsafe.Pointer((*TBtree)(unsafe.Pointer(p)).FpBt)).FnRef
}
-/************** End of btree.c ***********************************************/
-/************** Begin file backup.c ******************************************/
-/*
-** 2009 January 28
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains the implementation of the sqlite3_backup_XXX()
-** API functions and the related features.
- */
-/* #include "sqliteInt.h" */
-/* #include "btreeInt.h" */
-
-/*
-** Structure allocated for each backup operation.
- */
-type Tsqlite3_backup1 = struct {
- FpDestDb uintptr
- FpDest uintptr
- FiDestSchema Tu32
- FbDestLocked int32
- FiNext TPgno
- FpSrcDb uintptr
- FpSrc uintptr
- Frc int32
- FnRemaining TPgno
- FnPagecount TPgno
- FisAttached int32
- FpNext uintptr
-}
-
-type sqlite3_backup1 = Tsqlite3_backup1
-
/*
** THREAD SAFETY NOTES:
**
@@ -64551,7 +59477,7 @@ func _sqlite3NoopDestructor(tls *libc.TLS, p uintptr) {
// ** Set the value stored in *pMem should already be a NULL.
// ** Also store a pointer to go with it.
// */
-func _sqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) {
+func _sqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, __ccgo_fp_xDestructor uintptr) {
var v1, v2 uintptr
_, _ = v1, v2
_vdbeMemClear(tls, pMem)
@@ -64564,8 +59490,8 @@ func _sqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType
(*TMem)(unsafe.Pointer(pMem)).Fz = pPtr
(*TMem)(unsafe.Pointer(pMem)).Fflags = libc.Uint16FromInt32(libc.Int32FromInt32(MEM_Null) | libc.Int32FromInt32(MEM_Dyn) | libc.Int32FromInt32(MEM_Subtype) | libc.Int32FromInt32(MEM_Term))
(*TMem)(unsafe.Pointer(pMem)).FeSubtype = uint8('p')
- if xDestructor != 0 {
- v2 = xDestructor
+ if __ccgo_fp_xDestructor != 0 {
+ v2 = __ccgo_fp_xDestructor
} else {
v2 = __ccgo_fp(_sqlite3NoopDestructor)
}
@@ -64724,7 +59650,7 @@ func _sqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) {
// ** excluding the first zero character. The n parameter must be
// ** non-negative for blobs.
// */
-func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc Tu8, xDel uintptr) (r int32) {
+func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc Tu8, __ccgo_fp_xDel uintptr) (r int32) {
var flags Tu16
var iLimit, v2, v4 int32
var nAlloc, nByte Ti64
@@ -64766,11 +59692,11 @@ func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc T
}
}
if nByte > int64(iLimit) {
- if xDel != 0 && xDel != uintptr(-libc.Int32FromInt32(1)) {
- if xDel == __ccgo_fp(_sqlite3OomClear) {
+ if __ccgo_fp_xDel != 0 && __ccgo_fp_xDel != uintptr(-libc.Int32FromInt32(1)) {
+ if __ccgo_fp_xDel == __ccgo_fp(_sqlite3OomClear) {
_sqlite3DbFree(tls, (*TMem)(unsafe.Pointer(pMem)).Fdb, z)
} else {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDel})))(tls, z)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDel})))(tls, z)
}
}
_sqlite3VdbeMemSetNull(tls, pMem)
@@ -64780,7 +59706,7 @@ func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc T
** also sets a flag in local variable "flags" to indicate the memory
** management (one of MEM_Dyn or MEM_Static).
*/
- if xDel == uintptr(-libc.Int32FromInt32(1)) {
+ if __ccgo_fp_xDel == uintptr(-libc.Int32FromInt32(1)) {
nAlloc = nByte
if libc.Int32FromUint16(flags)&int32(MEM_Term) != 0 {
if libc.Int32FromUint8(enc) == int32(SQLITE_UTF8) {
@@ -64802,12 +59728,12 @@ func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc T
} else {
_sqlite3VdbeMemRelease(tls, pMem)
(*TMem)(unsafe.Pointer(pMem)).Fz = z
- if xDel == __ccgo_fp(_sqlite3OomClear) {
+ if __ccgo_fp_xDel == __ccgo_fp(_sqlite3OomClear) {
(*TMem)(unsafe.Pointer(pMem)).FzMalloc = (*TMem)(unsafe.Pointer(pMem)).Fz
(*TMem)(unsafe.Pointer(pMem)).FszMalloc = _sqlite3DbMallocSize(tls, (*TMem)(unsafe.Pointer(pMem)).Fdb, (*TMem)(unsafe.Pointer(pMem)).FzMalloc)
} else {
- (*TMem)(unsafe.Pointer(pMem)).FxDel = xDel
- if xDel == libc.UintptrFromInt32(0) {
+ (*TMem)(unsafe.Pointer(pMem)).FxDel = __ccgo_fp_xDel
+ if __ccgo_fp_xDel == libc.UintptrFromInt32(0) {
v4 = int32(MEM_Static)
} else {
v4 = int32(MEM_Dyn)
@@ -64846,7 +59772,7 @@ func _sqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32
_, _ = rc, v1
(*TMem)(unsafe.Pointer(pMem)).Fflags = uint16(MEM_Null)
if _sqlite3BtreeMaxRecordSize(tls, pCur) < libc.Int64FromUint32(offset+amt) {
- return _sqlite3CorruptError(tls, int32(85115))
+ return _sqlite3CorruptError(tls, int32(85117))
}
v1 = _sqlite3VdbeMemClearAndResize(tls, pMem, libc.Int32FromUint32(amt+uint32(1)))
rc = v1
@@ -64958,8 +59884,8 @@ func _sqlite3ValueText(tls *libc.TLS, pVal uintptr, enc Tu8) (r uintptr) {
// ** TODO: Maybe someday promote this interface into a published API so
// ** that third-party extensions can get access to it?
// */
-func _sqlite3ValueIsOfClass(tls *libc.TLS, pVal uintptr, xFree uintptr) (r int32) {
- if pVal != uintptr(0) && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(libc.Int32FromInt32(MEM_Str)|libc.Int32FromInt32(MEM_Blob)) != 0 && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) != 0 && (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel == xFree {
+func _sqlite3ValueIsOfClass(tls *libc.TLS, pVal uintptr, __ccgo_fp_xFree uintptr) (r int32) {
+ if pVal != uintptr(0) && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(libc.Int32FromInt32(MEM_Str)|libc.Int32FromInt32(MEM_Blob)) != 0 && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) != 0 && (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel == __ccgo_fp_xFree {
return int32(1)
} else {
return 0
@@ -65549,7 +60475,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
}
iHdr = uint32(libc.Uint8FromInt32(v1))
if *(*Tu32)(unsafe.Pointer(bp + 4)) > libc.Uint32FromInt32(nRec) || iHdr >= *(*Tu32)(unsafe.Pointer(bp + 4)) {
- return _sqlite3CorruptError(tls, int32(85801))
+ return _sqlite3CorruptError(tls, int32(85803))
}
iField = libc.Int64FromUint32(*(*Tu32)(unsafe.Pointer(bp + 4)))
i = 0
@@ -65565,7 +60491,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
}
iHdr += uint32(libc.Uint8FromInt32(v3))
if iHdr > *(*Tu32)(unsafe.Pointer(bp + 4)) {
- return _sqlite3CorruptError(tls, int32(85807))
+ return _sqlite3CorruptError(tls, int32(85809))
}
szField = _sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp)))
iField += libc.Int64FromUint32(szField)
@@ -65575,7 +60501,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
i++
}
if iField > int64(nRec) {
- return _sqlite3CorruptError(tls, int32(85813))
+ return _sqlite3CorruptError(tls, int32(85815))
}
if pMem == uintptr(0) {
v4 = _sqlite3ValueNew(tls, db)
@@ -65626,9 +60552,9 @@ func _sqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) {
// /*
// ** Change the string value of an sqlite3_value object
// */
-func _sqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc Tu8, xDel uintptr) {
+func _sqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc Tu8, __ccgo_fp_xDel uintptr) {
if v != 0 {
- _sqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, xDel)
+ _sqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, __ccgo_fp_xDel)
}
}
@@ -65702,7 +60628,7 @@ func _sqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) (r uintptr) {
libc.X__builtin___memset_chk(tls, p+136, 0, libc.Uint64FromInt64(304)-uint64(libc.UintptrFromInt32(0)+136), ^t__predefined_size_t(0))
(*TVdbe)(unsafe.Pointer(p)).Fdb = db
if (*Tsqlite3)(unsafe.Pointer(db)).FpVdbe != 0 {
- (*TVdbe1)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpVdbe)).FppVPrev = p + 16
+ (*TVdbe)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpVdbe)).FppVPrev = p + 16
}
(*TVdbe)(unsafe.Pointer(p)).FpVNext = (*Tsqlite3)(unsafe.Pointer(db)).FpVdbe
(*TVdbe)(unsafe.Pointer(p)).FppVPrev = db + 8
@@ -67826,7 +62752,7 @@ func _sqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) {
// ** or SQLITE_TRANSIENT. If it is SQLITE_DYNAMIC, then the buffer pointed
// ** to by zName will be freed by sqlite3DbFree() when the vdbe is destroyed.
// */
-func _sqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) (r int32) {
+func _sqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, __ccgo_fp_xDel uintptr) (r int32) {
var pColName uintptr
var rc int32
_, _ = pColName, rc
@@ -67834,7 +62760,7 @@ func _sqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zNa
return int32(SQLITE_NOMEM)
}
pColName = (*TVdbe)(unsafe.Pointer(p)).FaColName + uintptr(idx+var1*libc.Int32FromUint16((*TVdbe)(unsafe.Pointer(p)).FnResAlloc))*56
- rc = _sqlite3VdbeMemSetStr(tls, pColName, zName, int64(-int32(1)), uint8(SQLITE_UTF8), xDel)
+ rc = _sqlite3VdbeMemSetStr(tls, pColName, zName, int64(-int32(1)), uint8(SQLITE_UTF8), __ccgo_fp_xDel)
return rc
}
@@ -68661,7 +63587,7 @@ func _sqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) (r int32) {
return rc
}
if *(*int32)(unsafe.Pointer(bp)) != 0 {
- return _sqlite3CorruptError(tls, int32(89694))
+ return _sqlite3CorruptError(tls, int32(89696))
}
(*TVdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = uint8(0)
(*TVdbeCursor)(unsafe.Pointer(p)).FcacheStatus = uint32(CACHE_STALE)
@@ -69509,7 +64435,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
i = 0
}
if d1 > libc.Uint32FromInt32(nKey1) {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90653)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90655)))
return 0 /* Corruption */
}
/* Only needed by assert() statements */
@@ -69599,7 +64525,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
pKeyInfo = v4
}
if v5 || libc.Int32FromUint16((*TKeyInfo)(unsafe.Pointer(v4)).FnAllField) <= i {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90734)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90736)))
return 0 /* Corruption */
} else {
if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 {
@@ -69634,7 +64560,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
} else {
nStr = libc.Int32FromUint32((*(*Tu32)(unsafe.Pointer(bp + 68)) - uint32(12)) / uint32(2))
if d1+libc.Uint32FromInt32(nStr) > libc.Uint32FromInt32(nKey1) {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90764)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90766)))
return 0 /* Corruption */
} else {
if libc.Int32FromUint16((*TMem)(unsafe.Pointer(pRhs)).Fflags)&int32(MEM_Zero) != 0 {
@@ -69688,7 +64614,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
}
idx1 += libc.Uint32FromInt32(_sqlite3VarintLen(tls, uint64(*(*Tu32)(unsafe.Pointer(bp + 68)))))
if idx1 >= *(*Tu32)(unsafe.Pointer(bp)) {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90815)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90817)))
return 0 /* Corrupt index */
}
}
@@ -69820,7 +64746,7 @@ vrcs_restart:
szHdr = libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(aKey1)))
nStr = (*(*int32)(unsafe.Pointer(bp)) - int32(12)) / int32(2)
if szHdr+nStr > nKey1 {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90978)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90980)))
return 0 /* Corruption */
}
if (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).Fn < nStr {
@@ -69972,7 +64898,7 @@ func _sqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr
idx_rowid_corruption:
;
_sqlite3VdbeMemReleaseMalloc(tls, bp+8)
- return _sqlite3CorruptError(tls, int32(91136))
+ return _sqlite3CorruptError(tls, int32(91138))
}
// C documentation
@@ -70003,7 +64929,7 @@ func _sqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
** that btreeParseCellPtr() and sqlite3GetVarint32() are implemented */
if nCellKey <= 0 || nCellKey > int64(0x7fffffff) {
*(*int32)(unsafe.Pointer(res)) = 0
- return _sqlite3CorruptError(tls, int32(91169))
+ return _sqlite3CorruptError(tls, int32(91171))
}
_sqlite3VdbeMemInit(tls, bp, db, uint16(0))
rc = _sqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, libc.Uint32FromInt64(nCellKey), bp)
@@ -70420,7 +65346,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) (r int32) {
v = pStmt
db = (*TVdbe)(unsafe.Pointer(v)).Fdb
if _vdbeSafety(tls, v) != 0 {
- return _sqlite3MisuseError(tls, int32(91567))
+ return _sqlite3MisuseError(tls, int32(91569))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if (*TVdbe)(unsafe.Pointer(v)).FstartTime > 0 {
@@ -70747,12 +65673,12 @@ func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) {
// ** The invokeValueDestructor(P,X) routine invokes destructor function X()
// ** on value P if P is not going to be used and need to be destroyed.
// */
-func _setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc Tu8, xDel uintptr) {
+func _setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc Tu8, __ccgo_fp_xDel uintptr) {
var pOut uintptr
var rc int32
_, _ = pOut, rc
pOut = (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut
- rc = _sqlite3VdbeMemSetStr(tls, pOut, z, int64(n), enc, xDel)
+ rc = _sqlite3VdbeMemSetStr(tls, pOut, z, int64(n), enc, __ccgo_fp_xDel)
if rc != 0 {
if rc == int32(SQLITE_TOOBIG) {
Xsqlite3_result_error_toobig(tls, pCtx)
@@ -70769,29 +65695,33 @@ func _setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc T
}
}
-func _invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) (r int32) {
- if xDel == uintptr(0) {
+func _invokeValueDestructor(tls *libc.TLS, p uintptr, __ccgo_fp_xDel uintptr, pCtx uintptr) (r int32) {
+ if __ccgo_fp_xDel == uintptr(0) {
/* noop */
} else {
- if xDel == uintptr(-libc.Int32FromInt32(1)) {
+ if __ccgo_fp_xDel == uintptr(-libc.Int32FromInt32(1)) {
/* noop */
} else {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDel})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDel})))(tls, p)
}
}
Xsqlite3_result_error_toobig(tls, pCtx)
return int32(SQLITE_TOOBIG)
}
-func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, n, uint8(0), xDel)
+type t__ccgo_fp__Xsqlite3_result_blob_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, n, uint8(0), __ccgo_fp_xDel)
}
-func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, xDel uintptr) {
+type t__ccgo_fp__Xsqlite3_result_blob64_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, __ccgo_fp_xDel uintptr) {
if n > uint64(0x7fffffff) {
- _invokeValueDestructor(tls, z, xDel, pCtx)
+ _invokeValueDestructor(tls, z, __ccgo_fp_xDel, pCtx)
} else {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), uint8(0), xDel)
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), uint8(0), __ccgo_fp_xDel)
}
}
@@ -70821,13 +65751,15 @@ func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) {
_sqlite3VdbeMemSetNull(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut)
}
-func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) {
+type t__ccgo_fp__Xsqlite3_result_pointer_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, __ccgo_fp_xDestructor uintptr) {
var pOut uintptr
_ = pOut
pOut = (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut
_sqlite3VdbeMemRelease(tls, pOut)
(*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Null)
- _sqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, xDestructor)
+ _sqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, __ccgo_fp_xDestructor)
}
func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) {
@@ -70839,11 +65771,15 @@ func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) {
*(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromInt32(MEM_Subtype))
}
-func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), xDel)
+type t__ccgo_fp__Xsqlite3_result_text_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), __ccgo_fp_xDel)
}
-func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, xDel uintptr, enc uint8) {
+type t__ccgo_fp__Xsqlite3_result_text64_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, __ccgo_fp_xDel uintptr, enc uint8) {
if libc.Int32FromUint8(enc) != int32(SQLITE_UTF8) {
if libc.Int32FromUint8(enc) == int32(SQLITE_UTF16) {
enc = uint8(SQLITE_UTF16LE)
@@ -70851,23 +65787,29 @@ func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_u
n &= ^libc.Uint64FromInt32(1)
}
if n > uint64(0x7fffffff) {
- _invokeValueDestructor(tls, z, xDel, pCtx)
+ _invokeValueDestructor(tls, z, __ccgo_fp_xDel, pCtx)
} else {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), enc, xDel)
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), enc, __ccgo_fp_xDel)
_sqlite3VdbeMemZeroTerminateIfAble(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut)
}
}
-func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), xDel)
+type t__ccgo_fp__Xsqlite3_result_text16_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), __ccgo_fp_xDel)
}
-func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16BE), xDel)
+type t__ccgo_fp__Xsqlite3_result_text16be_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16BE), __ccgo_fp_xDel)
}
-func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), xDel)
+type t__ccgo_fp__Xsqlite3_result_text16le_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), __ccgo_fp_xDel)
}
func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) {
@@ -71124,7 +66066,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) (r int32) {
v = pStmt /* the prepared statement */
cnt = 0 /* The database connection */
if _vdbeSafetyNotNull(tls, v) != 0 {
- return _sqlite3MisuseError(tls, int32(92361))
+ return _sqlite3MisuseError(tls, int32(92363))
}
db = (*TVdbe)(unsafe.Pointer(v)).Fdb
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -71254,7 +66196,7 @@ func _valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32
_, _, _, _, _, _, _ = iOff, pOut, pRhs, rc, sz, zBuf, v1
*(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0)
if pVal == uintptr(0) {
- return _sqlite3MisuseError(tls, int32(92482))
+ return _sqlite3MisuseError(tls, int32(92484))
}
if libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) == 0 || (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel != __ccgo_fp(_sqlite3VdbeValueListFree) {
return int32(SQLITE_ERROR)
@@ -71423,6 +66365,8 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) (r uintptr) {
return uintptr(0)
}
+type t__ccgo_fp__Xsqlite3_set_auxdata_3 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
@@ -71436,7 +66380,7 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) (r uintptr) {
// ** to all functions within the current prepared statement using iArg as an
// ** access code.
// */
-func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, xDelete uintptr) {
+func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, __ccgo_fp_xDelete uintptr) {
var pAuxData, pVdbe uintptr
_, _ = pAuxData, pVdbe
pVdbe = (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe
@@ -71474,13 +66418,13 @@ func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr,
}
}
(*TAuxData)(unsafe.Pointer(pAuxData)).FpAux = pAux
- (*TAuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux = xDelete
+ (*TAuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux = __ccgo_fp_xDelete
return
goto failed
failed:
;
- if xDelete != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDelete})))(tls, pAux)
+ if __ccgo_fp_xDelete != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDelete})))(tls, pAux)
}
}
@@ -71980,14 +66924,14 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) {
var v2 bool
_, _, _ = pVar, v1, v2
if _vdbeSafetyNotNull(tls, p) != 0 {
- return _sqlite3MisuseError(tls, int32(93098))
+ return _sqlite3MisuseError(tls, int32(93100))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
if libc.Int32FromUint8((*TVdbe)(unsafe.Pointer(p)).FeVdbeState) != int32(VDBE_READY_STATE) {
- _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(93102)))
+ _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(93104)))
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5961, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql))
- return _sqlite3MisuseError(tls, int32(93106))
+ return _sqlite3MisuseError(tls, int32(93108))
}
if i >= libc.Uint32FromInt16((*TVdbe)(unsafe.Pointer(p)).FnVar) {
_sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, int32(SQLITE_RANGE))
@@ -72025,7 +66969,7 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) {
// /*
// ** Bind a text or BLOB value.
// */
-func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64, xDel uintptr, encoding Tu8) (r int32) {
+func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64, __ccgo_fp_xDel uintptr, encoding Tu8) (r int32) {
var p, pVar uintptr
var rc int32
_, _, _ = p, pVar, rc
@@ -72035,7 +66979,7 @@ func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64,
/* tag-20240917-01 */
if zData != uintptr(0) {
pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr(i-int32(1))*56
- rc = _sqlite3VdbeMemSetStr(tls, pVar, zData, nData, encoding, xDel)
+ rc = _sqlite3VdbeMemSetStr(tls, pVar, zData, nData, encoding, __ccgo_fp_xDel)
if rc == SQLITE_OK && libc.Int32FromUint8(encoding) != 0 {
rc = _sqlite3VdbeChangeEncoding(tls, pVar, libc.Int32FromUint8((*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fenc))
}
@@ -72046,24 +66990,28 @@ func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64,
}
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
} else {
- if xDel != libc.UintptrFromInt32(0) && xDel != uintptr(-libc.Int32FromInt32(1)) {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDel})))(tls, zData)
+ if __ccgo_fp_xDel != libc.UintptrFromInt32(0) && __ccgo_fp_xDel != uintptr(-libc.Int32FromInt32(1)) {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDel})))(tls, zData)
}
}
return rc
}
+type t__ccgo_fp__Xsqlite3_bind_blob_4 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Bind a blob value to an SQL statement variable.
// */
-func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0))
+func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, int64(nData), __ccgo_fp_xDel, uint8(0))
}
-func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), xDel, uint8(0))
+type t__ccgo_fp__Xsqlite3_bind_blob64_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), __ccgo_fp_xDel, uint8(0))
}
func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) (r int32) {
@@ -72111,7 +67059,9 @@ func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) (r int32) {
return rc
}
-func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) (r int32) {
+type t__ccgo_fp__Xsqlite3_bind_pointer_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
var p uintptr
var rc int32
_, _ = p, rc
@@ -72119,32 +67069,38 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr,
rc = _vdbeUnbind(tls, p, libc.Uint32FromInt32(i-libc.Int32FromInt32(1)))
if rc == SQLITE_OK {
/* tag-20240917-01 */
- _sqlite3VdbeMemSetPointer(tls, (*TVdbe)(unsafe.Pointer(p)).FaVar+uintptr(i-int32(1))*56, pPtr, zPTtype, xDestructor)
+ _sqlite3VdbeMemSetPointer(tls, (*TVdbe)(unsafe.Pointer(p)).FaVar+uintptr(i-int32(1))*56, pPtr, zPTtype, __ccgo_fp_xDestructor)
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
} else {
- if xDestructor != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestructor})))(tls, pPtr)
+ if __ccgo_fp_xDestructor != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestructor})))(tls, pPtr)
}
}
return rc
}
-func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF8))
+type t__ccgo_fp__Xsqlite3_bind_text_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, int64(nData), __ccgo_fp_xDel, uint8(SQLITE_UTF8))
}
-func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, xDel uintptr, enc uint8) (r int32) {
+type t__ccgo_fp__Xsqlite3_bind_text64_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, __ccgo_fp_xDel uintptr, enc uint8) (r int32) {
if libc.Int32FromUint8(enc) != int32(SQLITE_UTF8) {
if libc.Int32FromUint8(enc) == int32(SQLITE_UTF16) {
enc = uint8(SQLITE_UTF16LE)
}
nData &= ^libc.Uint64FromInt32(1)
}
- return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), xDel, enc)
+ return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), __ccgo_fp_xDel, enc)
}
-func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, n int32, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), xDel, uint8(SQLITE_UTF16LE))
+type t__ccgo_fp__Xsqlite3_bind_text16_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, n int32, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), __ccgo_fp_xDel, uint8(SQLITE_UTF16LE))
}
func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) (r int32) {
@@ -72561,7 +67517,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
/* Test that this call is being made from within an SQLITE_DELETE or
** SQLITE_UPDATE pre-update callback, and that iIdx is within range. */
if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_INSERT) {
- rc = _sqlite3MisuseError(tls, int32(93649))
+ rc = _sqlite3MisuseError(tls, int32(93651))
goto preupdate_old_out
}
if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 {
@@ -72623,7 +67579,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
})(unsafe.Pointer((*TPreUpdate)(unsafe.Pointer(p)).FpTab + 64))).FpDfltList + 8 + uintptr(libc.Int32FromUint16((*TColumn)(unsafe.Pointer(pCol)).FiDflt)-int32(1))*32))).FpExpr
rc = _sqlite3ValueFromExpr(tls, db, pDflt, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, libc.Uint8FromInt8((*TColumn)(unsafe.Pointer(pCol)).Faffinity), bp)
if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
- rc = _sqlite3CorruptError(tls, int32(93708))
+ rc = _sqlite3CorruptError(tls, int32(93710))
}
*(*uintptr)(unsafe.Pointer((*TPreUpdate)(unsafe.Pointer(p)).FapDflt + uintptr(iIdx)*8)) = *(*uintptr)(unsafe.Pointer(bp))
}
@@ -72724,7 +67680,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
iStore = 0
p = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdate
if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_DELETE) {
- rc = _sqlite3MisuseError(tls, int32(93804))
+ rc = _sqlite3MisuseError(tls, int32(93806))
goto preupdate_new_out
}
if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 && (*TPreUpdate)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) {
@@ -76085,7 +71041,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
pOp = aOp + uintptr((*(*TOp)(unsafe.Pointer(aOp))).Fp3-int32(1))*24
goto _187
} else {
- rc = _sqlite3CorruptError(tls, int32(97568))
+ rc = _sqlite3CorruptError(tls, int32(97570))
goto abort_due_to_error
}
/* Opcode: TypeCheck P1 P2 P3 P4 *
@@ -77995,7 +72951,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
** into an integer without loss of information. Take care to avoid
** changing the datatype of pIn3, however, as it is used by other
** parts of the prepared statement. */
- *(*Tsqlite3_value1)(unsafe.Pointer(bp + 256)) = *(*TMem)(unsafe.Pointer(pIn3))
+ *(*Tsqlite3_value)(unsafe.Pointer(bp + 256)) = *(*TMem)(unsafe.Pointer(pIn3))
_applyAffinity(tls, bp+256, int8(SQLITE_AFF_NUMERIC), encoding)
if libc.Int32FromUint16((*(*TMem)(unsafe.Pointer(bp + 256))).Fflags)&int32(MEM_Int) == 0 {
goto jump_to_p2
@@ -78022,7 +72978,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
(*TVdbeCursor)(unsafe.Pointer(pC10)).FseekResult = *(*int32)(unsafe.Pointer(bp + 248))
if *(*int32)(unsafe.Pointer(bp + 248)) != 0 {
if (*TOp)(unsafe.Pointer(pOp)).Fp2 == 0 {
- rc = _sqlite3CorruptError(tls, int32(99829))
+ rc = _sqlite3CorruptError(tls, int32(99831))
} else {
goto jump_to_p2
}
@@ -78914,7 +73870,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
}
} else {
if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 && !(_sqlite3WritableSchema(tls, db) != 0) {
- rc = _sqlite3ReportError(tls, libc.Int32FromInt32(SQLITE_CORRUPT)|libc.Int32FromInt32(3)< int64(0x7fffffff) {
- rc = _sqlite3CorruptError(tls, int32(101126))
+ rc = _sqlite3CorruptError(tls, int32(101128))
goto abort_due_to_error
}
_sqlite3VdbeMemInit(tls, bp+552, db, uint16(0))
@@ -79296,7 +74252,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
/* The OP_ParseSchema opcode with a non-NULL P4 argument should parse
** at least one SQL statement. Any less than that indicates that
** the sqlite_schema table is corrupt. */
- rc = _sqlite3CorruptError(tls, int32(101419))
+ rc = _sqlite3CorruptError(tls, int32(101421))
}
_sqlite3DbFreeNN(tls, db, zSql)
(*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0)
@@ -80947,7 +75903,7 @@ abort_due_to_error:
rc = int32(SQLITE_NOMEM)
} else {
if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(33)< Banana
-** aReadr[1] -> Feijoa
-** aReadr[2] -> Elderberry
-** aReadr[3] -> Currant
-** aReadr[4] -> Grapefruit
-** aReadr[5] -> Apple
-** aReadr[6] -> Durian
-** aReadr[7] -> EOF
-**
-** aTree[] = { X, 5 0, 5 0, 3, 5, 6 }
-**
-** The current element is "Apple" (the value of the key indicated by
-** PmaReader 5). When the Next() operation is invoked, PmaReader 5 will
-** be advanced to the next key in its segment. Say the next key is
-** "Eggplant":
-**
-** aReadr[5] -> Eggplant
-**
-** The contents of aTree[] are updated first by comparing the new PmaReader
-** 5 key to the current key of PmaReader 4 (still "Grapefruit"). The PmaReader
-** 5 value is still smaller, so aTree[6] is set to 5. And so on up the tree.
-** The value of PmaReader 6 - "Durian" - is now smaller than that of PmaReader
-** 5, so aTree[3] is set to 6. Key 0 is smaller than key 6 (Bananafile2. And instead of using a
-** background thread to prepare data for the PmaReader, with a single
-** threaded IncrMerger the allocate part of pTask->file2 is "refilled" with
-** keys from pMerger by the calling thread whenever the PmaReader runs out
-** of data.
- */
-type TIncrMerger1 = struct {
- FpTask uintptr
- FpMerger uintptr
- FiStartOff Ti64
- FmxSz int32
- FbEof int32
- FbUseThread int32
- FaFile [2]TSorterFile
-}
-
-type IncrMerger1 = TIncrMerger1
-
-/*
-** An instance of this object is used for writing a PMA.
-**
-** The PMA is written one record at a time. Each record is of an arbitrary
-** size. But I/O is more efficient if it occurs in page-sized blocks where
-** each block is aligned on a page boundary. This object caches writes to
-** the PMA so that aligned, page-size blocks are written.
- */
-type TPmaWriter1 = struct {
- FeFWErr int32
- FaBuffer uintptr
- FnBuffer int32
- FiBufStart int32
- FiBufEnd int32
- FiWriteOff Ti64
- FpFd uintptr
-}
-
-type PmaWriter1 = TPmaWriter1
-
-/*
-** This object is the header on a single record while that record is being
-** held in memory and prior to being written out as part of a PMA.
-**
-** How the linked list is connected depends on how memory is being managed
-** by this module. If using a separate allocation for each in-memory record
-** (VdbeSorter.list.aMemory==0), then the list is always connected using the
-** SorterRecord.u.pNext pointers.
-**
-** Or, if using the single large allocation method (VdbeSorter.list.aMemory!=0),
-** then while records are being accumulated the list is linked using the
-** SorterRecord.u.iNext offset. This is because the aMemory[] array may
-** be sqlite3Realloc()ed while records are being accumulated. Once the VM
-** has finished passing records to the sorter, or when the in-memory buffer
-** is full, the list is sorted. As part of the sorting process, it is
-** converted to use the SorterRecord.u.pNext pointers. See function
-** vdbeSorterSort() for details.
- */
-type TSorterRecord1 = struct {
- FnVal int32
- Fu struct {
- FiNext [0]int32
- FpNext uintptr
- }
-}
-
-type SorterRecord1 = TSorterRecord1
-
// C documentation
//
// /*
@@ -82349,7 +77026,7 @@ func _vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr)
rc = SQLITE_OK
if (*TSorterFile)(unsafe.Pointer(pFile)).FiEof <= int64((*Tsqlite3)(unsafe.Pointer((*TVdbeSorter)(unsafe.Pointer((*TSortSubtask)(unsafe.Pointer(pTask)).FpSorter)).Fdb)).FnMaxSorterMmap) {
pFd = (*TSorterFile)(unsafe.Pointer(pFile)).FpFd
- if (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
+ if (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
rc = _sqlite3OsFetch(tls, pFd, 0, int32((*TSorterFile)(unsafe.Pointer(pFile)).FiEof), pp)
}
}
@@ -82840,8 +77517,8 @@ func _vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) (r int32) {
// /*
// ** Launch a background thread to run xTask(pIn).
// */
-func _vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) (r int32) {
- return _sqlite3ThreadCreate(tls, pTask, xTask, pIn)
+func _vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, __ccgo_fp_xTask uintptr, pIn uintptr) (r int32) {
+ return _sqlite3ThreadCreate(tls, pTask, __ccgo_fp_xTask, pIn)
}
// C documentation
@@ -83036,7 +77713,7 @@ func _vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, _nByte Ti64)
*(*Ti64)(unsafe.Pointer(bp)) = _nByte
var _ /* chunksize at bp+16 */ int32
var _ /* p at bp+8 */ uintptr
- if *(*Ti64)(unsafe.Pointer(bp)) <= int64((*Tsqlite3)(unsafe.Pointer(db)).FnMaxSorterMmap) && (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
+ if *(*Ti64)(unsafe.Pointer(bp)) <= int64((*Tsqlite3)(unsafe.Pointer(db)).FnMaxSorterMmap) && (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
*(*int32)(unsafe.Pointer(bp + 16)) = libc.Int32FromInt32(4) * libc.Int32FromInt32(1024)
_sqlite3OsFileControlHint(tls, pFd, int32(SQLITE_FCNTL_CHUNK_SIZE), bp+16)
@@ -84688,57 +79365,6 @@ type TFileChunk = struct {
type FileChunk = TFileChunk
-/*
-** The rollback journal is composed of a linked list of these structures.
-**
-** The zChunk array is always at least 8 bytes in size - usually much more.
-** Its actual size is stored in the MemJournal.nChunkSize variable.
- */
-type TFileChunk1 = struct {
- FpNext uintptr
- FzChunk [8]Tu8
-}
-
-type FileChunk1 = TFileChunk1
-
-/*
-** By default, allocate this many bytes of memory for each FileChunk object.
- */
-
-/*
-** For chunk size nChunkSize, return the number of bytes that should
-** be allocated for each FileChunk structure.
- */
-
-/*
-** An instance of this object serves as a cursor into the rollback journal.
-** The cursor can be either for reading or writing.
- */
-type TFilePoint1 = struct {
- FiOffset Tsqlite3_int64
- FpChunk uintptr
-}
-
-type FilePoint1 = TFilePoint1
-
-/*
-** This structure is a subclass of sqlite3_file. Each open memory-journal
-** is an instance of this class.
- */
-type TMemJournal1 = struct {
- FpMethod uintptr
- FnChunkSize int32
- FnSpill int32
- FpFirst uintptr
- Fendpoint TFilePoint
- Freadpoint TFilePoint
- Fflags int32
- FpVfs uintptr
- FzJournal uintptr
-}
-
-type MemJournal1 = TMemJournal1
-
// C documentation
//
// /*
@@ -85035,7 +79661,7 @@ func _memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) (r int32) {
// /*
// ** Table of methods for MemJournal sqlite3_file object.
// */
-var _MemJournalMethods = Tsqlite3_io_methods1{
+var _MemJournalMethods = Tsqlite3_io_methods{
FiVersion: int32(1),
}
@@ -89499,12 +84125,6 @@ type TEdupBuf = struct {
type EdupBuf = TEdupBuf
-type TEdupBuf1 = struct {
- FzAlloc uintptr
-}
-
-type EdupBuf1 = TEdupBuf1
-
// C documentation
//
// /*
@@ -93081,6 +87701,11 @@ expr_code_doover:
case int32(TK_STRING):
_sqlite3VdbeLoadString(tls, v, target, *(*uintptr)(unsafe.Pointer(pExpr + 8)))
return target
+ case int32(TK_NULLS):
+ /* Set a range of registers to NULL. pExpr->y.nReg registers starting
+ ** with target */
+ _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, target, target+*(*int32)(unsafe.Pointer(&(*TExpr)(unsafe.Pointer(pExpr)).Fy))-int32(1))
+ return target
default:
/* Make NULL the default case so that if a bug causes an illegal
** Expr node to be passed into this function, it will be handled
@@ -93618,6 +88243,27 @@ func _sqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, r
return regDest
}
+// C documentation
+//
+// /*
+// ** Make arrangements to invoke OP_Null on a range of registers
+// ** during initialization.
+// */
+func _sqlite3ExprNullRegisterRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) {
+ bp := tls.Alloc(80)
+ defer tls.Free(80)
+ var okConstFactor Tu8
+ var _ /* t at bp+0 */ TExpr
+ _ = okConstFactor
+ okConstFactor = libc.Uint8FromInt32(int32(Tbft(*(*uint8)(unsafe.Pointer(pParse + 44)) & 0x4 >> 2)))
+ libc.X__builtin___memset_chk(tls, bp, 0, uint64(72), ^t__predefined_size_t(0))
+ (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_NULLS)
+ *(*int32)(unsafe.Pointer(bp + 64)) = nReg
+ libc.SetBitFieldPtr8Uint32(pParse+44, libc.Uint32FromInt32(1), 2, 0x4)
+ _sqlite3ExprCodeRunJustOnce(tls, pParse, bp, iReg)
+ libc.SetBitFieldPtr8Uint32(pParse+44, uint32(okConstFactor), 2, 0x4)
+}
+
// C documentation
//
// /*
@@ -93824,7 +88470,7 @@ func _sqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, targ
// **
// ** The jumpIfNull parameter is ignored if xJumpIf is NULL.
// */
-func _exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) {
+func _exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, __ccgo_fp_xJump uintptr, jumpIfNull int32) {
bp := tls.Alloc(224)
defer tls.Free(224)
var db, pDel uintptr
@@ -93851,8 +88497,8 @@ func _exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32,
(*(*TExpr)(unsafe.Pointer(bp + 144))).FpLeft = pDel
(*(*TExpr)(unsafe.Pointer(bp + 144))).FpRight = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)) + 8 + 1*32))).FpExpr
_sqlite3ExprToRegister(tls, pDel, _exprCodeVector(tls, pParse, pDel, bp+216))
- if xJump != 0 {
- (*(*func(*libc.TLS, uintptr, uintptr, int32, int32))(unsafe.Pointer(&struct{ uintptr }{xJump})))(tls, pParse, bp, dest, jumpIfNull)
+ if __ccgo_fp_xJump != 0 {
+ (*(*func(*libc.TLS, uintptr, uintptr, int32, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xJump})))(tls, pParse, bp, dest, jumpIfNull)
} else {
/* Mark the expression is being from the ON or USING clause of a join
** so that the sqlite3ExprCodeTarget() routine will not attempt to move
@@ -96267,31 +90913,6 @@ exit_rename_column:
return
}
-/*
-** Each RenameToken object maps an element of the parse tree into
-** the token that generated that element. The parse tree element
-** might be one of:
-**
-** * A pointer to an Expr that represents an ID
-** * The name of a table column in Column.zName
-**
-** A list of RenameToken objects can be constructed during parsing.
-** Each new object is created by sqlite3RenameTokenMap().
-** As the parse tree is transformed, the sqlite3RenameTokenRemap()
-** routine is used to keep the mapping current.
-**
-** After the parse finishes, renameTokenFind() routine can be used
-** to look up the actual token value that created some element in
-** the parse tree.
- */
-type TRenameToken1 = struct {
- Fp uintptr
- Ft TToken
- FpNext uintptr
-}
-
-type RenameToken1 = TRenameToken1
-
// C documentation
//
// /*
@@ -96308,16 +90929,6 @@ type TRenameCtx = struct {
type RenameCtx = TRenameCtx
-type TRenameCtx1 = struct {
- FpList uintptr
- FnList int32
- FiCol int32
- FpTab uintptr
- FzOld uintptr
-}
-
-type RenameCtx1 = TRenameCtx1
-
// C documentation
//
// /*
@@ -96620,9 +91231,9 @@ func _renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr)
pToken = *(*uintptr)(unsafe.Pointer(pp))
if pCtx != 0 {
*(*uintptr)(unsafe.Pointer(pp)) = (*TRenameToken)(unsafe.Pointer(pToken)).FpNext
- (*TRenameToken)(unsafe.Pointer(pToken)).FpNext = (*TRenameCtx1)(unsafe.Pointer(pCtx)).FpList
- (*TRenameCtx1)(unsafe.Pointer(pCtx)).FpList = pToken
- (*TRenameCtx1)(unsafe.Pointer(pCtx)).FnList++
+ (*TRenameToken)(unsafe.Pointer(pToken)).FpNext = (*TRenameCtx)(unsafe.Pointer(pCtx)).FpList
+ (*TRenameCtx)(unsafe.Pointer(pCtx)).FpList = pToken
+ (*TRenameCtx)(unsafe.Pointer(pCtx)).FnList++
}
return pToken
}
@@ -96816,7 +91427,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin
return int32(SQLITE_NOMEM)
}
if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11816, int32(7)) != 0 {
- return _sqlite3CorruptError(tls, int32(118888))
+ return _sqlite3CorruptError(tls, int32(118915))
}
if bTemp != 0 {
(*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(1)
@@ -96835,7 +91446,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin
rc = int32(SQLITE_NOMEM)
}
if rc == SQLITE_OK && ((*TParse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
- rc = _sqlite3CorruptError(tls, int32(118909))
+ rc = _sqlite3CorruptError(tls, int32(118936))
}
(*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(0)
return rc
@@ -97899,7 +92510,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr
pTab = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable
if pTab == uintptr(0) || int32((*TTable)(unsafe.Pointer(pTab)).FnCol) == int32(1) || iCol >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) {
/* This can happen if the sqlite_schema table is corrupt */
- rc = _sqlite3CorruptError(tls, int32(119877))
+ rc = _sqlite3CorruptError(tls, int32(119904))
goto drop_column_done
}
pCol = _renameTokenFind(tls, bp, uintptr(0), (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName)
@@ -98453,44 +93064,6 @@ type TStatSample = struct {
type StatSample = TStatSample
-type TStatSample1 = struct {
- FanDLt uintptr
- FanEq uintptr
- FanLt uintptr
- Fu struct {
- FaRowid [0]uintptr
- FiRowid Ti64
- }
- FnRowid Tu32
- FisPSample Tu8
- FiCol int32
- FiHash Tu32
-}
-
-type StatSample1 = TStatSample1
-
-type TStatAccum1 = struct {
- Fdb uintptr
- FnEst TtRowcnt
- FnRow TtRowcnt
- FnLimit int32
- FnCol int32
- FnKeyCol int32
- FnSkipAhead Tu8
- Fcurrent TStatSample
- FnPSample TtRowcnt
- FmxSample int32
- FiPrn Tu32
- FaBest uintptr
- FiMin int32
- FnSample int32
- FnMaxEqZero int32
- FiGet int32
- Fa uintptr
-}
-
-type StatAccum1 = TStatAccum1
-
// C documentation
//
// /* Reclaim memory used by a StatSample
@@ -99781,13 +94354,6 @@ type TanalysisInfo = struct {
type analysisInfo = TanalysisInfo
-type TanalysisInfo1 = struct {
- Fdb uintptr
- FzDatabase uintptr
-}
-
-type analysisInfo1 = TanalysisInfo1
-
// C documentation
//
// /*
@@ -100986,6 +95552,8 @@ func _sqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) (r int32
return 0
}
+type t__ccgo_fp__Xsqlite3_set_authorizer_1 = func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32
+
/************** End of attach.c **********************************************/
/************** Begin file auth.c ********************************************/
/*
@@ -101058,9 +95626,9 @@ func _sqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) (r int32
// ** Setting the auth function to NULL disables this hook. The default
// ** setting of the auth function is NULL.
// */
-func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uintptr) (r int32) {
+func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, __ccgo_fp_xAuth uintptr, pArg uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = xAuth
+ (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = __ccgo_fp_xAuth
(*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg = pArg
if (*Tsqlite3)(unsafe.Pointer(db)).FxAuth != 0 {
_sqlite3ExpirePreparedStatements(tls, db, int32(1))
@@ -101240,47 +95808,6 @@ func _sqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) {
}
}
-/************** End of auth.c ************************************************/
-/************** Begin file build.c *******************************************/
-/*
-** 2001 September 15
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains C code routines that are called by the SQLite parser
-** when syntax rules are reduced. The routines in this file handle the
-** following kinds of SQL syntax:
-**
-** CREATE TABLE
-** DROP TABLE
-** CREATE INDEX
-** DROP INDEX
-** creating ID lists
-** BEGIN TRANSACTION
-** COMMIT
-** ROLLBACK
- */
-/* #include "sqliteInt.h" */
-
-/*
-** The TableLock structure is only used by the sqlite3TableLock() and
-** codeTableLocks() functions.
- */
-type TTableLock1 = struct {
- FiDb int32
- FiTab TPgno
- FisWriteLock Tu8
- FzLockName uintptr
-}
-
-type TableLock1 = TTableLock1
-
// C documentation
//
// /*
@@ -101908,9 +96435,9 @@ func _sqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) {
break
}
pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32
- if (*TDb1)(unsafe.Pointer(pDb)).FpBt == uintptr(0) {
- _sqlite3DbFree(tls, db, (*TDb1)(unsafe.Pointer(pDb)).FzDbSName)
- (*TDb1)(unsafe.Pointer(pDb)).FzDbSName = uintptr(0)
+ if (*TDb)(unsafe.Pointer(pDb)).FpBt == uintptr(0) {
+ _sqlite3DbFree(tls, db, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)
+ (*TDb)(unsafe.Pointer(pDb)).FzDbSName = uintptr(0)
goto _1
}
if j < i {
@@ -106156,7 +100683,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u
(*TIndex)(unsafe.Pointer(pIndex)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum
if _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 {
_sqlite3ErrorMsg(tls, pParse, __ccgo_ts+15073, 0)
- (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(127355))
+ (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(127382))
goto exit_create_index
}
}
@@ -111595,17 +106122,6 @@ type TSumCtx = struct {
type SumCtx = TSumCtx
-type TSumCtx1 = struct {
- FrSum float64
- FrErr float64
- FiSum Ti64
- Fcnt Ti64
- Fapprox Tu8
- Fovrfl Tu8
-}
-
-type SumCtx1 = TSumCtx1
-
// C documentation
//
// /*
@@ -111819,12 +106335,6 @@ type TCountCtx = struct {
type CountCtx = TCountCtx
-type TCountCtx1 = struct {
- Fn Ti64
-}
-
-type CountCtx1 = TCountCtx1
-
// C documentation
//
// /*
@@ -115106,7 +109616,7 @@ func _exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int3
_ = p1
if libc.Int32FromUint8((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) && int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 {
p1 = pWalker + 36
- *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromUint16((*(*TColumn)(unsafe.Pointer((*TTable1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FaCol + uintptr((*TExpr)(unsafe.Pointer(pExpr)).FiColumn)*16))).FcolFlags))
+ *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromUint16((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FaCol + uintptr((*TExpr)(unsafe.Pointer(pExpr)).FiColumn)*16))).FcolFlags))
}
return WRC_Continue
}
@@ -116600,33 +111110,6 @@ type TIndexIterator = struct {
type IndexIterator = TIndexIterator
-type TIndexIterator1 = struct {
- FeType int32
- Fi int32
- Fu struct {
- Fax [0]struct {
- FnIdx int32
- FaIdx uintptr
- }
- Flx struct {
- FpIdx uintptr
- }
- F__ccgo_pad2 [8]byte
- }
-}
-
-type IndexIterator1 = TIndexIterator1
-
-/* When IndexIterator.eType==1, then each index is an array of instances
-** of the following object
- */
-type TIndexListTerm1 = struct {
- Fp uintptr
- Fix int32
-}
-
-type IndexListTerm1 = TIndexListTerm1
-
// C documentation
//
// /* Return the first index on the list */
@@ -118180,6 +112663,8 @@ func _xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uin
return r
}
+type t__ccgo_fp__Xsqlite3_exec_2 = func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
+
/************** End of insert.c **********************************************/
/************** Begin file legacy.c ******************************************/
/*
@@ -118213,7 +112698,7 @@ func _xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uin
// ** argument to xCallback(). If xCallback=NULL then no callback
// ** is invoked, even for queries.
// */
-func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_callback, pArg uintptr, pzErrMsg uintptr) (r int32) {
+func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, __ccgo_fp_xCallback Tsqlite3_callback, pArg uintptr, pzErrMsg uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var azCols, azVals uintptr
@@ -118225,7 +112710,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_c
*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* The current SQL statement */
azCols = uintptr(0) /* True if callback data is initialized */
if !(_sqlite3SafetyCheckOk(tls, db) != 0) {
- return _sqlite3MisuseError(tls, int32(138224))
+ return _sqlite3MisuseError(tls, int32(138251))
}
if zSql == uintptr(0) {
zSql = __ccgo_ts + 1665
@@ -118249,7 +112734,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_c
for int32(1) != 0 {
rc = Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
/* Invoke the callback function if required */
- if xCallback != 0 && (int32(SQLITE_ROW) == rc || int32(SQLITE_DONE) == rc && !(callbackIsInit != 0) && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NullCallback) != 0) {
+ if __ccgo_fp_xCallback != 0 && (int32(SQLITE_ROW) == rc || int32(SQLITE_DONE) == rc && !(callbackIsInit != 0) && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NullCallback) != 0) {
if !(callbackIsInit != 0) {
nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
azCols = _sqlite3DbMallocRaw(tls, db, uint64(libc.Uint64FromInt32(libc.Int32FromInt32(2)*nCol+libc.Int32FromInt32(1))*uint64(8)))
@@ -118290,7 +112775,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_c
}
*(*uintptr)(unsafe.Pointer(azVals + uintptr(i)*8)) = uintptr(0)
}
- if (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xCallback})))(tls, pArg, nCol, azVals, azCols) != 0 {
+ if (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xCallback})))(tls, pArg, nCol, azVals, azCols) != 0 {
/* EVIDENCE-OF: R-38229-40159 If the callback function to
** sqlite3_exec() returns non-zero, then sqlite3_exec() will
** return SQLITE_ABORT. */
@@ -118337,330 +112822,6 @@ exec_out:
return rc
}
-/************** End of legacy.c **********************************************/
-/************** Begin file loadext.c *****************************************/
-/*
-** 2006 June 7
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains code used to dynamically load extensions into
-** the SQLite library.
- */
-
-/************** Include sqlite3ext.h in the middle of loadext.c **************/
-/************** Begin file sqlite3ext.h **************************************/
-/*
-** 2006 June 7
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This header file defines the SQLite interface for use by
-** shared libraries that want to be imported as extensions into
-** an SQLite instance. Shared libraries that intend to be loaded
-** as extensions by SQLite should #include this file instead of
-** sqlite3.h.
- */
-/* #include "sqlite3.h" */
-
-/*
-** The following structure holds pointers to all of the SQLite API
-** routines.
-**
-** WARNING: In order to maintain backwards compatibility, add new
-** interfaces to the end of this structure only. If you insert new
-** interfaces in the middle of this structure, then older different
-** versions of SQLite will not be able to load each other's shared
-** libraries!
- */
-type Tsqlite3_api_routines1 = struct {
- Faggregate_context uintptr
- Faggregate_count uintptr
- Fbind_blob uintptr
- Fbind_double uintptr
- Fbind_int uintptr
- Fbind_int64 uintptr
- Fbind_null uintptr
- Fbind_parameter_count uintptr
- Fbind_parameter_index uintptr
- Fbind_parameter_name uintptr
- Fbind_text uintptr
- Fbind_text16 uintptr
- Fbind_value uintptr
- Fbusy_handler uintptr
- Fbusy_timeout uintptr
- Fchanges uintptr
- Fclose1 uintptr
- Fcollation_needed uintptr
- Fcollation_needed16 uintptr
- Fcolumn_blob uintptr
- Fcolumn_bytes uintptr
- Fcolumn_bytes16 uintptr
- Fcolumn_count uintptr
- Fcolumn_database_name uintptr
- Fcolumn_database_name16 uintptr
- Fcolumn_decltype uintptr
- Fcolumn_decltype16 uintptr
- Fcolumn_double uintptr
- Fcolumn_int uintptr
- Fcolumn_int64 uintptr
- Fcolumn_name uintptr
- Fcolumn_name16 uintptr
- Fcolumn_origin_name uintptr
- Fcolumn_origin_name16 uintptr
- Fcolumn_table_name uintptr
- Fcolumn_table_name16 uintptr
- Fcolumn_text uintptr
- Fcolumn_text16 uintptr
- Fcolumn_type uintptr
- Fcolumn_value uintptr
- Fcommit_hook uintptr
- Fcomplete uintptr
- Fcomplete16 uintptr
- Fcreate_collation uintptr
- Fcreate_collation16 uintptr
- Fcreate_function uintptr
- Fcreate_function16 uintptr
- Fcreate_module uintptr
- Fdata_count uintptr
- Fdb_handle uintptr
- Fdeclare_vtab uintptr
- Fenable_shared_cache uintptr
- Ferrcode uintptr
- Ferrmsg uintptr
- Ferrmsg16 uintptr
- Fexec uintptr
- Fexpired uintptr
- Ffinalize uintptr
- Ffree uintptr
- Ffree_table uintptr
- Fget_autocommit uintptr
- Fget_auxdata uintptr
- Fget_table uintptr
- Fglobal_recover uintptr
- Finterruptx uintptr
- Flast_insert_rowid uintptr
- Flibversion uintptr
- Flibversion_number uintptr
- Fmalloc uintptr
- Fmprintf uintptr
- Fopen uintptr
- Fopen16 uintptr
- Fprepare uintptr
- Fprepare16 uintptr
- Fprofile uintptr
- Fprogress_handler uintptr
- Frealloc uintptr
- Freset uintptr
- Fresult_blob uintptr
- Fresult_double uintptr
- Fresult_error uintptr
- Fresult_error16 uintptr
- Fresult_int uintptr
- Fresult_int64 uintptr
- Fresult_null uintptr
- Fresult_text uintptr
- Fresult_text16 uintptr
- Fresult_text16be uintptr
- Fresult_text16le uintptr
- Fresult_value uintptr
- Frollback_hook uintptr
- Fset_authorizer uintptr
- Fset_auxdata uintptr
- Fxsnprintf uintptr
- Fstep uintptr
- Ftable_column_metadata uintptr
- Fthread_cleanup uintptr
- Ftotal_changes uintptr
- Ftrace uintptr
- Ftransfer_bindings uintptr
- Fupdate_hook uintptr
- Fuser_data uintptr
- Fvalue_blob uintptr
- Fvalue_bytes uintptr
- Fvalue_bytes16 uintptr
- Fvalue_double uintptr
- Fvalue_int uintptr
- Fvalue_int64 uintptr
- Fvalue_numeric_type uintptr
- Fvalue_text uintptr
- Fvalue_text16 uintptr
- Fvalue_text16be uintptr
- Fvalue_text16le uintptr
- Fvalue_type uintptr
- Fvmprintf uintptr
- Foverload_function uintptr
- Fprepare_v2 uintptr
- Fprepare16_v2 uintptr
- Fclear_bindings uintptr
- Fcreate_module_v2 uintptr
- Fbind_zeroblob uintptr
- Fblob_bytes uintptr
- Fblob_close uintptr
- Fblob_open uintptr
- Fblob_read uintptr
- Fblob_write uintptr
- Fcreate_collation_v2 uintptr
- Ffile_control uintptr
- Fmemory_highwater uintptr
- Fmemory_used uintptr
- Fmutex_alloc uintptr
- Fmutex_enter uintptr
- Fmutex_free uintptr
- Fmutex_leave uintptr
- Fmutex_try uintptr
- Fopen_v2 uintptr
- Frelease_memory uintptr
- Fresult_error_nomem uintptr
- Fresult_error_toobig uintptr
- Fsleep uintptr
- Fsoft_heap_limit uintptr
- Fvfs_find uintptr
- Fvfs_register uintptr
- Fvfs_unregister uintptr
- Fxthreadsafe uintptr
- Fresult_zeroblob uintptr
- Fresult_error_code uintptr
- Ftest_control uintptr
- Frandomness uintptr
- Fcontext_db_handle uintptr
- Fextended_result_codes uintptr
- Flimit uintptr
- Fnext_stmt uintptr
- Fsql uintptr
- Fstatus uintptr
- Fbackup_finish uintptr
- Fbackup_init uintptr
- Fbackup_pagecount uintptr
- Fbackup_remaining uintptr
- Fbackup_step uintptr
- Fcompileoption_get uintptr
- Fcompileoption_used uintptr
- Fcreate_function_v2 uintptr
- Fdb_config uintptr
- Fdb_mutex uintptr
- Fdb_status uintptr
- Fextended_errcode uintptr
- Flog uintptr
- Fsoft_heap_limit64 uintptr
- Fsourceid uintptr
- Fstmt_status uintptr
- Fstrnicmp uintptr
- Funlock_notify uintptr
- Fwal_autocheckpoint uintptr
- Fwal_checkpoint uintptr
- Fwal_hook uintptr
- Fblob_reopen uintptr
- Fvtab_config uintptr
- Fvtab_on_conflict uintptr
- Fclose_v2 uintptr
- Fdb_filename uintptr
- Fdb_readonly uintptr
- Fdb_release_memory uintptr
- Ferrstr uintptr
- Fstmt_busy uintptr
- Fstmt_readonly uintptr
- Fstricmp uintptr
- Furi_boolean uintptr
- Furi_int64 uintptr
- Furi_parameter uintptr
- Fxvsnprintf uintptr
- Fwal_checkpoint_v2 uintptr
- Fauto_extension uintptr
- Fbind_blob64 uintptr
- Fbind_text64 uintptr
- Fcancel_auto_extension uintptr
- Fload_extension uintptr
- Fmalloc64 uintptr
- Fmsize uintptr
- Frealloc64 uintptr
- Freset_auto_extension uintptr
- Fresult_blob64 uintptr
- Fresult_text64 uintptr
- Fstrglob uintptr
- Fvalue_dup uintptr
- Fvalue_free uintptr
- Fresult_zeroblob64 uintptr
- Fbind_zeroblob64 uintptr
- Fvalue_subtype uintptr
- Fresult_subtype uintptr
- Fstatus64 uintptr
- Fstrlike uintptr
- Fdb_cacheflush uintptr
- Fsystem_errno uintptr
- Ftrace_v2 uintptr
- Fexpanded_sql uintptr
- Fset_last_insert_rowid uintptr
- Fprepare_v3 uintptr
- Fprepare16_v3 uintptr
- Fbind_pointer uintptr
- Fresult_pointer uintptr
- Fvalue_pointer uintptr
- Fvtab_nochange uintptr
- Fvalue_nochange uintptr
- Fvtab_collation uintptr
- Fkeyword_count uintptr
- Fkeyword_name uintptr
- Fkeyword_check uintptr
- Fstr_new uintptr
- Fstr_finish uintptr
- Fstr_appendf uintptr
- Fstr_vappendf uintptr
- Fstr_append uintptr
- Fstr_appendall uintptr
- Fstr_appendchar uintptr
- Fstr_reset uintptr
- Fstr_errcode uintptr
- Fstr_length uintptr
- Fstr_value uintptr
- Fcreate_window_function uintptr
- Fnormalized_sql uintptr
- Fstmt_isexplain uintptr
- Fvalue_frombind uintptr
- Fdrop_modules uintptr
- Fhard_heap_limit64 uintptr
- Furi_key uintptr
- Ffilename_database uintptr
- Ffilename_journal uintptr
- Ffilename_wal uintptr
- Fcreate_filename uintptr
- Ffree_filename uintptr
- Fdatabase_file_object uintptr
- Ftxn_state uintptr
- Fchanges64 uintptr
- Ftotal_changes64 uintptr
- Fautovacuum_pages uintptr
- Ferror_offset uintptr
- Fvtab_rhs_value uintptr
- Fvtab_distinct uintptr
- Fvtab_in uintptr
- Fvtab_in_first uintptr
- Fvtab_in_next uintptr
- Fdeserialize uintptr
- Fserialize uintptr
- Fdb_name uintptr
- Fvalue_encoding uintptr
- Fis_interrupted uintptr
- Fstmt_explain uintptr
- Fget_clientdata uintptr
- Fset_clientdata uintptr
- Fsetlk_timeout uintptr
-}
-
-type sqlite3_api_routines1 = Tsqlite3_api_routines1
-
// C documentation
//
// /*
@@ -119265,14 +113426,9 @@ type Tsqlite3AutoExtList = struct {
type sqlite3AutoExtList = Tsqlite3AutoExtList
-type Tsqlite3AutoExtList1 = struct {
- FnExt Tu32
- FaExt uintptr
-}
-
-type sqlite3AutoExtList1 = Tsqlite3AutoExtList1
+var _sqlite3Autoext = Tsqlite3AutoExtList{}
-var _sqlite3Autoext = Tsqlite3AutoExtList1{}
+type t__ccgo_fp__Xsqlite3_auto_extension_0 = func(*libc.TLS)
/* The "wsdAutoext" macro will resolve to the autoextension
** state vector. If writable static data is unsupported on the target,
@@ -119287,7 +113443,7 @@ var _sqlite3Autoext = Tsqlite3AutoExtList1{}
// ** Register a statically linked extension that is automatically
// ** loaded by every new database connection.
// */
-func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
+func Xsqlite3_auto_extension(tls *libc.TLS, __ccgo_fp_xInit uintptr) (r int32) {
var aNew, mutex uintptr
var i Tu32
var nByte Tu64
@@ -119305,7 +113461,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
if !(i < _sqlite3Autoext.FnExt) {
break
}
- if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) == xInit {
+ if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) == __ccgo_fp_xInit {
break
}
goto _1
@@ -119320,7 +113476,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
rc = int32(SQLITE_NOMEM)
} else {
_sqlite3Autoext.FaExt = aNew
- *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(_sqlite3Autoext.FnExt)*8)) = xInit
+ *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(_sqlite3Autoext.FnExt)*8)) = __ccgo_fp_xInit
_sqlite3Autoext.FnExt++
}
}
@@ -119330,6 +113486,8 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
return r
}
+type t__ccgo_fp__Xsqlite3_cancel_auto_extension_0 = func(*libc.TLS)
+
// C documentation
//
// /*
@@ -119341,7 +113499,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
// ** Return 1 if xInit was found on the list and removed. Return 0 if xInit
// ** was not on the list.
// */
-func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
+func Xsqlite3_cancel_auto_extension(tls *libc.TLS, __ccgo_fp_xInit uintptr) (r int32) {
var i, n int32
var mutex uintptr
_, _, _ = i, mutex, n
@@ -119353,7 +113511,7 @@ func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
if !(i >= 0) {
break
}
- if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) == xInit {
+ if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) == __ccgo_fp_xInit {
_sqlite3Autoext.FnExt--
*(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(_sqlite3Autoext.FnExt)*8))
n++
@@ -123116,25 +117274,6 @@ type TPragmaVtabCursor = struct {
type PragmaVtabCursor = TPragmaVtabCursor
-type TPragmaVtab1 = struct {
- Fbase Tsqlite3_vtab
- Fdb uintptr
- FpName uintptr
- FnHidden Tu8
- FiHidden Tu8
-}
-
-type PragmaVtab1 = TPragmaVtab1
-
-type TPragmaVtabCursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FpPragma uintptr
- FiRowid Tsqlite_int64
- FazArg [2]uintptr
-}
-
-type PragmaVtabCursor1 = TPragmaVtabCursor1
-
// C documentation
//
// /*
@@ -123536,7 +117675,7 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
(*TInitData)(unsafe.Pointer(pData)).Frc = int32(SQLITE_ERROR)
} else {
if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
- (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143765))
+ (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143792))
} else {
if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 {
v1 = *(*uintptr)(unsafe.Pointer(azObj + 1*8))
@@ -123549,7 +117688,7 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
z = _sqlite3MPrintf(tls, db, __ccgo_ts+19383, libc.VaList(bp+8, z, zExtra))
}
*(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
- (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143772))
+ (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143799))
}
}
}
@@ -124143,7 +118282,7 @@ func _sqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) {
// **
// ** pObj = sqlite3ParserAddCleanup(pParse, destructor, pObj);
// */
-func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) (r uintptr) {
+func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, __ccgo_fp_xCleanup uintptr, pPtr uintptr) (r uintptr) {
var pCleanup uintptr
_ = pCleanup
if _sqlite3FaultSim(tls, int32(300)) != 0 {
@@ -124156,9 +118295,9 @@ func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p
(*TParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*TParse)(unsafe.Pointer(pParse)).FpCleanup
(*TParse)(unsafe.Pointer(pParse)).FpCleanup = pCleanup
(*TParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr = pPtr
- (*TParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup = xCleanup
+ (*TParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup = __ccgo_fp_xCleanup
} else {
- (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{xCleanup})))(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pPtr)
+ (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xCleanup})))(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pPtr)
pPtr = uintptr(0)
}
return pPtr
@@ -124345,7 +118484,7 @@ func _sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int3
cnt = 0
*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
- return _sqlite3MisuseError(tls, int32(144572))
+ return _sqlite3MisuseError(tls, int32(144599))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
_sqlite3BtreeEnterAll(tls, db)
@@ -124479,7 +118618,7 @@ func _sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pr
rc = SQLITE_OK
*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
- return _sqlite3MisuseError(tls, int32(144721))
+ return _sqlite3MisuseError(tls, int32(144748))
}
/* Make sure nBytes is non-negative and correct. It should be the
** number of bytes until the end of the input buffer or until the first
@@ -124601,15 +118740,6 @@ type TDistinctCtx = struct {
type DistinctCtx = TDistinctCtx
-type TDistinctCtx1 = struct {
- FisTnct Tu8
- FeTnctType Tu8
- FtabTnct int32
- FaddrTnct int32
-}
-
-type DistinctCtx1 = TDistinctCtx1
-
// C documentation
//
// /*
@@ -124645,21 +118775,6 @@ type TSortCtx = struct {
type SortCtx = TSortCtx
-type TSortCtx1 = struct {
- FpOrderBy uintptr
- FnOBSat int32
- FiECursor int32
- FregReturn int32
- FlabelBkOut int32
- FaddrSortIndex int32
- FlabelDone int32
- FlabelOBLopt int32
- FsortFlags Tu8
- FpDeferredRowLoad uintptr
-}
-
-type SortCtx1 = TSortCtx1
-
// C documentation
//
// /*
@@ -125346,13 +119461,6 @@ type TRowLoadInfo = struct {
type RowLoadInfo = TRowLoadInfo
-type TRowLoadInfo1 = struct {
- FregResult int32
- FecelFlags Tu8
-}
-
-type RowLoadInfo1 = TRowLoadInfo1
-
// C documentation
//
// /*
@@ -129327,18 +123435,6 @@ type TWhereConst = struct {
type WhereConst = TWhereConst
-type TWhereConst1 = struct {
- FpParse uintptr
- FpOomFault uintptr
- FnConst int32
- FnChng int32
- FbHasAffBlob int32
- FmExcludeOn Tu32
- FapExpr uintptr
-}
-
-type WhereConst1 = TWhereConst1
-
// C documentation
//
// /*
@@ -132931,6 +127027,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r
*(*int32)(unsafe.Pointer(pParse + 64)) += (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr
_sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, iAbortFlag)
_sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, iAMem, iAMem+(*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr-int32(1))
+ _sqlite3ExprNullRegisterRange(tls, pParse, iAMem, (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr)
/* Begin a loop that will extract all source rows in GROUP BY order.
** This might involve two separate loops with an OP_Sort in between, or
** it might be a single loop that uses an index to extract information
@@ -137235,39 +131332,6 @@ var _aCopy = [10]uint8{
8: uint8(BTREE_APPLICATION_ID),
}
-/************** End of vacuum.c **********************************************/
-/************** Begin file vtab.c ********************************************/
-/*
-** 2006 June 10
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains code used to help implement virtual tables.
- */
-/* #include "sqliteInt.h" */
-
-/*
-** Before a virtual table xCreate() or xConnect() method is invoked, the
-** sqlite3.pVtabCtx member variable is set to point to an instance of
-** this struct allocated on the stack. It is used by the implementation of
-** the sqlite3_declare_vtab() and sqlite3_vtab_config() APIs, both of which
-** are invoked only from within xCreate and xConnect methods.
- */
-type TVtabCtx1 = struct {
- FpVTable uintptr
- FpTab uintptr
- FpPrior uintptr
- FbDeclared int32
-}
-
-type VtabCtx1 = TVtabCtx1
-
// C documentation
//
// /*
@@ -137278,7 +131342,7 @@ type VtabCtx1 = TVtabCtx1
// ** If there already exists a module with zName, replace it with the new one.
// ** If pModule==0, then delete the module zName if it exists.
// */
-func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) (r uintptr) {
+func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, __ccgo_fp_xDestroy uintptr) (r uintptr) {
var nName int32
var pDel, pMod, zCopy uintptr
_, _, _, _ = nName, pDel, pMod, zCopy
@@ -137297,7 +131361,7 @@ func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule
(*TModule)(unsafe.Pointer(pMod)).FzName = zCopy
(*TModule)(unsafe.Pointer(pMod)).FpModule = pModule
(*TModule)(unsafe.Pointer(pMod)).FpAux = pAux
- (*TModule)(unsafe.Pointer(pMod)).FxDestroy = xDestroy
+ (*TModule)(unsafe.Pointer(pMod)).FxDestroy = __ccgo_fp_xDestroy
(*TModule)(unsafe.Pointer(pMod)).FpEpoTab = uintptr(0)
(*TModule)(unsafe.Pointer(pMod)).FnRefModule = int32(1)
}
@@ -137322,15 +131386,15 @@ func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule
// ** This function implements the sqlite3_create_module() and
// ** sqlite3_create_module_v2() interfaces.
// */
-func _createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) (r int32) {
+func _createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
var rc int32
_ = rc
rc = SQLITE_OK
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- _sqlite3VtabCreateModule(tls, db, zName, pModule, pAux, xDestroy)
+ _sqlite3VtabCreateModule(tls, db, zName, pModule, pAux, __ccgo_fp_xDestroy)
rc = _sqlite3ApiExit(tls, db, rc)
- if rc != SQLITE_OK && xDestroy != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestroy})))(tls, pAux)
+ if rc != SQLITE_OK && __ccgo_fp_xDestroy != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestroy})))(tls, pAux)
}
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return rc
@@ -137345,13 +131409,15 @@ func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule ui
return _createModule(tls, db, zName, pModule, pAux, uintptr(0))
}
+type t__ccgo_fp__Xsqlite3_create_module_v2_4 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** External API function used to create a new virtual-table module.
// */
-func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) (r int32) {
- return _createModule(tls, db, zName, pModule, pAux, xDestroy)
+func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
+ return _createModule(tls, db, zName, pModule, pAux, __ccgo_fp_xDestroy)
}
// C documentation
@@ -137873,7 +131939,7 @@ func _sqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) {
// ** pointer to the function to invoke is passed as the fourth parameter
// ** to this procedure.
// */
-func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, xConstruct uintptr, pzErr uintptr) (r int32) {
+func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, __ccgo_fp_xConstruct uintptr, pzErr uintptr) (r int32) {
bp := tls.Alloc(64)
defer tls.Free(64)
var azArg, pCtx, pVTable, zFormat, zModuleName, zType, p6 uintptr
@@ -137934,7 +132000,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
(*(*TVtabCtx)(unsafe.Pointer(bp))).FbDeclared = 0
(*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp
(*TTable)(unsafe.Pointer(pTab)).FnTabRef++
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConstruct})))(tls, db, (*TModule)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+32)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConstruct})))(tls, db, (*TModule)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+32)
_sqlite3DeleteTable(tls, db, pTab)
(*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*(*TVtabCtx)(unsafe.Pointer(bp))).FpPrior
if rc == int32(SQLITE_NOMEM) {
@@ -138218,9 +132284,9 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pCtx = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx
if !(pCtx != 0) || (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
- _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(158372)))
+ _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(158400)))
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- return _sqlite3MisuseError(tls, int32(158374))
+ return _sqlite3MisuseError(tls, int32(158402))
}
pTab = (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab
_sqlite3ParseObjectInit(tls, bp, db)
@@ -138802,7 +132868,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
p = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx
if !(p != 0) {
- rc = _sqlite3MisuseError(tls, int32(158869))
+ rc = _sqlite3MisuseError(tls, int32(158897))
} else {
ap = va
switch op {
@@ -138815,7 +132881,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in
case int32(SQLITE_VTAB_USES_ALL_SCHEMAS):
(*TVTable)(unsafe.Pointer((*TVtabCtx)(unsafe.Pointer(p)).FpVTable)).FbAllSchemas = uint8(1)
default:
- rc = _sqlite3MisuseError(tls, int32(158891))
+ rc = _sqlite3MisuseError(tls, int32(158919))
break
}
_ = ap
@@ -139075,435 +133141,6 @@ type TWhereRightJoin = struct {
type WhereRightJoin = TWhereRightJoin
-/*
-** This object is a header on a block of allocated memory that will be
-** automatically freed when its WInfo object is destructed.
- */
-type TWhereMemBlock1 = struct {
- FpNext uintptr
- Fsz Tu64
-}
-
-type WhereMemBlock1 = TWhereMemBlock1
-
-/*
-** Extra information attached to a WhereLevel that is a RIGHT JOIN.
- */
-type TWhereRightJoin1 = struct {
- FiMatch int32
- FregBloom int32
- FregReturn int32
- FaddrSubrtn int32
- FendSubrtn int32
-}
-
-type WhereRightJoin1 = TWhereRightJoin1
-
-/*
-** This object contains information needed to implement a single nested
-** loop in WHERE clause.
-**
-** Contrast this object with WhereLoop. This object describes the
-** implementation of the loop. WhereLoop describes the algorithm.
-** This object contains a pointer to the WhereLoop algorithm as one of
-** its elements.
-**
-** The WhereInfo object contains a single instance of this object for
-** each term in the FROM clause (which is to say, for each of the
-** nested loops as implemented). The order of WhereLevel objects determines
-** the loop nested order, with WhereInfo.a[0] being the outer loop and
-** WhereInfo.a[WhereInfo.nLevel-1] being the inner loop.
- */
-type TWhereLevel1 = struct {
- FiLeftJoin int32
- FiTabCur int32
- FiIdxCur int32
- FaddrBrk int32
- FaddrNxt int32
- FaddrSkip int32
- FaddrCont int32
- FaddrFirst int32
- FaddrBody int32
- FregBignull int32
- FaddrBignull int32
- FregFilter int32
- FpRJ uintptr
- FiFrom Tu8
- Fop Tu8
- Fp3 Tu8
- Fp5 Tu8
- Fp1 int32
- Fp2 int32
- Fu struct {
- FpCoveringIdx [0]uintptr
- Fin struct {
- FnIn int32
- FaInLoop uintptr
- }
- }
- FpWLoop uintptr
- FnotReady TBitmask
-}
-
-type WhereLevel1 = TWhereLevel1
-
-/*
-** Each instance of this object represents an algorithm for evaluating one
-** term of a join. Every term of the FROM clause will have at least
-** one corresponding WhereLoop object (unless INDEXED BY constraints
-** prevent a query solution - which is an error) and many terms of the
-** FROM clause will have multiple WhereLoop objects, each describing a
-** potential way of implementing that FROM-clause term, together with
-** dependencies and cost estimates for using the chosen algorithm.
-**
-** Query planning consists of building up a collection of these WhereLoop
-** objects, then computing a particular sequence of WhereLoop objects, with
-** one WhereLoop object per FROM clause term, that satisfy all dependencies
-** and that minimize the overall cost.
- */
-type TWhereLoop1 = struct {
- Fprereq TBitmask
- FmaskSelf TBitmask
- FiTab Tu8
- FiSortIdx Tu8
- FrSetup TLogEst
- FrRun TLogEst
- FnOut TLogEst
- Fu struct {
- Fvtab [0]struct {
- FidxNum int32
- F__ccgo4 uint8
- FisOrdered Ti8
- FomitMask Tu16
- FidxStr uintptr
- FmHandleIn Tu32
- }
- Fbtree struct {
- FnEq Tu16
- FnBtm Tu16
- FnTop Tu16
- FnDistinctCol Tu16
- FpIndex uintptr
- FpOrderBy uintptr
- }
- }
- FwsFlags Tu32
- FnLTerm Tu16
- FnSkip Tu16
- FnLSlot Tu16
- FaLTerm uintptr
- FpNextLoop uintptr
- FaLTermSpace [3]uintptr
-}
-
-type WhereLoop1 = TWhereLoop1
-
-/* This object holds the prerequisites and the cost of running a
-** subquery on one operand of an OR operator in the WHERE clause.
-** See WhereOrSet for additional information
- */
-type TWhereOrCost1 = struct {
- Fprereq TBitmask
- FrRun TLogEst
- FnOut TLogEst
-}
-
-type WhereOrCost1 = TWhereOrCost1
-
-/* The WhereOrSet object holds a set of possible WhereOrCosts that
-** correspond to the subquery(s) of OR-clause processing. Only the
-** best N_OR_COST elements are retained.
- */
-type TWhereOrSet1 = struct {
- Fn Tu16
- Fa [3]TWhereOrCost
-}
-
-type WhereOrSet1 = TWhereOrSet1
-
-/*
-** Each instance of this object holds a sequence of WhereLoop objects
-** that implement some or all of a query plan.
-**
-** Think of each WhereLoop object as a node in a graph with arcs
-** showing dependencies and costs for travelling between nodes. (That is
-** not a completely accurate description because WhereLoop costs are a
-** vector, not a scalar, and because dependencies are many-to-one, not
-** one-to-one as are graph nodes. But it is a useful visualization aid.)
-** Then a WherePath object is a path through the graph that visits some
-** or all of the WhereLoop objects once.
-**
-** The "solver" works by creating the N best WherePath objects of length
-** 1. Then using those as a basis to compute the N best WherePath objects
-** of length 2. And so forth until the length of WherePaths equals the
-** number of nodes in the FROM clause. The best (lowest cost) WherePath
-** at the end is the chosen query plan.
- */
-type TWherePath1 = struct {
- FmaskLoop TBitmask
- FrevLoop TBitmask
- FnRow TLogEst
- FrCost TLogEst
- FrUnsort TLogEst
- FisOrdered Ti8
- FaLoop uintptr
-}
-
-type WherePath1 = TWherePath1
-
-/*
-** The query generator uses an array of instances of this structure to
-** help it analyze the subexpressions of the WHERE clause. Each WHERE
-** clause subexpression is separated from the others by AND operators,
-** usually, or sometimes subexpressions separated by OR.
-**
-** All WhereTerms are collected into a single WhereClause structure.
-** The following identity holds:
-**
-** WhereTerm.pWC->a[WhereTerm.idx] == WhereTerm
-**
-** When a term is of the form:
-**
-** X
-**
-** where X is a column name and is one of certain operators,
-** then WhereTerm.leftCursor and WhereTerm.u.leftColumn record the
-** cursor number and column number for X. WhereTerm.eOperator records
-** the using a bitmask encoding defined by WO_xxx below. The
-** use of a bitmask encoding for the operator allows us to search
-** quickly for terms that match any of several different operators.
-**
-** A WhereTerm might also be two or more subterms connected by OR:
-**
-** (t1.X ) OR (t1.Y ) OR ....
-**
-** In this second case, wtFlag has the TERM_ORINFO bit set and eOperator==WO_OR
-** and the WhereTerm.u.pOrInfo field points to auxiliary information that
-** is collected about the OR clause.
-**
-** If a term in the WHERE clause does not match either of the two previous
-** categories, then eOperator==0. The WhereTerm.pExpr field is still set
-** to the original subexpression content and wtFlags is set up appropriately
-** but no other fields in the WhereTerm object are meaningful.
-**
-** When eOperator!=0, prereqRight and prereqAll record sets of cursor numbers,
-** but they do so indirectly. A single WhereMaskSet structure translates
-** cursor number into bits and the translated bit is stored in the prereq
-** fields. The translation is used in order to maximize the number of
-** bits that will fit in a Bitmask. The VDBE cursor numbers might be
-** spread out over the non-negative integers. For example, the cursor
-** numbers might be 3, 8, 9, 10, 20, 23, 41, and 45. The WhereMaskSet
-** translates these sparse cursor numbers into consecutive integers
-** beginning with 0 in order to make the best possible use of the available
-** bits in the Bitmask. So, in the example above, the cursor numbers
-** would be mapped into integers 0 through 7.
-**
-** The number of terms in a join is limited by the number of bits
-** in prereqRight and prereqAll. The default is 64 bits, hence SQLite
-** is only able to process joins with 64 or fewer tables.
- */
-type TWhereTerm1 = struct {
- FpExpr uintptr
- FpWC uintptr
- FtruthProb TLogEst
- FwtFlags Tu16
- FeOperator Tu16
- FnChild Tu8
- FeMatchOp Tu8
- FiParent int32
- FleftCursor int32
- Fu struct {
- FpOrInfo [0]uintptr
- FpAndInfo [0]uintptr
- Fx struct {
- FleftColumn int32
- FiField int32
- }
- }
- FprereqRight TBitmask
- FprereqAll TBitmask
-}
-
-type WhereTerm1 = TWhereTerm1
-
-/*
-** Allowed values of WhereTerm.wtFlags
- */
-
-/*
-** An instance of the WhereScan object is used as an iterator for locating
-** terms in the WHERE clause that are useful to the query planner.
- */
-type TWhereScan1 = struct {
- FpOrigWC uintptr
- FpWC uintptr
- FzCollName uintptr
- FpIdxExpr uintptr
- Fk int32
- FopMask Tu32
- Fidxaff int8
- FiEquiv uint8
- FnEquiv uint8
- FaiCur [11]int32
- FaiColumn [11]Ti16
-}
-
-type WhereScan1 = TWhereScan1
-
-/*
-** An instance of the following structure holds all information about a
-** WHERE clause. Mostly this is a container for one or more WhereTerms.
-**
-** Explanation of pOuter: For a WHERE clause of the form
-**
-** a AND ((b AND c) OR (d AND e)) AND f
-**
-** There are separate WhereClause objects for the whole clause and for
-** the subclauses "(b AND c)" and "(d AND e)". The pOuter field of the
-** subclauses points to the WhereClause object for the whole clause.
- */
-type TWhereClause1 = struct {
- FpWInfo uintptr
- FpOuter uintptr
- Fop Tu8
- FhasOr Tu8
- FnTerm int32
- FnSlot int32
- FnBase int32
- Fa uintptr
- FaStatic [8]TWhereTerm
-}
-
-type WhereClause1 = TWhereClause1
-
-/*
-** A WhereTerm with eOperator==WO_OR has its u.pOrInfo pointer set to
-** a dynamically allocated instance of the following structure.
- */
-type TWhereOrInfo1 = struct {
- Fwc TWhereClause
- Findexable TBitmask
-}
-
-type WhereOrInfo1 = TWhereOrInfo1
-
-/*
-** A WhereTerm with eOperator==WO_AND has its u.pAndInfo pointer set to
-** a dynamically allocated instance of the following structure.
- */
-type TWhereAndInfo1 = struct {
- Fwc TWhereClause
-}
-
-type WhereAndInfo1 = TWhereAndInfo1
-
-/*
-** An instance of the following structure keeps track of a mapping
-** between VDBE cursor numbers and bits of the bitmasks in WhereTerm.
-**
-** The VDBE cursor numbers are small integers contained in
-** SrcItem.iCursor and Expr.iTable fields. For any given WHERE
-** clause, the cursor numbers might not begin with 0 and they might
-** contain gaps in the numbering sequence. But we want to make maximum
-** use of the bits in our bitmasks. This structure provides a mapping
-** from the sparse cursor numbers into consecutive integers beginning
-** with 0.
-**
-** If WhereMaskSet.ix[A]==B it means that The A-th bit of a Bitmask
-** corresponds VDBE cursor number B. The A-th bit of a bitmask is 1<3, 5->1, 8->2, 29->0,
-** 57->5, 73->4. Or one of 719 other combinations might be used. It
-** does not really matter. What is important is that sparse cursor
-** numbers all get mapped into bit numbers that begin with 0 and contain
-** no gaps.
- */
-type TWhereMaskSet1 = struct {
- FbVarSelect int32
- Fn int32
- Fix [64]int32
-}
-
-type WhereMaskSet1 = TWhereMaskSet1
-
-/*
-** This object is a convenience wrapper holding all information needed
-** to construct WhereLoop objects for a particular query.
- */
-type TWhereLoopBuilder1 = struct {
- FpWInfo uintptr
- FpWC uintptr
- FpNew uintptr
- FpOrSet uintptr
- FpRec uintptr
- FnRecValid int32
- FbldFlags1 uint8
- FbldFlags2 uint8
- FiPlanLimit uint32
-}
-
-type WhereLoopBuilder1 = TWhereLoopBuilder1
-
-/* Allowed values for WhereLoopBuider.bldFlags */
-
-/* The WhereLoopBuilder.iPlanLimit is used to limit the number of
-** index+constraint combinations the query planner will consider for a
-** particular query. If this parameter is unlimited, then certain
-** pathological queries can spend excess time in the sqlite3WhereBegin()
-** routine. The limit is high enough that is should not impact real-world
-** queries.
-**
-** SQLITE_QUERY_PLANNER_LIMIT is the baseline limit. The limit is
-** increased by SQLITE_QUERY_PLANNER_LIMIT_INCR before each term of the FROM
-** clause is processed, so that every table in a join is guaranteed to be
-** able to propose a some index+constraint combinations even if the initial
-** baseline limit was exhausted by prior tables of the join.
- */
-
-/*
-** The WHERE clause processing routine has two halves. The
-** first part does the start of the WHERE loop and the second
-** half does the tail of the WHERE loop. An instance of
-** this structure is returned by the first half and passed
-** into the second half to give some continuity.
-**
-** An instance of this object holds the complete state of the query
-** planner.
- */
-type TWhereInfo1 = struct {
- FpParse uintptr
- FpTabList uintptr
- FpOrderBy uintptr
- FpResultSet uintptr
- FpSelect uintptr
- FaiCurOnePass [2]int32
- FiContinue int32
- FiBreak int32
- FsavedNQueryLoop int32
- FwctrlFlags Tu16
- FiLimit TLogEst
- FnLevel Tu8
- FnOBSat Ti8
- FeOnePass Tu8
- FeDistinct Tu8
- F__ccgo68 uint8
- FnRowOut TLogEst
- FiTop int32
- FiEndWhere int32
- FpLoops uintptr
- FpMemToFree uintptr
- FrevMask TBitmask
- FsWC TWhereClause
- FsMaskSet TWhereMaskSet
-}
-
-type WhereInfo1 = TWhereInfo1
-
/*
** Bitmasks for the operators on WhereTerm objects. These are all
** operators that are of interest to the query planner. An
@@ -139848,10 +133485,10 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
v1 = pParse
}
if libc.Int32FromUint8((*TParse)(unsafe.Pointer(v1)).Fexplain) == int32(2) || libc.Bool(0 != 0) {
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_MULTI_OR) == uint32(0) && libc.Int32FromUint16(wctrlFlags)&int32(WHERE_OR_SUBCLAUSE) == 0 {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_MULTI_OR) == uint32(0) && libc.Int32FromUint16(wctrlFlags)&int32(WHERE_OR_SUBCLAUSE) == 0 {
v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe
addr = _sqlite3VdbeCurrentAddr(tls, v)
- ret = _sqlite3VdbeAddOp3(tls, v, int32(OP_Explain), addr, (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, int32((*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FrRun))
+ ret = _sqlite3VdbeAddOp3(tls, v, int32(OP_Explain), addr, (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, int32((*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FrRun))
_sqlite3WhereAddExplainText(tls, pParse, addr, pTabList, pLevel, wctrlFlags)
}
}
@@ -140474,7 +134111,7 @@ func _codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uint
** not a transitive constraint. For an example of where that does not
** work, see https://sqlite.org/forum/forumpost/eb8613976a (2021-05-04)
*/
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_TRANSCONS) == uint32(0) || libc.Int32FromUint16((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_EQUIV) == 0 {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_TRANSCONS) == uint32(0) || libc.Int32FromUint16((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_EQUIV) == 0 {
_disableTerm(tls, pLevel, pTerm)
}
return iReg
@@ -140824,7 +134461,7 @@ func _filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32
if (*TWhereLevel)(unsafe.Pointer(pLevel)).FregFilter == 0 {
continue
}
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FnSkip != 0 {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FnSkip != 0 {
continue
}
/* ,--- Because sqlite3ConstructBloomFilter() has will not have set
@@ -142370,7 +136007,7 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
break
}
pRight = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiFrom)*80
- mAll |= (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FpWLoop)).FmaskSelf
+ mAll |= (*TWhereLoop)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FpWLoop)).FmaskSelf
if int32(*(*uint32)(unsafe.Pointer(pRight + 24 + 4))&0x40>>6) != 0 {
pSubq = *(*uintptr)(unsafe.Pointer(pRight + 72))
_sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, (*TSubquery)(unsafe.Pointer(pSubq)).FregResult, (*TSubquery)(unsafe.Pointer(pSubq)).FregResult+(*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSubquery)(unsafe.Pointer(pSubq)).FpSelect)).FpEList)).FnExpr-int32(1))
@@ -144509,16 +138146,6 @@ type THiddenIndexInfo = struct {
type HiddenIndexInfo = THiddenIndexInfo
-type THiddenIndexInfo1 = struct {
- FpWC uintptr
- FpParse uintptr
- FeDistinct int32
- FmIn Tu32
- FmHandleIn Tu32
-}
-
-type HiddenIndexInfo1 = THiddenIndexInfo1
-
// C documentation
//
// /*
@@ -144631,7 +138258,7 @@ func _sqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) {
break
}
pInner = pWInfo + 856 + uintptr(i)*104
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pInner)).FpWLoop)).FwsFlags&uint32(WHERE_COLUMN_IN) != uint32(0) {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pInner)).FpWLoop)).FwsFlags&uint32(WHERE_COLUMN_IN) != uint32(0) {
_sqlite3VdbeGoto(tls, v, (*TWhereLevel)(unsafe.Pointer(pInner)).FaddrNxt)
return
}
@@ -146149,10 +139776,10 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB
i++
}
}
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FpWC = pWC
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FpParse = pParse
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FeDistinct = eDistinct
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FmIn = uint32(0)
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FpWC = pWC
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FpParse = pParse
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FeDistinct = eDistinct
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FmIn = uint32(0)
p = pWC
v10 = libc.Int32FromInt32(0)
j = v10
@@ -148433,15 +142060,6 @@ type TCoveringIndexCheck = struct {
type CoveringIndexCheck = TCoveringIndexCheck
-type TCoveringIndexCheck1 = struct {
- FpIdx uintptr
- FiTabCur int32
- FbExpr Tu8
- FbUnidx Tu8
-}
-
-type CoveringIndexCheck1 = TCoveringIndexCheck1
-
// C documentation
//
// /*
@@ -148473,7 +142091,7 @@ func _whereIsCoveringIndexWalkCallback(tls *libc.TLS, pWalk uintptr, pExpr uintp
if (*TExpr)(unsafe.Pointer(pExpr)).FiTable != (*TCoveringIndexCheck)(unsafe.Pointer(pCk)).FiTabCur {
return WRC_Continue
}
- pIdx = (*TCoveringIndexCheck1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 40)))).FpIdx
+ pIdx = (*TCoveringIndexCheck)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 40)))).FpIdx
aiColumn = (*TIndex)(unsafe.Pointer(pIdx)).FaiColumn
nColumn = (*TIndex)(unsafe.Pointer(pIdx)).FnColumn
i = 0
@@ -148492,7 +142110,7 @@ func _whereIsCoveringIndexWalkCallback(tls *libc.TLS, pWalk uintptr, pExpr uintp
(*TCoveringIndexCheck)(unsafe.Pointer(pCk)).FbUnidx = uint8(1)
return int32(WRC_Abort)
} else {
- if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x800>>11)) != 0 && _exprIsCoveredByIndex(tls, pExpr, pIdx, (*TCoveringIndexCheck1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 40)))).FiTabCur) != 0 {
+ if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x800>>11)) != 0 && _exprIsCoveredByIndex(tls, pExpr, pIdx, (*TCoveringIndexCheck)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 40)))).FiTabCur) != 0 {
(*TCoveringIndexCheck)(unsafe.Pointer(pCk)).FbExpr = uint8(1)
return int32(WRC_Prune)
}
@@ -148529,7 +142147,7 @@ func _whereIsCoveringIndex(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iTabCur
bp := tls.Alloc(64)
defer tls.Free(64)
var i, rc int32
- var _ /* ck at bp+0 */ TCoveringIndexCheck1
+ var _ /* ck at bp+0 */ TCoveringIndexCheck
var _ /* w at bp+16 */ TWalker
_, _ = i, rc
if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect == uintptr(0) {
@@ -148558,19 +142176,19 @@ func _whereIsCoveringIndex(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iTabCur
return uint32(0)
}
}
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FpIdx = pIdx
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FiTabCur = iTabCur
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbExpr = uint8(0)
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbUnidx = uint8(0)
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FpIdx = pIdx
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FiTabCur = iTabCur
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbExpr = uint8(0)
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbUnidx = uint8(0)
libc.X__builtin___memset_chk(tls, bp+16, 0, uint64(48), ^t__predefined_size_t(0))
(*(*TWalker)(unsafe.Pointer(bp + 16))).FxExprCallback = __ccgo_fp(_whereIsCoveringIndexWalkCallback)
(*(*TWalker)(unsafe.Pointer(bp + 16))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkNoop)
*(*uintptr)(unsafe.Pointer(bp + 16 + 40)) = bp
_sqlite3WalkSelect(tls, bp+16, (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)
- if (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbUnidx != 0 {
+ if (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbUnidx != 0 {
rc = 0
} else {
- if (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbExpr != 0 {
+ if (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbExpr != 0 {
rc = int32(WHERE_EXPRIDX)
} else {
rc = int32(WHERE_IDX_ONLY)
@@ -148872,6 +142490,14 @@ func _whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask) (r in
FpIndex uintptr
FpOrderBy uintptr
})(unsafe.Pointer(pNew + 24))).FnTop = uint16(0)
+ (*(*struct {
+ FnEq Tu16
+ FnBtm Tu16
+ FnTop Tu16
+ FnDistinctCol Tu16
+ FpIndex uintptr
+ FpOrderBy uintptr
+ })(unsafe.Pointer(pNew + 24))).FnDistinctCol = uint16(0)
(*TWhereLoop)(unsafe.Pointer(pNew)).FnSkip = uint16(0)
(*TWhereLoop)(unsafe.Pointer(pNew)).FnLTerm = uint16(0)
(*TWhereLoop)(unsafe.Pointer(pNew)).FiSortIdx = uint8(0)
@@ -149414,7 +143040,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal
pVal = uintptr(0)
rc = SQLITE_OK
if iCons < 0 || iCons >= (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint {
- rc = _sqlite3MisuseError(tls, int32(168932)) /* EV: R-30545-25046 */
+ rc = _sqlite3MisuseError(tls, int32(168961)) /* EV: R-30545-25046 */
} else {
if *(*uintptr)(unsafe.Pointer(pH + 32 + uintptr(iCons)*8)) == uintptr(0) {
pTerm = _termFromWhereClause(tls, (*THiddenIndexInfo)(unsafe.Pointer(pH)).FpWC, (*(*Tsqlite3_index_constraint)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(iCons)*12))).FiTermOffset)
@@ -150079,17 +143705,6 @@ func _wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr,
*(*TBitmask)(unsafe.Pointer(bp)) = obDone
}
break
- } else {
- if libc.Int32FromUint16(wctrlFlags)&int32(WHERE_DISTINCTBY) != 0 {
- (*(*struct {
- FnEq Tu16
- FnBtm Tu16
- FnTop Tu16
- FnDistinctCol Tu16
- FpIndex uintptr
- FpOrderBy uintptr
- })(unsafe.Pointer(pLoop + 24))).FnDistinctCol = uint16(0)
- }
}
iCur = (*(*TSrcItem)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*TWhereLoop)(unsafe.Pointer(pLoop)).FiTab)*80))).FiCursor
/* Mark off any ORDER BY term X that is a column in the table of
@@ -152064,7 +145679,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere
** that use the OR optimization.
*/
if libc.Int32FromUint16(wctrlFlags)&int32(WHERE_ONEPASS_DESIRED) != 0 {
- wsFlags = libc.Int32FromUint32((*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856))).FpWLoop)).FwsFlags)
+ wsFlags = libc.Int32FromUint32((*TWhereLoop)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856))).FpWLoop)).FwsFlags)
bOnerow = libc.BoolInt32(wsFlags&int32(WHERE_ONEROW) != 0)
if bOnerow != 0 || 0 != libc.Int32FromUint16(wctrlFlags)&int32(WHERE_ONEPASS_MULTIROW) && !(libc.Int32FromUint8((*TTable)(unsafe.Pointer((*(*TSrcItem)(unsafe.Pointer(pTabList + 8))).FpSTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) && (0 == wsFlags&int32(WHERE_MULTI_OR) || libc.Int32FromUint16(wctrlFlags)&int32(WHERE_DUPLICATES_OK) != 0) && (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&libc.Uint32FromInt32(libc.Int32FromInt32(SQLITE_OnePass)) == uint32(0) {
if bOnerow != 0 {
@@ -152077,7 +145692,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere
if libc.Int32FromUint16(wctrlFlags)&int32(WHERE_ONEPASS_MULTIROW) != 0 {
bFordelete = uint8(OPFLAG_FORDELETE)
}
- (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856))).FpWLoop)).FwsFlags = libc.Uint32FromInt32(wsFlags & ^libc.Int32FromInt32(WHERE_IDX_ONLY))
+ (*TWhereLoop)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856))).FpWLoop)).FwsFlags = libc.Uint32FromInt32(wsFlags & ^libc.Int32FromInt32(WHERE_IDX_ONLY))
}
}
}
@@ -152256,7 +145871,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere
goto whereBeginError
}
pLevel = pWInfo + 856 + uintptr(ii)*104
- wsFlags1 = libc.Int32FromUint32((*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags)
+ wsFlags1 = libc.Int32FromUint32((*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags)
pSrc = pTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*80
if int32(*(*uint32)(unsafe.Pointer(pSrc + 24 + 4))&0x20>>5) != 0 {
iOnce = 0
@@ -153591,16 +147206,6 @@ type TWindowRewrite = struct {
type WindowRewrite = TWindowRewrite
-type TWindowRewrite1 = struct {
- FpWin uintptr
- FpSrc uintptr
- FpSub uintptr
- FpTab uintptr
- FpSubSelect uintptr
-}
-
-type WindowRewrite1 = TWindowRewrite1
-
// C documentation
//
// /*
@@ -153619,17 +147224,17 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
** TK_COLUMN expressions that refer to it (the outer SELECT). Do
** not process aggregates or window functions at all, as they belong
** to the scalar sub-select. */
- if (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect != 0 {
+ if (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect != 0 {
if libc.Int32FromUint8((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_COLUMN) {
return WRC_Continue
} else {
- nSrc = (*TSrcList)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSrc)).FnSrc
+ nSrc = (*TSrcList)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSrc)).FnSrc
i = 0
for {
if !(i < nSrc) {
break
}
- if (*TExpr)(unsafe.Pointer(pExpr)).FiTable == (*(*TSrcItem)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*80))).FiCursor {
+ if (*TExpr)(unsafe.Pointer(pExpr)).FiTable == (*(*TSrcItem)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*80))).FiCursor {
break
}
goto _1
@@ -153647,7 +147252,7 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
if !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&libc.Uint32FromInt32(libc.Int32FromInt32(EP_WinFunc)) != libc.Uint32FromInt32(0)) {
break
} else {
- pWin = (*TWindowRewrite1)(unsafe.Pointer(p)).FpWin
+ pWin = (*TWindowRewrite)(unsafe.Pointer(p)).FpWin
for {
if !(pWin != 0) {
break
@@ -153671,13 +147276,13 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 {
return int32(WRC_Abort)
}
- if (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub != 0 {
+ if (*TWindowRewrite)(unsafe.Pointer(p)).FpSub != 0 {
i1 = 0
for {
- if !(i1 < (*TExprList)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSub)).FnExpr) {
+ if !(i1 < (*TExprList)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSub)).FnExpr) {
break
}
- if 0 == _sqlite3ExprCompare(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSub + 8 + uintptr(i1)*32))).FpExpr, pExpr, -int32(1)) {
+ if 0 == _sqlite3ExprCompare(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSub + 8 + uintptr(i1)*32))).FpExpr, pExpr, -int32(1)) {
iCol = i1
break
}
@@ -153692,9 +147297,9 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
if pDup != 0 && libc.Int32FromUint8((*TExpr)(unsafe.Pointer(pDup)).Fop) == int32(TK_AGG_FUNCTION) {
(*TExpr)(unsafe.Pointer(pDup)).Fop = uint8(TK_FUNCTION)
}
- (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub = _sqlite3ExprListAppend(tls, pParse, (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub, pDup)
+ (*TWindowRewrite)(unsafe.Pointer(p)).FpSub = _sqlite3ExprListAppend(tls, pParse, (*TWindowRewrite)(unsafe.Pointer(p)).FpSub, pDup)
}
- if (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub != 0 {
+ if (*TWindowRewrite)(unsafe.Pointer(p)).FpSub != 0 {
f = libc.Int32FromUint32((*TExpr)(unsafe.Pointer(pExpr)).Fflags & uint32(EP_Collate))
*(*Tu32)(unsafe.Pointer(pExpr + 4)) |= libc.Uint32FromInt32(libc.Int32FromInt32(EP_Static))
_sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr)
@@ -153702,13 +147307,13 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
libc.X__builtin___memset_chk(tls, pExpr, 0, uint64(72), ^t__predefined_size_t(0))
(*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_COLUMN)
if iCol < 0 {
- v4 = (*TExprList)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSub)).FnExpr - int32(1)
+ v4 = (*TExprList)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSub)).FnExpr - int32(1)
} else {
v4 = iCol
}
(*TExpr)(unsafe.Pointer(pExpr)).FiColumn = int16(v4)
- (*TExpr)(unsafe.Pointer(pExpr)).FiTable = (*TWindow)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpWin)).FiEphCsr
- *(*uintptr)(unsafe.Pointer(pExpr + 64)) = (*TWindowRewrite1)(unsafe.Pointer(p)).FpTab
+ (*TExpr)(unsafe.Pointer(pExpr)).FiTable = (*TWindow)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpWin)).FiEphCsr
+ *(*uintptr)(unsafe.Pointer(pExpr + 64)) = (*TWindowRewrite)(unsafe.Pointer(p)).FpTab
(*TExpr)(unsafe.Pointer(pExpr)).Fflags = libc.Uint32FromInt32(f)
}
if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 {
@@ -153724,13 +147329,13 @@ func _selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintpt
var p, pSave uintptr
_, _ = p, pSave
p = *(*uintptr)(unsafe.Pointer(pWalker + 40))
- pSave = (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect
+ pSave = (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect
if pSave == pSelect {
return WRC_Continue
} else {
- (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect = pSelect
+ (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect = pSelect
_sqlite3WalkSelect(tls, pWalker, pSelect)
- (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect = pSave
+ (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect = pSave
}
return int32(WRC_Prune)
}
@@ -154507,87 +148112,6 @@ type TWindowCsrAndReg = struct {
type WindowCsrAndReg = TWindowCsrAndReg
-/*
-** See comments above struct WindowCodeArg.
- */
-type TWindowCsrAndReg1 = struct {
- Fcsr int32
- Freg int32
-}
-
-type WindowCsrAndReg1 = TWindowCsrAndReg1
-
-/*
-** A single instance of this structure is allocated on the stack by
-** sqlite3WindowCodeStep() and a pointer to it passed to the various helper
-** routines. This is to reduce the number of arguments required by each
-** helper function.
-**
-** regArg:
-** Each window function requires an accumulator register (just as an
-** ordinary aggregate function does). This variable is set to the first
-** in an array of accumulator registers - one for each window function
-** in the WindowCodeArg.pMWin list.
-**
-** eDelete:
-** The window functions implementation sometimes caches the input rows
-** that it processes in a temporary table. If it is not zero, this
-** variable indicates when rows may be removed from the temp table (in
-** order to reduce memory requirements - it would always be safe just
-** to leave them there). Possible values for eDelete are:
-**
-** WINDOW_RETURN_ROW:
-** An input row can be discarded after it is returned to the caller.
-**
-** WINDOW_AGGINVERSE:
-** An input row can be discarded after the window functions xInverse()
-** callbacks have been invoked in it.
-**
-** WINDOW_AGGSTEP:
-** An input row can be discarded after the window functions xStep()
-** callbacks have been invoked in it.
-**
-** start,current,end
-** Consider a window-frame similar to the following:
-**
-** (ORDER BY a, b GROUPS BETWEEN 2 PRECEDING AND 2 FOLLOWING)
-**
-** The windows functions implementation caches the input rows in a temp
-** table, sorted by "a, b" (it actually populates the cache lazily, and
-** aggressively removes rows once they are no longer required, but that's
-** a mere detail). It keeps three cursors open on the temp table. One
-** (current) that points to the next row to return to the query engine
-** once its window function values have been calculated. Another (end)
-** points to the next row to call the xStep() method of each window function
-** on (so that it is 2 groups ahead of current). And a third (start) that
-** points to the next row to call the xInverse() method of each window
-** function on.
-**
-** Each cursor (start, current and end) consists of a VDBE cursor
-** (WindowCsrAndReg.csr) and an array of registers (starting at
-** WindowCodeArg.reg) that always contains a copy of the peer values
-** read from the corresponding cursor.
-**
-** Depending on the window-frame in question, all three cursors may not
-** be required. In this case both WindowCodeArg.csr and reg are set to
-** 0.
- */
-type TWindowCodeArg1 = struct {
- FpParse uintptr
- FpMWin uintptr
- FpVdbe uintptr
- FaddrGosub int32
- FregGosub int32
- FregArg int32
- FeDelete int32
- FregRowid int32
- Fstart TWindowCsrAndReg
- Fcurrent TWindowCsrAndReg
- Fend TWindowCsrAndReg
-}
-
-type WindowCodeArg1 = TWindowCodeArg1
-
// C documentation
//
// /*
@@ -162836,14 +156360,6 @@ var _yyFallback = [187]uint16{
** actually contains the reduce action for the second half of the
** SHIFTREDUCE.
*/
-type TyyStackEntry1 = struct {
- Fstateno uint16
- Fmajor uint16
- Fminor TYYMINORTYPE
-}
-
-type yyStackEntry1 = TyyStackEntry1
-
type TyyStackEntry = struct {
Fstateno uint16
Fmajor uint16
@@ -162854,16 +156370,6 @@ type yyStackEntry = TyyStackEntry
/* The state of the parser is completely contained in an instance of
** the following structure */
-type TyyParser1 = struct {
- Fyytos uintptr
- FpParse uintptr
- FyystackEnd uintptr
- Fyystack uintptr
- Fyystk0 [100]TyyStackEntry
-}
-
-type yyParser1 = TyyParser1
-
type TyyParser = struct {
Fyytos uintptr
FpParse uintptr
@@ -169837,7 +163343,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) (r int32) {
*/
if libc.AtomicLoadPInt32(uintptr(unsafe.Pointer(&_sqlite3Config))+340) != 0 {
if op < 0 || op > int32(63) || libc.Uint64FromInt32(1)< 0 {
- (*Tsqlite3)(unsafe.Pointer(db)).FxProgress = xProgress
+ (*Tsqlite3)(unsafe.Pointer(db)).FxProgress = __ccgo_fp_xProgress
(*Tsqlite3)(unsafe.Pointer(db)).FnProgressOps = libc.Uint32FromInt32(nOps)
(*Tsqlite3)(unsafe.Pointer(db)).FpProgressArg = pArg
} else {
@@ -171207,12 +164717,12 @@ func Xsqlite3_is_interrupted(tls *libc.TLS, db uintptr) (r int32) {
// ** that if a malloc() fails in sqlite3_create_function(), an error code
// ** is returned and the mallocFailed flag cleared.
// */
-func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, enc int32, pUserData uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr, xValue uintptr, xInverse uintptr, pDestructor uintptr) (r int32) {
+func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, enc int32, pUserData uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xValue uintptr, __ccgo_fp_xInverse uintptr, pDestructor uintptr) (r int32) {
var extraFlags, rc int32
var p, v1 uintptr
_, _, _, _ = extraFlags, p, rc, v1
- if zFunctionName == uintptr(0) || xSFunc != uintptr(0) && xFinal != uintptr(0) || libc.BoolInt32(xFinal == uintptr(0)) != libc.BoolInt32(xStep == uintptr(0)) || libc.BoolInt32(xValue == uintptr(0)) != libc.BoolInt32(xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) {
- return _sqlite3MisuseError(tls, int32(184559))
+ if zFunctionName == uintptr(0) || __ccgo_fp_xSFunc != uintptr(0) && __ccgo_fp_xFinal != uintptr(0) || libc.BoolInt32(__ccgo_fp_xFinal == uintptr(0)) != libc.BoolInt32(__ccgo_fp_xStep == uintptr(0)) || libc.BoolInt32(__ccgo_fp_xValue == uintptr(0)) != libc.BoolInt32(__ccgo_fp_xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) {
+ return _sqlite3MisuseError(tls, int32(184586))
}
extraFlags = enc & (libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_INNOCUOUS) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_SELFORDER1))
enc &= libc.Int32FromInt32(SQLITE_FUNC_ENCMASK) | libc.Int32FromInt32(SQLITE_ANY)
@@ -171230,9 +164740,9 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
case int32(SQLITE_UTF16):
enc = int32(SQLITE_UTF16LE)
case int32(SQLITE_ANY):
- rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF8)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, xSFunc, xStep, xFinal, xValue, xInverse, pDestructor)
+ rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF8)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, pDestructor)
if rc == SQLITE_OK {
- rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF16LE)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, xSFunc, xStep, xFinal, xValue, xInverse, pDestructor)
+ rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF16LE)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, pDestructor)
}
if rc != SQLITE_OK {
return rc
@@ -171261,7 +164771,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
_sqlite3ExpirePreparedStatements(tls, db, 0)
}
} else {
- if xSFunc == uintptr(0) && xFinal == uintptr(0) {
+ if __ccgo_fp_xSFunc == uintptr(0) && __ccgo_fp_xFinal == uintptr(0) {
/* Trying to delete a function that does not exist. This is a no-op.
** https://sqlite.org/forum/forumpost/726219164b */
return SQLITE_OK
@@ -171279,15 +164789,15 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
}
*(*uintptr)(unsafe.Pointer(p + 64)) = pDestructor
(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags = (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK) | libc.Uint32FromInt32(extraFlags)
- if xSFunc != 0 {
- v1 = xSFunc
+ if __ccgo_fp_xSFunc != 0 {
+ v1 = __ccgo_fp_xSFunc
} else {
- v1 = xStep
+ v1 = __ccgo_fp_xStep
}
(*TFuncDef)(unsafe.Pointer(p)).FxSFunc = v1
- (*TFuncDef)(unsafe.Pointer(p)).FxFinalize = xFinal
- (*TFuncDef)(unsafe.Pointer(p)).FxValue = xValue
- (*TFuncDef)(unsafe.Pointer(p)).FxInverse = xInverse
+ (*TFuncDef)(unsafe.Pointer(p)).FxFinalize = __ccgo_fp_xFinal
+ (*TFuncDef)(unsafe.Pointer(p)).FxValue = __ccgo_fp_xValue
+ (*TFuncDef)(unsafe.Pointer(p)).FxInverse = __ccgo_fp_xInverse
(*TFuncDef)(unsafe.Pointer(p)).FpUserData = pUserData
(*TFuncDef)(unsafe.Pointer(p)).FnArg = libc.Int16FromUint16(libc.Uint16FromInt32(nArg))
return SQLITE_OK
@@ -171302,27 +164812,27 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
// ** sqlite3_create_function_v2()
// ** sqlite3_create_window_function()
// */
-func _createFunctionApi(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr, xValue uintptr, xInverse uintptr, xDestroy uintptr) (r int32) {
+func _createFunctionApi(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xValue uintptr, __ccgo_fp_xInverse uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
var pArg uintptr
var rc int32
_, _ = pArg, rc
rc = int32(SQLITE_ERROR)
pArg = uintptr(0)
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- if xDestroy != 0 {
+ if __ccgo_fp_xDestroy != 0 {
pArg = _sqlite3Malloc(tls, uint64(24))
if !(pArg != 0) {
_sqlite3OomFault(tls, db)
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestroy})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestroy})))(tls, p)
goto out
}
(*TFuncDestructor)(unsafe.Pointer(pArg)).FnRef = 0
- (*TFuncDestructor)(unsafe.Pointer(pArg)).FxDestroy = xDestroy
+ (*TFuncDestructor)(unsafe.Pointer(pArg)).FxDestroy = __ccgo_fp_xDestroy
(*TFuncDestructor)(unsafe.Pointer(pArg)).FpUserData = p
}
- rc = _sqlite3CreateFunc(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, xValue, xInverse, pArg)
+ rc = _sqlite3CreateFunc(tls, db, zFunc, nArg, enc, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, pArg)
if pArg != 0 && (*TFuncDestructor)(unsafe.Pointer(pArg)).FnRef == 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestroy})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestroy})))(tls, p)
Xsqlite3_free(tls, pArg)
}
goto out
@@ -171333,30 +164843,60 @@ out:
return rc
}
+type t__ccgo_fp__Xsqlite3_create_function_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_6 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_7 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Create new user functions.
// */
-func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) (r int32) {
- return _createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), uintptr(0))
+func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr) (r int32) {
+ return _createFunctionApi(tls, db, zFunc, nArg, enc, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, uintptr(0), uintptr(0), uintptr(0))
}
-func Xsqlite3_create_function_v2(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr, xDestroy uintptr) (r int32) {
- return _createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), xDestroy)
+type t__ccgo_fp__Xsqlite3_create_function_v2_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_v2_6 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_v2_7 = func(*libc.TLS, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_v2_8 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_create_function_v2(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
+ return _createFunctionApi(tls, db, zFunc, nArg, enc, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, uintptr(0), uintptr(0), __ccgo_fp_xDestroy)
}
-func Xsqlite3_create_window_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xStep uintptr, xFinal uintptr, xValue uintptr, xInverse uintptr, xDestroy uintptr) (r int32) {
- return _createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), xStep, xFinal, xValue, xInverse, xDestroy)
+type t__ccgo_fp__Xsqlite3_create_window_function_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_6 = func(*libc.TLS, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_7 = func(*libc.TLS, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_8 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_9 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_create_window_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xValue uintptr, __ccgo_fp_xInverse uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
+ return _createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, __ccgo_fp_xDestroy)
}
-func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) (r int32) {
+type t__ccgo_fp__Xsqlite3_create_function16_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function16_6 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function16_7 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr) (r int32) {
var rc int32
var zFunc8 uintptr
_, _ = rc, zFunc8
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
zFunc8 = _sqlite3Utf16to8(tls, db, zFunctionName, -int32(1), uint8(SQLITE_UTF16LE))
- rc = _sqlite3CreateFunc(tls, db, zFunc8, nArg, eTextRep, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), uintptr(0))
+ rc = _sqlite3CreateFunc(tls, db, zFunc8, nArg, eTextRep, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, uintptr(0), uintptr(0), uintptr(0))
_sqlite3DbFree(tls, db, zFunc8)
rc = _sqlite3ApiExit(tls, db, rc)
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -171419,6 +164959,8 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i
return Xsqlite3_create_function_v2(tls, db, zName, nArg, int32(SQLITE_UTF8), zCopy, __ccgo_fp(_sqlite3InvalidFunction), uintptr(0), uintptr(0), __ccgo_fp(Xsqlite3_free))
}
+type t__ccgo_fp__Xsqlite3_trace_1 = func(*libc.TLS, uintptr, uintptr)
+
// C documentation
//
// /*
@@ -171429,43 +164971,47 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i
// ** trace is a pointer to a function that is invoked at the start of each
// ** SQL statement.
// */
-func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_trace(tls *libc.TLS, db uintptr, __ccgo_fp_xTrace uintptr, pArg uintptr) (r uintptr) {
var pOld uintptr
var v1 int32
_, _ = pOld, v1
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pOld = (*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg
- if xTrace != 0 {
+ if __ccgo_fp_xTrace != 0 {
v1 = int32(SQLITE_TRACE_LEGACY)
} else {
v1 = 0
}
(*Tsqlite3)(unsafe.Pointer(db)).FmTrace = libc.Uint8FromInt32(v1)
- *(*uintptr)(unsafe.Pointer(db + 248)) = xTrace
+ *(*uintptr)(unsafe.Pointer(db + 248)) = __ccgo_fp_xTrace
(*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pOld
}
+type t__ccgo_fp__Xsqlite3_trace_v2_2 = func(*libc.TLS, uint32, uintptr, uintptr, uintptr) int32
+
// C documentation
//
// /* Register a trace callback using the version-2 interface.
// */
-func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) (r int32) {
+func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, __ccgo_fp_xTrace uintptr, pArg uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if mTrace == uint32(0) {
- xTrace = uintptr(0)
+ __ccgo_fp_xTrace = uintptr(0)
}
- if xTrace == uintptr(0) {
+ if __ccgo_fp_xTrace == uintptr(0) {
mTrace = uint32(0)
}
(*Tsqlite3)(unsafe.Pointer(db)).FmTrace = uint8(mTrace)
- *(*uintptr)(unsafe.Pointer(db + 248)) = xTrace
+ *(*uintptr)(unsafe.Pointer(db + 248)) = __ccgo_fp_xTrace
(*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
+type t__ccgo_fp__Xsqlite3_profile_1 = func(*libc.TLS, uintptr, uintptr, uint64)
+
// C documentation
//
// /*
@@ -171476,12 +165022,12 @@ func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr,
// ** profile is a pointer to a function that is invoked at the conclusion of
// ** each SQL statement that is run.
// */
-func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_profile(tls *libc.TLS, db uintptr, __ccgo_fp_xProfile uintptr, pArg uintptr) (r uintptr) {
var pOld, p1, p2 uintptr
_, _, _ = pOld, p1, p2
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pOld = (*Tsqlite3)(unsafe.Pointer(db)).FpProfileArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxProfile = xProfile
+ (*Tsqlite3)(unsafe.Pointer(db)).FxProfile = __ccgo_fp_xProfile
(*Tsqlite3)(unsafe.Pointer(db)).FpProfileArg = pArg
p1 = db + 110
*(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) & libc.Int32FromInt32(SQLITE_TRACE_NONLEGACY_MASK))
@@ -171493,6 +165039,8 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr)
return pOld
}
+type t__ccgo_fp__Xsqlite3_commit_hook_1 = func(*libc.TLS, uintptr) int32
+
// C documentation
//
// /*
@@ -171500,82 +165048,92 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr)
// ** If the invoked function returns non-zero, then the commit becomes a
// ** rollback.
// */
-func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pOld uintptr
_ = pOld
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pOld = (*Tsqlite3)(unsafe.Pointer(db)).FpCommitArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxCommitCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxCommitCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpCommitArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pOld
}
+type t__ccgo_fp__Xsqlite3_update_hook_1 = func(*libc.TLS, uintptr, int32, uintptr, uintptr, int64)
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a row is updated,
// ** inserted or deleted using this database connection.
// */
-func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpUpdateArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxUpdateCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxUpdateCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpUpdateArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
}
+type t__ccgo_fp__Xsqlite3_rollback_hook_1 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a transaction is rolled
// ** back by this database connection.
// */
-func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpRollbackArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxRollbackCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxRollbackCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpRollbackArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
}
+type t__ccgo_fp__Xsqlite3_preupdate_hook_1 = func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, int64, int64)
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a row is updated,
// ** inserted or deleted using this database connection.
// */
-func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdateArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdateArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
}
+type t__ccgo_fp__Xsqlite3_autovacuum_pages_1 = func(*libc.TLS, uintptr, uintptr, uint32, uint32, uint32) uint32
+
+type t__ccgo_fp__Xsqlite3_autovacuum_pages_3 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a function to be invoked prior to each autovacuum that
// ** determines the number of pages to vacuum.
// */
-func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr, xDestructor uintptr) (r int32) {
+func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr != 0 {
(*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg)
}
- (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacPages = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacPages = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg = pArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr = xDestructor
+ (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr = __ccgo_fp_xDestructor
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
@@ -171619,18 +165177,20 @@ func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) (r int
return SQLITE_OK
}
+type t__ccgo_fp__Xsqlite3_wal_hook_1 = func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a transaction is written
// ** into the write-ahead-log by this database connection.
// */
-func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpWalArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpWalArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
@@ -171656,7 +165216,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
if eMode < SQLITE_CHECKPOINT_PASSIVE || eMode > int32(SQLITE_CHECKPOINT_TRUNCATE) {
/* EVIDENCE-OF: R-03996-12088 The M parameter must be a valid checkpoint
** mode: */
- return _sqlite3MisuseError(tls, int32(185175))
+ return _sqlite3MisuseError(tls, int32(185202))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if zDb != 0 && *(*int8)(unsafe.Pointer(zDb)) != 0 {
@@ -171788,7 +165348,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) (r uintptr) {
return _sqlite3ErrStr(tls, int32(SQLITE_NOMEM))
}
if !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) {
- return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(185311)))
+ return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(185338)))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -171920,7 +165480,7 @@ var _misuse = [34]Tu16{
// */
func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) {
if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) {
- return _sqlite3MisuseError(tls, int32(185390))
+ return _sqlite3MisuseError(tls, int32(185417))
}
if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
return int32(SQLITE_NOMEM)
@@ -171930,7 +165490,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) {
func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) (r int32) {
if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) {
- return _sqlite3MisuseError(tls, int32(185399))
+ return _sqlite3MisuseError(tls, int32(185426))
}
if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
return int32(SQLITE_NOMEM)
@@ -171966,7 +165526,7 @@ func Xsqlite3_errstr(tls *libc.TLS, rc int32) (r uintptr) {
// ** Create a new collating function for database "db". The name is zName
// ** and the encoding is enc.
// */
-func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx uintptr, xCompare uintptr, xDel uintptr) (r int32) {
+func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx uintptr, __ccgo_fp_xCompare uintptr, __ccgo_fp_xDel uintptr) (r int32) {
var aColl, p, pColl uintptr
var enc2, j int32
_, _, _, _, _ = aColl, enc2, j, p, pColl
@@ -171979,7 +165539,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui
enc2 = int32(SQLITE_UTF16LE)
}
if enc2 < int32(SQLITE_UTF8) || enc2 > int32(SQLITE_UTF16BE) {
- return _sqlite3MisuseError(tls, int32(185447))
+ return _sqlite3MisuseError(tls, int32(185474))
}
/* Check if this call is removing or replacing an existing collation
** sequence. If so, and there are active VMs, return busy. If there
@@ -172023,9 +165583,9 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui
if pColl == uintptr(0) {
return int32(SQLITE_NOMEM)
}
- (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp = xCompare
+ (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp = __ccgo_fp_xCompare
(*TCollSeq)(unsafe.Pointer(pColl)).FpUser = pCtx
- (*TCollSeq)(unsafe.Pointer(pColl)).FxDel = xDel
+ (*TCollSeq)(unsafe.Pointer(pColl)).FxDel = __ccgo_fp_xDel
(*TCollSeq)(unsafe.Pointer(pColl)).Fenc = libc.Uint8FromInt32(enc2 | libc.Int32FromUint8(enc)&libc.Int32FromInt32(SQLITE_UTF16_ALIGNED))
_sqlite3Error(tls, db, SQLITE_OK)
return SQLITE_OK
@@ -172527,7 +166087,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32
/* READWRITE */
/* READWRITE | CREATE */
if int32(1)<<(*(*uint32)(unsafe.Pointer(bp))&uint32(7))&int32(0x46) == 0 {
- rc = _sqlite3MisuseError(tls, int32(186122)) /* IMP: R-18321-05872 */
+ rc = _sqlite3MisuseError(tls, int32(186149)) /* IMP: R-18321-05872 */
} else {
if zFilename == uintptr(0) {
zFilename = __ccgo_ts + 4629
@@ -172681,36 +166241,44 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) (r int32) {
return rc & int32(0xff)
}
+type t__ccgo_fp__Xsqlite3_create_collation_4 = func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
// ** Register a new collation sequence with the database handle db.
// */
-func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) (r int32) {
- return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, xCompare, uintptr(0))
+func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, __ccgo_fp_xCompare uintptr) (r int32) {
+ return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, __ccgo_fp_xCompare, uintptr(0))
}
+type t__ccgo_fp__Xsqlite3_create_collation_v2_4 = func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3_create_collation_v2_5 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a new collation sequence with the database handle db.
// */
-func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr, xDel uintptr) (r int32) {
+func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, __ccgo_fp_xCompare uintptr, __ccgo_fp_xDel uintptr) (r int32) {
var rc int32
_ = rc
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- rc = _createCollation(tls, db, zName, libc.Uint8FromInt32(enc), pCtx, xCompare, xDel)
+ rc = _createCollation(tls, db, zName, libc.Uint8FromInt32(enc), pCtx, __ccgo_fp_xCompare, __ccgo_fp_xDel)
rc = _sqlite3ApiExit(tls, db, rc)
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return rc
}
+type t__ccgo_fp__Xsqlite3_create_collation16_4 = func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
// ** Register a new collation sequence with the database handle db.
// */
-func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) (r int32) {
+func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, __ccgo_fp_xCompare uintptr) (r int32) {
var rc int32
var zName8 uintptr
_, _ = rc, zName8
@@ -172718,7 +166286,7 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
zName8 = _sqlite3Utf16to8(tls, db, zName, -int32(1), uint8(SQLITE_UTF16LE))
if zName8 != 0 {
- rc = _createCollation(tls, db, zName8, libc.Uint8FromInt32(enc), pCtx, xCompare, uintptr(0))
+ rc = _createCollation(tls, db, zName8, libc.Uint8FromInt32(enc), pCtx, __ccgo_fp_xCompare, uintptr(0))
_sqlite3DbFree(tls, db, zName8)
}
rc = _sqlite3ApiExit(tls, db, rc)
@@ -172726,31 +166294,35 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i
return rc
}
+type t__ccgo_fp__Xsqlite3_collation_needed_2 = func(*libc.TLS, uintptr, uintptr, int32, uintptr)
+
// C documentation
//
// /*
// ** Register a collation sequence factory callback with the database handle
// ** db. Replace any previously installed collation sequence factory.
// */
-func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded uintptr) (r int32) {
+func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, __ccgo_fp_xCollNeeded uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded = xCollNeeded
+ (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded = __ccgo_fp_xCollNeeded
(*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = uintptr(0)
(*Tsqlite3)(unsafe.Pointer(db)).FpCollNeededArg = pCollNeededArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
+type t__ccgo_fp__Xsqlite3_collation_needed16_2 = func(*libc.TLS, uintptr, uintptr, int32, uintptr)
+
// C documentation
//
// /*
// ** Register a collation sequence factory callback with the database handle
// ** db. Replace any previously installed collation sequence factory.
// */
-func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded16 uintptr) (r int32) {
+func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, __ccgo_fp_xCollNeeded16 uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
(*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded = uintptr(0)
- (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = xCollNeeded16
+ (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = __ccgo_fp_xCollNeeded16
(*Tsqlite3)(unsafe.Pointer(db)).FpCollNeededArg = pCollNeededArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
@@ -172784,12 +166356,14 @@ func Xsqlite3_get_clientdata(tls *libc.TLS, db uintptr, zName uintptr) (r uintpt
return uintptr(0)
}
+type t__ccgo_fp__Xsqlite3_set_clientdata_3 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Add new client data to a database connection.
// */
-func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uintptr, xDestructor uintptr) (r int32) {
+func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
var n Tsize_t
var p, pp uintptr
_, _, _ = n, p, pp
@@ -172824,8 +166398,8 @@ func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uin
n = libc.Xstrlen(tls, zName)
p = Xsqlite3_malloc64(tls, uint64(uint64(libc.UintptrFromInt32(0)+24)+(n+libc.Uint64FromInt32(1))))
if p == uintptr(0) {
- if xDestructor != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestructor})))(tls, pData)
+ if __ccgo_fp_xDestructor != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestructor})))(tls, pData)
}
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return int32(SQLITE_NOMEM)
@@ -172836,7 +166410,7 @@ func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uin
}
}
(*TDbClientData)(unsafe.Pointer(p)).FpData = pData
- (*TDbClientData)(unsafe.Pointer(p)).FxDestructor = xDestructor
+ (*TDbClientData)(unsafe.Pointer(p)).FxDestructor = __ccgo_fp_xDestructor
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
@@ -174188,6 +167762,8 @@ func _leaveMutex(tls *libc.TLS) {
Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_MAIN)))
}
+type t__ccgo_fp__Xsqlite3_unlock_notify_1 = func(*libc.TLS, uintptr, int32)
+
// C documentation
//
// /*
@@ -174211,7 +167787,7 @@ func _leaveMutex(tls *libc.TLS) {
// ** on the same "db". If xNotify==0 then any prior callbacks are immediately
// ** cancelled.
// */
-func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg uintptr) (r int32) {
+func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, __ccgo_fp_xNotify uintptr, _pArg uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
*(*uintptr)(unsafe.Pointer(bp)) = _pArg
@@ -174221,7 +167797,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui
rc = SQLITE_OK
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
_enterMutex(tls)
- if xNotify == uintptr(0) {
+ if __ccgo_fp_xNotify == uintptr(0) {
_removeFromBlockedList(tls, db)
(*Tsqlite3)(unsafe.Pointer(db)).FpBlockingConnection = uintptr(0)
(*Tsqlite3)(unsafe.Pointer(db)).FpUnlockConnection = uintptr(0)
@@ -174233,7 +167809,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui
** blocking transaction. In either case, invoke the notify callback
** immediately.
*/
- (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{xNotify})))(tls, bp, int32(1))
+ (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xNotify})))(tls, bp, int32(1))
} else {
p = (*Tsqlite3)(unsafe.Pointer(db)).FpBlockingConnection
for {
@@ -174249,7 +167825,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui
rc = int32(SQLITE_LOCKED) /* Deadlock detected. */
} else {
(*Tsqlite3)(unsafe.Pointer(db)).FpUnlockConnection = (*Tsqlite3)(unsafe.Pointer(db)).FpBlockingConnection
- (*Tsqlite3)(unsafe.Pointer(db)).FxUnlockNotify = xNotify
+ (*Tsqlite3)(unsafe.Pointer(db)).FxUnlockNotify = __ccgo_fp_xNotify
(*Tsqlite3)(unsafe.Pointer(db)).FpUnlockArg = *(*uintptr)(unsafe.Pointer(bp))
_removeFromBlockedList(tls, db)
_addToBlockedList(tls, db)
@@ -175465,106 +169041,6 @@ type TJsonParse = struct {
type JsonParse = TJsonParse
-/*
-** Magic number used for the JSON parse cache in sqlite3_get_auxdata()
- */
-
-/*
-** jsonUnescapeOneChar() returns this invalid code point if it encounters
-** a syntax error.
- */
-
-/* A cache mapping JSON text into JSONB blobs.
-**
-** Each cache entry is a JsonParse object with the following restrictions:
-**
-** * The bReadOnly flag must be set
-**
-** * The aBlob[] array must be owned by the JsonParse object. In other
-** words, nBlobAlloc must be non-zero.
-**
-** * eEdit and delta must be zero.
-**
-** * zJson must be an RCStr. In other words bJsonIsRCStr must be true.
- */
-type TJsonCache1 = struct {
- Fdb uintptr
- FnUsed int32
- Fa [4]uintptr
-}
-
-type JsonCache1 = TJsonCache1
-
-/* An instance of this object represents a JSON string
-** under construction. Really, this is a generic string accumulator
-** that can be and is used to create strings other than JSON.
-**
-** If the generated string is longer than will fit into the zSpace[] buffer,
-** then it will be an RCStr string. This aids with caching of large
-** JSON strings.
- */
-type TJsonString1 = struct {
- FpCtx uintptr
- FzBuf uintptr
- FnAlloc Tu64
- FnUsed Tu64
- FbStatic Tu8
- FeErr Tu8
- FzSpace [100]int8
-}
-
-type JsonString1 = TJsonString1
-
-/* Allowed values for JsonString.eErr */
-
-/* The "subtype" set for text JSON values passed through using
-** sqlite3_result_subtype() and sqlite3_value_subtype().
- */
-
-/*
-** Bit values for the flags passed into various SQL function implementations
-** via the sqlite3_user_data() value.
- */
-
-/* A parsed JSON value. Lifecycle:
-**
-** 1. JSON comes in and is parsed into a JSONB value in aBlob. The
-** original text is stored in zJson. This step is skipped if the
-** input is JSONB instead of text JSON.
-**
-** 2. The aBlob[] array is searched using the JSON path notation, if needed.
-**
-** 3. Zero or more changes are made to aBlob[] (via json_remove() or
-** json_replace() or json_patch() or similar).
-**
-** 4. New JSON text is generated from the aBlob[] for output. This step
-** is skipped if the function is one of the jsonb_* functions that
-** returns JSONB instead of text JSON.
- */
-type TJsonParse1 = struct {
- FaBlob uintptr
- FnBlob Tu32
- FnBlobAlloc Tu32
- FzJson uintptr
- Fdb uintptr
- FnJson int32
- FnJPRef Tu32
- FiErr Tu32
- FiDepth Tu16
- FnErr Tu8
- Foom Tu8
- FbJsonIsRCStr Tu8
- FhasNonstd Tu8
- FbReadOnly Tu8
- FeEdit Tu8
- Fdelta int32
- FnIns Tu32
- FiLabel Tu32
- FaIns uintptr
-}
-
-type JsonParse1 = TJsonParse1
-
/**************************************************************************
** Utility routines for dealing with JsonCache objects
**************************************************************************/
@@ -178175,16 +171651,6 @@ type TJsonPretty = struct {
type JsonPretty = TJsonPretty
-type TJsonPretty1 = struct {
- FpParse uintptr
- FpOut uintptr
- FzIndent uintptr
- FszIndent Tu32
- FnIndent Tu32
-}
-
-type JsonPretty1 = TJsonPretty1
-
// C documentation
//
// /* Append indentation to the pretty JSON under construction */
@@ -181011,16 +174477,6 @@ type TJsonParent = struct {
type JsonParent = TJsonParent
-type TJsonParent1 = struct {
- FiHead Tu32
- FiValue Tu32
- FiEnd Tu32
- FnPath Tu32
- FiKey Ti64
-}
-
-type JsonParent1 = TJsonParent1
-
type TJsonEachCursor = struct {
Fbase Tsqlite3_vtab_cursor
FiRowid Tu32
@@ -181039,24 +174495,6 @@ type TJsonEachCursor = struct {
type JsonEachCursor = TJsonEachCursor
-type TJsonEachCursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FiRowid Tu32
- Fi Tu32
- FiEnd Tu32
- FnRoot Tu32
- FeType Tu8
- FbRecursive Tu8
- FnParent Tu32
- FnParentAlloc Tu32
- FaParent uintptr
- Fdb uintptr
- Fpath TJsonString
- FsParse TJsonParse
-}
-
-type JsonEachCursor1 = TJsonEachCursor1
-
type TJsonEachConnection = struct {
Fbase Tsqlite3_vtab
Fdb uintptr
@@ -181064,13 +174502,6 @@ type TJsonEachConnection = struct {
type JsonEachConnection = TJsonEachConnection
-type TJsonEachConnection1 = struct {
- Fbase Tsqlite3_vtab
- Fdb uintptr
-}
-
-type JsonEachConnection1 = TJsonEachConnection1
-
// C documentation
//
// /* Constructor for the json_each virtual table */
@@ -182042,223 +175473,9 @@ type TRtree = struct {
FaHash [97]uintptr
}
-type Rtree = TRtree
-
-type TRtreeCursor = struct {
- Fbase Tsqlite3_vtab_cursor
- FatEOF Tu8
- FbPoint Tu8
- FbAuxValid Tu8
- FiStrategy int32
- FnConstraint int32
- FaConstraint uintptr
- FnPointAlloc int32
- FnPoint int32
- FmxLevel int32
- FaPoint uintptr
- FpReadAux uintptr
- FsPoint TRtreeSearchPoint
- FaNode [5]uintptr
- FanQueue [41]Tu32
-}
-
-type RtreeCursor = TRtreeCursor
-
-type TRtreeNode = struct {
- FpParent uintptr
- FiNode Ti64
- FnRef int32
- FisDirty int32
- FzData uintptr
- FpNext uintptr
-}
-
-type RtreeNode = TRtreeNode
-
-type TRtreeCell = struct {
- FiRowid Ti64
- FaCoord [10]TRtreeCoord
-}
-
-type RtreeCell = TRtreeCell
-
-type TRtreeConstraint = struct {
- FiCoord int32
- Fop int32
- Fu struct {
- FxGeom [0]uintptr
- FxQueryFunc [0]uintptr
- FrValue TRtreeDValue
- }
- FpInfo uintptr
-}
-
-type RtreeConstraint = TRtreeConstraint
-
-type TRtreeMatchArg = struct {
- FiSize Tu32
- Fcb TRtreeGeomCallback
- FnParam int32
- FapSqlParam uintptr
-}
-
-type RtreeMatchArg = TRtreeMatchArg
-
-type TRtreeGeomCallback = struct {
- FxGeom uintptr
- FxQueryFunc uintptr
- FxDestructor uintptr
- FpContext uintptr
-}
-
-type RtreeGeomCallback = TRtreeGeomCallback
-
-type TRtreeCoord = struct {
- Fi [0]int32
- Fu [0]Tu32
- Ff TRtreeValue
-}
-
-type RtreeCoord = TRtreeCoord
-
-type TRtreeSearchPoint = struct {
- FrScore TRtreeDValue
- Fid Tsqlite3_int64
- FiLevel Tu8
- FeWithin Tu8
- FiCell Tu8
-}
-
-type RtreeSearchPoint = TRtreeSearchPoint
-
-/* The rtree may have between 1 and RTREE_MAX_DIMENSIONS dimensions. */
-
-/* Maximum number of auxiliary columns */
-
-/* Size of hash table Rtree.aHash. This hash table is not expected to
-** ever contain very many entries, so a fixed number of buckets is
-** used.
- */
-
-/* The xBestIndex method of this virtual table requires an estimate of
-** the number of rows in the virtual table to calculate the costs of
-** various strategies. If possible, this estimate is loaded from the
-** sqlite_stat1 table (with RTREE_MIN_ROWEST as a hard-coded minimum).
-** Otherwise, if no sqlite_stat1 entry is available, use
-** RTREE_DEFAULT_ROWEST.
- */
-
-/*
-** An rtree virtual-table object.
- */
-type TRtree1 = struct {
- Fbase Tsqlite3_vtab
- Fdb uintptr
- FiNodeSize int32
- FnDim Tu8
- FnDim2 Tu8
- FeCoordType Tu8
- FnBytesPerCell Tu8
- FinWrTrans Tu8
- FnAux Tu8
- FnAuxNotNull Tu8
- FiDepth int32
- FzDb uintptr
- FzName uintptr
- FzNodeName uintptr
- FnBusy Tu32
- FnRowEst Ti64
- FnCursor Tu32
- FnNodeRef Tu32
- FzReadAuxSql uintptr
- FpDeleted uintptr
- FpNodeBlob uintptr
- FpWriteNode uintptr
- FpDeleteNode uintptr
- FpReadRowid uintptr
- FpWriteRowid uintptr
- FpDeleteRowid uintptr
- FpReadParent uintptr
- FpWriteParent uintptr
- FpDeleteParent uintptr
- FpWriteAux uintptr
- FaHash [97]uintptr
-}
-
-type Rtree1 = TRtree1
-
-/* Possible values for Rtree.eCoordType: */
-
-// C documentation
-//
-// /*
-// ** If SQLITE_RTREE_INT_ONLY is defined, then this virtual table will
-// ** only deal with integer coordinates. No floating point operations
-// ** will be done.
-// */
-type TRtreeDValue = float64
-
-type RtreeDValue = TRtreeDValue
-
-/* High accuracy coordinate */
-
-type TRtreeValue = float32
-
-type RtreeValue = TRtreeValue
-
-/* Low accuracy coordinate */
-
-/*
-** Set the Rtree.bCorrupt flag
- */
-
-/*
-** When doing a search of an r-tree, instances of the following structure
-** record intermediate results from the tree walk.
-**
-** The id is always a node-id. For iLevel>=1 the id is the node-id of
-** the node that the RtreeSearchPoint represents. When iLevel==0, however,
-** the id is of the parent node and the cell that RtreeSearchPoint
-** represents is the iCell-th entry in the parent node.
- */
-type TRtreeSearchPoint1 = struct {
- FrScore TRtreeDValue
- Fid Tsqlite3_int64
- FiLevel Tu8
- FeWithin Tu8
- FiCell Tu8
-}
-
-type RtreeSearchPoint1 = TRtreeSearchPoint1
-
-/*
-** The minimum number of cells allowed for a node is a third of the
-** maximum. In Gutman's notation:
-**
-** m = M/3
-**
-** If an R*-tree "Reinsert" operation is required, the same number of
-** cells are removed from the overfull node and reinserted into the tree.
- */
-
-/*
-** The smallest possible node-size is (512-64)==448 bytes. And the largest
-** supported cell size is 48 bytes (8 byte rowid + ten 4 byte coordinates).
-** Therefore all non-root nodes must contain at least 3 entries. Since
-** 3^40 is greater than 2^64, an r-tree structure always has a depth of
-** 40 or less.
- */
-
-/*
-** Number of entries in the cursor RtreeNode cache. The first entry is
-** used to cache the RtreeNode for RtreeCursor.sPoint. The remaining
-** entries cache the RtreeNode for the first elements of the priority queue.
- */
+type Rtree = TRtree
-/*
-** An rtree cursor object.
- */
-type TRtreeCursor1 = struct {
+type TRtreeCursor = struct {
Fbase Tsqlite3_vtab_cursor
FatEOF Tu8
FbPoint Tu8
@@ -182276,33 +175493,27 @@ type TRtreeCursor1 = struct {
FanQueue [41]Tu32
}
-type RtreeCursor1 = TRtreeCursor1
-
-/* Return the Rtree of a RtreeCursor */
+type RtreeCursor = TRtreeCursor
-/*
-** A coordinate can be either a floating point number or a integer. All
-** coordinates within a single R-Tree are always of the same time.
- */
-type TRtreeCoord1 = struct {
- Fi [0]int32
- Fu [0]Tu32
- Ff TRtreeValue
+type TRtreeNode = struct {
+ FpParent uintptr
+ FiNode Ti64
+ FnRef int32
+ FisDirty int32
+ FzData uintptr
+ FpNext uintptr
}
-type RtreeCoord1 = TRtreeCoord1
+type RtreeNode = TRtreeNode
-/*
-** The argument is an RtreeCoord. Return the value stored within the RtreeCoord
-** formatted as a RtreeDValue (double or int64). This macro assumes that local
-** variable pRtree points to the Rtree structure associated with the
-** RtreeCoord.
- */
+type TRtreeCell = struct {
+ FiRowid Ti64
+ FaCoord [10]TRtreeCoord
+}
-/*
-** A search constraint.
- */
-type TRtreeConstraint1 = struct {
+type RtreeCell = TRtreeCell
+
+type TRtreeConstraint = struct {
FiCoord int32
Fop int32
Fu struct {
@@ -182313,78 +175524,62 @@ type TRtreeConstraint1 = struct {
FpInfo uintptr
}
-type RtreeConstraint1 = TRtreeConstraint1
-
-/* Possible values for RtreeConstraint.op */
-
-/* Special operators available only on cursors. Needs to be consecutive
-** with the normal values above, but must be less than RTREE_MATCH. These
-** are used in the cursor for contraints such as x=NULL (RTREE_FALSE) or
-** x<'xyz' (RTREE_TRUE) */
-
-/*
-** An rtree structure node.
- */
-type TRtreeNode1 = struct {
- FpParent uintptr
- FiNode Ti64
- FnRef int32
- FisDirty int32
- FzData uintptr
- FpNext uintptr
-}
-
-type RtreeNode1 = TRtreeNode1
-
-/* Return the number of cells in a node */
+type RtreeConstraint = TRtreeConstraint
-/*
-** A single cell from a node, deserialized
- */
-type TRtreeCell1 = struct {
- FiRowid Ti64
- FaCoord [10]TRtreeCoord
+type TRtreeMatchArg = struct {
+ FiSize Tu32
+ Fcb TRtreeGeomCallback
+ FnParam int32
+ FapSqlParam uintptr
}
-type RtreeCell1 = TRtreeCell1
+type RtreeMatchArg = TRtreeMatchArg
-/*
-** This object becomes the sqlite3_user_data() for the SQL functions
-** that are created by sqlite3_rtree_geometry_callback() and
-** sqlite3_rtree_query_callback() and which appear on the right of MATCH
-** operators in order to constrain a search.
-**
-** xGeom and xQueryFunc are the callback functions. Exactly one of
-** xGeom and xQueryFunc fields is non-NULL, depending on whether the
-** SQL function was created using sqlite3_rtree_geometry_callback() or
-** sqlite3_rtree_query_callback().
-**
-** This object is deleted automatically by the destructor mechanism in
-** sqlite3_create_function_v2().
- */
-type TRtreeGeomCallback1 = struct {
+type TRtreeGeomCallback = struct {
FxGeom uintptr
FxQueryFunc uintptr
FxDestructor uintptr
FpContext uintptr
}
-type RtreeGeomCallback1 = TRtreeGeomCallback1
+type RtreeGeomCallback = TRtreeGeomCallback
-/*
-** An instance of this structure (in the form of a BLOB) is returned by
-** the SQL functions that sqlite3_rtree_geometry_callback() and
-** sqlite3_rtree_query_callback() create, and is read as the right-hand
-** operand to the MATCH operator of an R-Tree.
- */
-type TRtreeMatchArg1 = struct {
- FiSize Tu32
- Fcb TRtreeGeomCallback
- FnParam int32
- FapSqlParam uintptr
+type TRtreeCoord = struct {
+ Fi [0]int32
+ Fu [0]Tu32
+ Ff TRtreeValue
+}
+
+type RtreeCoord = TRtreeCoord
+
+type TRtreeSearchPoint = struct {
+ FrScore TRtreeDValue
+ Fid Tsqlite3_int64
+ FiLevel Tu8
+ FeWithin Tu8
+ FiCell Tu8
}
-type RtreeMatchArg1 = TRtreeMatchArg1
+type RtreeSearchPoint = TRtreeSearchPoint
+
+/* Possible values for Rtree.eCoordType: */
+
+// C documentation
+//
+// /*
+// ** If SQLITE_RTREE_INT_ONLY is defined, then this virtual table will
+// ** only deal with integer coordinates. No floating point operations
+// ** will be done.
+// */
+type TRtreeDValue = float64
+
+type RtreeDValue = TRtreeDValue
+
+/* High accuracy coordinate */
+
+type TRtreeValue = float32
+
+type RtreeValue = TRtreeValue
/* Size of an RtreeMatchArg object with N parameters */
@@ -185345,9 +178540,9 @@ func _rtreeValueDown(tls *libc.TLS, v uintptr) (r TRtreeValue) {
f = float32(d)
if float64(f) > d {
if d < libc.Float64FromInt32(0) {
- v1 = float64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
} else {
- v1 = float64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
}
f = float32(float64(d * v1))
}
@@ -185362,9 +178557,9 @@ func _rtreeValueUp(tls *libc.TLS, v uintptr) (r TRtreeValue) {
f = float32(d)
if float64(f) < d {
if d < libc.Float64FromInt32(0) {
- v1 = float64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
} else {
- v1 = float64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
}
f = float32(float64(d * v1))
}
@@ -186264,23 +179459,6 @@ type TRtreeCheck = struct {
type RtreeCheck = TRtreeCheck
-type TRtreeCheck1 = struct {
- Fdb uintptr
- FzDb uintptr
- FzTab uintptr
- FbInt int32
- FnDim int32
- FpGetNode uintptr
- FaCheckMapping [2]uintptr
- FnLeaf int32
- FnNonLeaf int32
- Frc int32
- FzReport uintptr
- FnErr int32
-}
-
-type RtreeCheck1 = TRtreeCheck1
-
// C documentation
//
// /*
@@ -186865,14 +180043,6 @@ type TGeoPoly = struct {
type GeoPoly = TGeoPoly
-type TGeoPoly1 = struct {
- FnVertex int32
- Fhdr [4]uint8
- Fa [8]TGeoCoord
-}
-
-type GeoPoly1 = TGeoPoly1
-
/* The size of a memory allocation needed for a GeoPoly object sufficient
** to hold N coordinate pairs.
*/
@@ -186897,16 +180067,6 @@ type TGeoParse = struct {
type GeoParse = TGeoParse
-type TGeoParse1 = struct {
- Fz uintptr
- FnVertex int32
- FnAlloc int32
- FnErr int32
- Fa uintptr
-}
-
-type GeoParse1 = TGeoParse1
-
// C documentation
//
// /* Do a 4-byte byte swap */
@@ -187689,13 +180849,6 @@ type TGeoBBox = struct {
type GeoBBox = TGeoBBox
-type TGeoBBox1 = struct {
- FisInit int32
- Fa [4]TRtreeCoord
-}
-
-type GeoBBox1 = TGeoBBox1
-
// C documentation
//
// /*
@@ -187930,36 +181083,6 @@ type TGeoOverlap = struct {
type GeoOverlap = TGeoOverlap
-type TGeoEvent1 = struct {
- Fx float64
- FeType int32
- FpSeg uintptr
- FpNext uintptr
-}
-
-type GeoEvent1 = TGeoEvent1
-
-type TGeoSegment1 = struct {
- FC float64
- FB float64
- Fy float64
- Fy0 float32
- Fside uint8
- Fidx uint32
- FpNext uintptr
-}
-
-type GeoSegment1 = TGeoSegment1
-
-type TGeoOverlap1 = struct {
- FaEvent uintptr
- FaSegment uintptr
- FnEvent int32
- FnSegment int32
-}
-
-type GeoOverlap1 = TGeoOverlap1
-
// C documentation
//
// /*
@@ -188930,16 +182053,16 @@ geopoly_update_end:
// ** Report that geopoly_overlap() is an overloaded function suitable
// ** for use in xBestIndex.
// */
-func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) {
+func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, __ccgo_fp_pxFunc uintptr, ppArg uintptr) (r int32) {
_ = pVtab
_ = nArg
if Xsqlite3_stricmp(tls, zName, __ccgo_ts+29063) == 0 {
- *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyOverlapFunc)
+ *(*uintptr)(unsafe.Pointer(__ccgo_fp_pxFunc)) = __ccgo_fp(_geopolyOverlapFunc)
*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
return int32(SQLITE_INDEX_CONSTRAINT_FUNCTION)
}
if Xsqlite3_stricmp(tls, zName, __ccgo_ts+29079) == 0 {
- *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyWithinFunc)
+ *(*uintptr)(unsafe.Pointer(__ccgo_fp_pxFunc)) = __ccgo_fp(_geopolyWithinFunc)
*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
return libc.Int32FromInt32(SQLITE_INDEX_CONSTRAINT_FUNCTION) + libc.Int32FromInt32(1)
}
@@ -189248,12 +182371,14 @@ func _geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
}
}
+type t__ccgo_fp__Xsqlite3_rtree_geometry_callback_2 = func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Register a new geometry function for use with the r-tree MATCH operator.
// */
-func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, xGeom uintptr, pContext uintptr) (r int32) {
+func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, __ccgo_fp_xGeom uintptr, pContext uintptr) (r int32) {
var pGeomCtx uintptr
_ = pGeomCtx /* Context object for new user-function */
/* Allocate and populate the context object. */
@@ -189261,33 +182386,37 @@ func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr,
if !(pGeomCtx != 0) {
return int32(SQLITE_NOMEM)
}
- (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxGeom = xGeom
+ (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxGeom = __ccgo_fp_xGeom
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxQueryFunc = uintptr(0)
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxDestructor = uintptr(0)
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FpContext = pContext
return Xsqlite3_create_function_v2(tls, db, zGeom, -int32(1), int32(SQLITE_ANY), pGeomCtx, __ccgo_fp(_geomCallback), uintptr(0), uintptr(0), __ccgo_fp(_rtreeFreeCallback))
}
+type t__ccgo_fp__Xsqlite3_rtree_query_callback_2 = func(*libc.TLS, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3_rtree_query_callback_4 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a new 2nd-generation geometry function for use with the
// ** r-tree MATCH operator.
// */
-func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, xQueryFunc uintptr, pContext uintptr, xDestructor uintptr) (r int32) {
+func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, __ccgo_fp_xQueryFunc uintptr, pContext uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
var pGeomCtx uintptr
_ = pGeomCtx /* Context object for new user-function */
/* Allocate and populate the context object. */
pGeomCtx = Xsqlite3_malloc(tls, int32(32))
if !(pGeomCtx != 0) {
- if xDestructor != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestructor})))(tls, pContext)
+ if __ccgo_fp_xDestructor != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestructor})))(tls, pContext)
}
return int32(SQLITE_NOMEM)
}
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxGeom = uintptr(0)
- (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxQueryFunc = xQueryFunc
- (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxDestructor = xDestructor
+ (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxQueryFunc = __ccgo_fp_xQueryFunc
+ (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxDestructor = __ccgo_fp_xDestructor
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FpContext = pContext
return Xsqlite3_create_function_v2(tls, db, zQueryFunc, -int32(1), int32(SQLITE_ANY), pGeomCtx, __ccgo_fp(_geomCallback), uintptr(0), uintptr(0), __ccgo_fp(_rtreeFreeCallback))
}
@@ -189905,248 +183034,6 @@ type TRbuUpdateStmt = struct {
type RbuUpdateStmt = TRbuUpdateStmt
-/*
-** These values must match the values defined in wal.c for the equivalent
-** locks. These are not magic numbers as they are part of the SQLite file
-** format.
- */
-
-/*
-** A structure to store values read from the rbu_state table in memory.
- */
-type TRbuState1 = struct {
- FeStage int32
- FzTbl uintptr
- FzDataTbl uintptr
- FzIdx uintptr
- FiWalCksum Ti64
- FnRow int32
- FnProgress Ti64
- FiCookie Tu32
- FiOalSz Ti64
- FnPhaseOneStep Ti64
-}
-
-type RbuState1 = TRbuState1
-
-type TRbuUpdateStmt1 = struct {
- FzMask uintptr
- FpUpdate uintptr
- FpNext uintptr
-}
-
-type RbuUpdateStmt1 = TRbuUpdateStmt1
-
-type TRbuSpan1 = struct {
- FzSpan uintptr
- FnSpan int32
-}
-
-type RbuSpan1 = TRbuSpan1
-
-/*
-** An iterator of this type is used to iterate through all objects in
-** the target database that require updating. For each such table, the
-** iterator visits, in order:
-**
-** * the table itself,
-** * each index of the table (zero or more points to visit), and
-** * a special "cleanup table" state.
-**
-** abIndexed:
-** If the table has no indexes on it, abIndexed is set to NULL. Otherwise,
-** it points to an array of flags nTblCol elements in size. The flag is
-** set for each column that is either a part of the PK or a part of an
-** index. Or clear otherwise.
-**
-** If there are one or more partial indexes on the table, all fields of
-** this array set set to 1. This is because in that case, the module has
-** no way to tell which fields will be required to add and remove entries
-** from the partial indexes.
-**
- */
-type TRbuObjIter1 = struct {
- FpTblIter uintptr
- FpIdxIter uintptr
- FnTblCol int32
- FazTblCol uintptr
- FazTblType uintptr
- FaiSrcOrder uintptr
- FabTblPk uintptr
- FabNotNull uintptr
- FabIndexed uintptr
- FeType int32
- FbCleanup int32
- FzTbl uintptr
- FzDataTbl uintptr
- FzIdx uintptr
- FiTnum int32
- FiPkTnum int32
- FbUnique int32
- FnIndex int32
- FnCol int32
- FpSelect uintptr
- FpInsert uintptr
- FpDelete uintptr
- FpTmpInsert uintptr
- FnIdxCol int32
- FaIdxCol uintptr
- FzIdxSql uintptr
- FpRbuUpdate uintptr
-}
-
-type RbuObjIter1 = TRbuObjIter1
-
-/*
-** Values for RbuObjIter.eType
-**
-** 0: Table does not exist (error)
-** 1: Table has an implicit rowid.
-** 2: Table has an explicit IPK column.
-** 3: Table has an external PK index.
-** 4: Table is WITHOUT ROWID.
-** 5: Table is a virtual table.
- */
-
-/*
-** Within the RBU_STAGE_OAL stage, each call to sqlite3rbu_step() performs
-** one of the following operations.
- */
-
-/*
-** A single step of an incremental checkpoint - frame iWalFrame of the wal
-** file should be copied to page iDbPage of the database file.
- */
-type TRbuFrame1 = struct {
- FiDbPage Tu32
- FiWalFrame Tu32
-}
-
-type RbuFrame1 = TRbuFrame1
-
-/*
-** RBU handle.
-**
-** nPhaseOneStep:
-** If the RBU database contains an rbu_count table, this value is set to
-** a running estimate of the number of b-tree operations required to
-** finish populating the *-oal file. This allows the sqlite3_bp_progress()
-** API to calculate the permyriadage progress of populating the *-oal file
-** using the formula:
-**
-** permyriadage = (10000 * nProgress) / nPhaseOneStep
-**
-** nPhaseOneStep is initialized to the sum of:
-**
-** nRow * (nIndex + 1)
-**
-** for all source tables in the RBU database, where nRow is the number
-** of rows in the source table and nIndex the number of indexes on the
-** corresponding target database table.
-**
-** This estimate is accurate if the RBU update consists entirely of
-** INSERT operations. However, it is inaccurate if:
-**
-** * the RBU update contains any UPDATE operations. If the PK specified
-** for an UPDATE operation does not exist in the target table, then
-** no b-tree operations are required on index b-trees. Or if the
-** specified PK does exist, then (nIndex*2) such operations are
-** required (one delete and one insert on each index b-tree).
-**
-** * the RBU update contains any DELETE operations for which the specified
-** PK does not exist. In this case no operations are required on index
-** b-trees.
-**
-** * the RBU update contains REPLACE operations. These are similar to
-** UPDATE operations.
-**
-** nPhaseOneStep is updated to account for the conditions above during the
-** first pass of each source table. The updated nPhaseOneStep value is
-** stored in the rbu_state table if the RBU update is suspended.
- */
-type Tsqlite3rbu1 = struct {
- FeStage int32
- FdbMain uintptr
- FdbRbu uintptr
- FzTarget uintptr
- FzRbu uintptr
- FzState uintptr
- FzStateDb [5]int8
- Frc int32
- FzErrmsg uintptr
- FnStep int32
- FnProgress Tsqlite3_int64
- Fobjiter TRbuObjIter
- FzVfsName uintptr
- FpTargetFd uintptr
- FnPagePerSector int32
- FiOalSz Ti64
- FnPhaseOneStep Ti64
- FpRenameArg uintptr
- FxRename uintptr
- FiMaxFrame Tu32
- FmLock Tu32
- FnFrame int32
- FnFrameAlloc int32
- FaFrame uintptr
- Fpgsz int32
- FaBuf uintptr
- FiWalCksum Ti64
- FszTemp Ti64
- FszTempLimit Ti64
- FnRbu int32
- FpRbuFd uintptr
-}
-
-type sqlite3rbu1 = Tsqlite3rbu1
-
-/*
-** An rbu VFS is implemented using an instance of this structure.
-**
-** Variable pRbu is only non-NULL for automatically created RBU VFS objects.
-** It is NULL for RBU VFS objects created explicitly using
-** sqlite3rbu_create_vfs(). It is used to track the total amount of temp
-** space used by the RBU handle.
- */
-type Trbu_vfs1 = struct {
- Fbase Tsqlite3_vfs
- FpRealVfs uintptr
- Fmutex uintptr
- FpRbu uintptr
- FpMain uintptr
- FpMainRbu uintptr
-}
-
-type rbu_vfs1 = Trbu_vfs1
-
-/*
-** Each file opened by an rbu VFS is represented by an instance of
-** the following structure.
-**
-** If this is a temporary file (pRbu!=0 && flags&DELETE_ON_CLOSE), variable
-** "sz" is set to the current size of the database file.
- */
-type Trbu_file1 = struct {
- Fbase Tsqlite3_file
- FpReal uintptr
- FpRbuVfs uintptr
- FpRbu uintptr
- Fsz Ti64
- FopenFlags int32
- FiCookie Tu32
- FiWriteVer Tu8
- FbNolock Tu8
- FnShm int32
- FapShm uintptr
- FzDel uintptr
- FzWal uintptr
- FpWalFd uintptr
- FpMainNext uintptr
- FpMainRbuNext uintptr
-}
-
-type rbu_file1 = Trbu_file1
-
/*
** True for an RBU vacuum handle, or false otherwise.
*/
@@ -192860,7 +185747,7 @@ func _rbuShmChecksum(tls *libc.TLS, p uintptr) (r Ti64) {
iRet = 0
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
iRet = libc.Int64FromUint64(uint64(libc.AtomicLoadPUint32(*(*uintptr)(unsafe.Pointer(bp))+libc.UintptrFromInt32(10)*4))< (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz {
(*Tsqlite3rbu)(unsafe.Pointer(p)).FnPagePerSector = nSectorSize / (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz
} else {
@@ -192962,7 +185849,7 @@ func _rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
** directory in which the target database and the wal file reside, in
** case it has not been synced since the rename() call in
** rbuMoveOalFile(). */
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxSync})))(tls, pWal, int32(SQLITE_SYNC_NORMAL))
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxSync})))(tls, pWal, int32(SQLITE_SYNC_NORMAL))
}
}
}
@@ -193035,12 +185922,12 @@ func _rbuCheckpointFrame(tls *libc.TLS, p uintptr, pFrame uintptr) {
pWal = (*Trbu_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd)).FpReal
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
iOff = libc.Int64FromUint32((*TRbuFrame)(unsafe.Pointer(pFrame)).FiWalFrame-libc.Uint32FromInt32(1))*int64((*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz+libc.Int32FromInt32(24)) + int64(32) + int64(24)
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxRead})))(tls, pWal, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxRead})))(tls, pWal, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
return
}
iOff = libc.Int64FromUint32((*TRbuFrame)(unsafe.Pointer(pFrame)).FiDbPage-libc.Uint32FromInt32(1)) * int64((*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz)
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxWrite})))(tls, pDb, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxWrite})))(tls, pDb, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
}
/*
@@ -193065,18 +185952,18 @@ func _rbuLockDatabase(tls *libc.TLS, db uintptr) (r int32) {
Xsqlite3_file_control(tls, db, __ccgo_ts+7084, int32(RBU_ZIPVFS_CTRL_FILE_POINTER), bp)
if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
Xsqlite3_file_control(tls, db, __ccgo_ts+7084, int32(SQLITE_FCNTL_FILE_POINTER), bp)
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
if rc == SQLITE_OK {
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxUnlock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), SQLITE_LOCK_NONE)
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxUnlock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), SQLITE_LOCK_NONE)
}
Xsqlite3_file_control(tls, db, __ccgo_ts+7084, int32(RBU_ZIPVFS_CTRL_FILE_POINTER), bp)
} else {
Xsqlite3_file_control(tls, db, __ccgo_ts+7084, int32(SQLITE_FCNTL_FILE_POINTER), bp)
}
if rc == SQLITE_OK && (*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods != 0 {
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
if rc == SQLITE_OK {
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_EXCLUSIVE))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_EXCLUSIVE))
}
}
return rc
@@ -193594,10 +186481,10 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) (r int32) {
if (*Tsqlite3rbu)(unsafe.Pointer(p)).FnStep >= (*Tsqlite3rbu)(unsafe.Pointer(p)).FnFrame {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
/* Sync the db file */
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
/* Update nBackfill */
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
*(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 24*4)) = (*Tsqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame
}
@@ -194116,7 +187003,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) {
/* Sync the db file if currently doing an incremental checkpoint */
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
}
_rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) {
@@ -194237,7 +187124,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) {
/* Sync the db file */
if rc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
}
(*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc
_rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage)
@@ -194282,9 +187169,11 @@ func _xDefaultRename(tls *libc.TLS, pArg uintptr, zOld uintptr, zNew uintptr) (r
return rc
}
-func Xsqlite3rbu_rename_handler(tls *libc.TLS, pRbu uintptr, pArg uintptr, xRename uintptr) {
- if xRename != 0 {
- (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FxRename = xRename
+type t__ccgo_fp__Xsqlite3rbu_rename_handler_2 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+func Xsqlite3rbu_rename_handler(tls *libc.TLS, pRbu uintptr, pArg uintptr, __ccgo_fp_xRename uintptr) {
+ if __ccgo_fp_xRename != 0 {
+ (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FxRename = __ccgo_fp_xRename
(*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FpRenameArg = pArg
} else {
(*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FxRename = __ccgo_fp(_xDefaultRename)
@@ -194356,7 +187245,7 @@ func _rbuUnlockShm(tls *libc.TLS, p uintptr) {
var xShmLock uintptr
_, _ = i, xShmLock
if (*Trbu_file)(unsafe.Pointer(p)).FpRbu != 0 {
- xShmLock = (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock
+ xShmLock = (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock
i = 0
for {
if !(i < int32(SQLITE_SHM_NLOCK)) {
@@ -194559,7 +187448,7 @@ func _rbuVfsClose(tls *libc.TLS, pFile uintptr) (r int32) {
}
}
/* Close the underlying file handle */
- rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxClose})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal)
+ rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxClose})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal)
return rc
}
@@ -194610,14 +187499,14 @@ func _rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst T
rc = SQLITE_OK
libc.X__builtin___memset_chk(tls, zBuf, 0, libc.Uint64FromInt32(iAmt), ^t__predefined_size_t(0))
} else {
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxRead})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxRead})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst)
/* If this is being called to read the first page of the target
** database as part of an rbu vacuum operation, synthesize the
** contents of the first page if it does not yet exist. Otherwise,
** SQLite will not check for a *-wal file. */
if pRbu != 0 && (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzTarget == uintptr(0) && rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(2)<= libc.Int32FromUint64(libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(64)) {
_statResetCsr(tls, pCsr)
- return _sqlite3CorruptError(tls, int32(227354))
+ return _sqlite3CorruptError(tls, int32(227381))
}
if (*TStatPage)(unsafe.Pointer(p)).FiCell == (*TStatPage)(unsafe.Pointer(p)).FnCell {
(*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiPgno = (*TStatPage)(unsafe.Pointer(p)).FiRightChildPg
@@ -196542,315 +189370,6 @@ type TSessionHook = struct {
type SessionHook = TSessionHook
-type TSessionHook1 = struct {
- FpCtx uintptr
- FxOld uintptr
- FxNew uintptr
- FxCount uintptr
- FxDepth uintptr
-}
-
-type SessionHook1 = TSessionHook1
-
-/*
-** Session handle structure.
- */
-type Tsqlite3_session1 = struct {
- Fdb uintptr
- FzDb uintptr
- FbEnableSize int32
- FbEnable int32
- FbIndirect int32
- FbAutoAttach int32
- FbImplicitPK int32
- Frc int32
- FpFilterCtx uintptr
- FxTableFilter uintptr
- FnMalloc Ti64
- FnMaxChangesetSize Ti64
- FpZeroBlob uintptr
- FpNext uintptr
- FpTable uintptr
- Fhook TSessionHook
-}
-
-type sqlite3_session1 = Tsqlite3_session1
-
-/*
-** Instances of this structure are used to build strings or binary records.
- */
-type TSessionBuffer1 = struct {
- FaBuf uintptr
- FnBuf int32
- FnAlloc int32
-}
-
-type SessionBuffer1 = TSessionBuffer1
-
-/*
-** An object of this type is used internally as an abstraction for
-** input data. Input data may be supplied either as a single large buffer
-** (e.g. sqlite3changeset_start()) or using a stream function (e.g.
-** sqlite3changeset_start_strm()).
-**
-** bNoDiscard:
-** If true, then the only time data is discarded is as a result of explicit
-** sessionDiscardData() calls. Not within every sessionInputBuffer() call.
- */
-type TSessionInput1 = struct {
- FbNoDiscard int32
- FiCurrent int32
- FiNext int32
- FaData uintptr
- FnData int32
- Fbuf TSessionBuffer
- FxInput uintptr
- FpIn uintptr
- FbEof int32
-}
-
-type SessionInput1 = TSessionInput1
-
-/*
-** Structure for changeset iterators.
- */
-type Tsqlite3_changeset_iter1 = struct {
- Fin TSessionInput
- Ftblhdr TSessionBuffer
- FbPatchset int32
- FbInvert int32
- FbSkipEmpty int32
- Frc int32
- FpConflict uintptr
- FzTab uintptr
- FnCol int32
- Fop int32
- FbIndirect int32
- FabPK uintptr
- FapValue uintptr
-}
-
-type sqlite3_changeset_iter1 = Tsqlite3_changeset_iter1
-
-/*
-** Each session object maintains a set of the following structures, one
-** for each table the session object is monitoring. The structures are
-** stored in a linked list starting at sqlite3_session.pTable.
-**
-** The keys of the SessionTable.aChange[] hash table are all rows that have
-** been modified in any way since the session object was attached to the
-** table.
-**
-** The data associated with each hash-table entry is a structure containing
-** a subset of the initial values that the modified row contained at the
-** start of the session. Or no initial values if the row was inserted.
-**
-** pDfltStmt:
-** This is only used by the sqlite3changegroup_xxx() APIs, not by
-** regular sqlite3_session objects. It is a SELECT statement that
-** selects the default value for each table column. For example,
-** if the table is
-**
-** CREATE TABLE xx(a DEFAULT 1, b, c DEFAULT 'abc')
-**
-** then this variable is the compiled version of:
-**
-** SELECT 1, NULL, 'abc'
- */
-type TSessionTable1 = struct {
- FpNext uintptr
- FzName uintptr
- FnCol int32
- FnTotalCol int32
- FbStat1 int32
- FbRowid int32
- FazCol uintptr
- FazDflt uintptr
- FaiIdx uintptr
- FabPK uintptr
- FnEntry int32
- FnChange int32
- FapChange uintptr
- FpDfltStmt uintptr
-}
-
-type SessionTable1 = TSessionTable1
-
-/*
-** RECORD FORMAT:
-**
-** The following record format is similar to (but not compatible with) that
-** used in SQLite database files. This format is used as part of the
-** change-set binary format, and so must be architecture independent.
-**
-** Unlike the SQLite database record format, each field is self-contained -
-** there is no separation of header and data. Each field begins with a
-** single byte describing its type, as follows:
-**
-** 0x00: Undefined value.
-** 0x01: Integer value.
-** 0x02: Real value.
-** 0x03: Text value.
-** 0x04: Blob value.
-** 0x05: SQL NULL value.
-**
-** Note that the above match the definitions of SQLITE_INTEGER, SQLITE_TEXT
-** and so on in sqlite3.h. For undefined and NULL values, the field consists
-** only of the single type byte. For other types of values, the type byte
-** is followed by:
-**
-** Text values:
-** A varint containing the number of bytes in the value (encoded using
-** UTF-8). Followed by a buffer containing the UTF-8 representation
-** of the text value. There is no nul terminator.
-**
-** Blob values:
-** A varint containing the number of bytes in the value, followed by
-** a buffer containing the value itself.
-**
-** Integer values:
-** An 8-byte big-endian integer value.
-**
-** Real values:
-** An 8-byte big-endian IEEE 754-2008 real value.
-**
-** Varint values are encoded in the same way as varints in the SQLite
-** record format.
-**
-** CHANGESET FORMAT:
-**
-** A changeset is a collection of DELETE, UPDATE and INSERT operations on
-** one or more tables. Operations on a single table are grouped together,
-** but may occur in any order (i.e. deletes, updates and inserts are all
-** mixed together).
-**
-** Each group of changes begins with a table header:
-**
-** 1 byte: Constant 0x54 (capital 'T')
-** Varint: Number of columns in the table.
-** nCol bytes: 0x01 for PK columns, 0x00 otherwise.
-** N bytes: Unqualified table name (encoded using UTF-8). Nul-terminated.
-**
-** Followed by one or more changes to the table.
-**
-** 1 byte: Either SQLITE_INSERT (0x12), UPDATE (0x17) or DELETE (0x09).
-** 1 byte: The "indirect-change" flag.
-** old.* record: (delete and update only)
-** new.* record: (insert and update only)
-**
-** The "old.*" and "new.*" records, if present, are N field records in the
-** format described above under "RECORD FORMAT", where N is the number of
-** columns in the table. The i'th field of each record is associated with
-** the i'th column of the table, counting from left to right in the order
-** in which columns were declared in the CREATE TABLE statement.
-**
-** The new.* record that is part of each INSERT change contains the values
-** that make up the new row. Similarly, the old.* record that is part of each
-** DELETE change contains the values that made up the row that was deleted
-** from the database. In the changeset format, the records that are part
-** of INSERT or DELETE changes never contain any undefined (type byte 0x00)
-** fields.
-**
-** Within the old.* record associated with an UPDATE change, all fields
-** associated with table columns that are not PRIMARY KEY columns and are
-** not modified by the UPDATE change are set to "undefined". Other fields
-** are set to the values that made up the row before the UPDATE that the
-** change records took place. Within the new.* record, fields associated
-** with table columns modified by the UPDATE change contain the new
-** values. Fields associated with table columns that are not modified
-** are set to "undefined".
-**
-** PATCHSET FORMAT:
-**
-** A patchset is also a collection of changes. It is similar to a changeset,
-** but leaves undefined those fields that are not useful if no conflict
-** resolution is required when applying the changeset.
-**
-** Each group of changes begins with a table header:
-**
-** 1 byte: Constant 0x50 (capital 'P')
-** Varint: Number of columns in the table.
-** nCol bytes: 0x01 for PK columns, 0x00 otherwise.
-** N bytes: Unqualified table name (encoded using UTF-8). Nul-terminated.
-**
-** Followed by one or more changes to the table.
-**
-** 1 byte: Either SQLITE_INSERT (0x12), UPDATE (0x17) or DELETE (0x09).
-** 1 byte: The "indirect-change" flag.
-** single record: (PK fields for DELETE, PK and modified fields for UPDATE,
-** full record for INSERT).
-**
-** As in the changeset format, each field of the single record that is part
-** of a patchset change is associated with the correspondingly positioned
-** table column, counting from left to right within the CREATE TABLE
-** statement.
-**
-** For a DELETE change, all fields within the record except those associated
-** with PRIMARY KEY columns are omitted. The PRIMARY KEY fields contain the
-** values identifying the row to delete.
-**
-** For an UPDATE change, all fields except those associated with PRIMARY KEY
-** columns and columns that are modified by the UPDATE are set to "undefined".
-** PRIMARY KEY fields contain the values identifying the table row to update,
-** and fields associated with modified columns contain the new column values.
-**
-** The records associated with INSERT changes are in the same format as for
-** changesets. It is not possible for a record associated with an INSERT
-** change to contain a field set to "undefined".
-**
-** REBASE BLOB FORMAT:
-**
-** A rebase blob may be output by sqlite3changeset_apply_v2() and its
-** streaming equivalent for use with the sqlite3_rebaser APIs to rebase
-** existing changesets. A rebase blob contains one entry for each conflict
-** resolved using either the OMIT or REPLACE strategies within the apply_v2()
-** call.
-**
-** The format used for a rebase blob is very similar to that used for
-** changesets. All entries related to a single table are grouped together.
-**
-** Each group of entries begins with a table header in changeset format:
-**
-** 1 byte: Constant 0x54 (capital 'T')
-** Varint: Number of columns in the table.
-** nCol bytes: 0x01 for PK columns, 0x00 otherwise.
-** N bytes: Unqualified table name (encoded using UTF-8). Nul-terminated.
-**
-** Followed by one or more entries associated with the table.
-**
-** 1 byte: Either SQLITE_INSERT (0x12), DELETE (0x09).
-** 1 byte: Flag. 0x01 for REPLACE, 0x00 for OMIT.
-** record: (in the record format defined above).
-**
-** In a rebase blob, the first field is set to SQLITE_INSERT if the change
-** that caused the conflict was an INSERT or UPDATE, or to SQLITE_DELETE if
-** it was a DELETE. The second field is set to 0x01 if the conflict
-** resolution strategy was REPLACE, or 0x00 if it was OMIT.
-**
-** If the change that caused the conflict was a DELETE, then the single
-** record is a copy of the old.* record from the original changeset. If it
-** was an INSERT, then the single record is a copy of the new.* record. If
-** the conflicting change was an UPDATE, then the single record is a copy
-** of the new.* record with the PK fields filled in based on the original
-** old.* record.
- */
-
-/*
-** For each row modified during a session, there exists a single instance of
-** this structure stored in a SessionTable.aChange[] hash table.
- */
-type TSessionChange1 = struct {
- Fop Tu8
- FbIndirect Tu8
- FnRecordField Tu16
- FnMaxSize int32
- FnRecord int32
- FaRecord uintptr
- FpNext uintptr
-}
-
-type SessionChange1 = TSessionChange1
-
// C documentation
//
// /*
@@ -198256,13 +190775,6 @@ type TSessionStat1Ctx = struct {
type SessionStat1Ctx = TSessionStat1Ctx
-type TSessionStat1Ctx1 = struct {
- Fhook TSessionHook
- FpSession uintptr
-}
-
-type SessionStat1Ctx1 = TSessionStat1Ctx1
-
func _sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
@@ -198754,14 +191266,6 @@ type TSessionDiffCtx = struct {
type SessionDiffCtx = TSessionDiffCtx
-type TSessionDiffCtx1 = struct {
- FpStmt uintptr
- FbRowid int32
- FnOldOff int32
-}
-
-type SessionDiffCtx1 = TSessionDiffCtx1
-
// C documentation
//
// /*
@@ -199269,15 +191773,17 @@ func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) {
Xsqlite3_free(tls, pSession)
}
+type t__ccgo_fp__Xsqlite3session_table_filter_1 = func(*libc.TLS, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Set a table filter on a Session Object.
// */
-func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) {
+func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, __ccgo_fp_xFilter uintptr, pCtx uintptr) {
(*Tsqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = int32(1)
(*Tsqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx
- (*Tsqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter
+ (*Tsqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = __ccgo_fp_xFilter
}
// C documentation
@@ -199899,7 +192405,7 @@ func _sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab u
// ** occurs, an SQLite error code is returned and both output variables set
// ** to 0.
// */
-func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) (r int32) {
+func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, __ccgo_fp_xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var db, p, pTab, zName uintptr
@@ -199913,7 +192419,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
/* Zero the output variables in case an error occurs. If this session
** object is already in the error state (sqlite3_session.rc != SQLITE_OK),
** this call will be a no-op. */
- if xOutput == uintptr(0) {
+ if __ccgo_fp_xOutput == uintptr(0) {
*(*int32)(unsafe.Pointer(pnChangeset)) = 0
*(*uintptr)(unsafe.Pointer(ppChangeset)) = uintptr(0)
}
@@ -199989,8 +192495,8 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
}
/* If the buffer is now larger than sessions_strm_chunk_size, pass
** its contents to the xOutput() callback. */
- if xOutput != 0 && *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > nNoop && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp + 16)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
+ if __ccgo_fp_xOutput != 0 && *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > nNoop && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp + 16)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
nNoop = -int32(1)
(*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf = 0
}
@@ -200015,13 +192521,13 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext
}
if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
- if xOutput == uintptr(0) {
+ if __ccgo_fp_xOutput == uintptr(0) {
*(*int32)(unsafe.Pointer(pnChangeset)) = (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf
*(*uintptr)(unsafe.Pointer(ppChangeset)) = (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf
(*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf = uintptr(0)
} else {
if (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > 0 {
- *(*int32)(unsafe.Pointer(bp + 16)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
+ *(*int32)(unsafe.Pointer(bp + 16)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
}
}
}
@@ -200050,28 +192556,32 @@ func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uint
return rc
}
+type t__ccgo_fp__Xsqlite3session_changeset_strm_1 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3session_changeset().
// */
-func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) (r int32) {
- if xOutput == uintptr(0) {
+func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
+ if __ccgo_fp_xOutput == uintptr(0) {
return int32(SQLITE_MISUSE)
}
- return _sessionGenerateChangeset(tls, pSession, 0, xOutput, pOut, uintptr(0), uintptr(0))
+ return _sessionGenerateChangeset(tls, pSession, 0, __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
}
+type t__ccgo_fp__Xsqlite3session_patchset_strm_1 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3session_patchset().
// */
-func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) (r int32) {
- if xOutput == uintptr(0) {
+func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
+ if __ccgo_fp_xOutput == uintptr(0) {
return int32(SQLITE_MISUSE)
}
- return _sessionGenerateChangeset(tls, pSession, int32(1), xOutput, pOut, uintptr(0), uintptr(0))
+ return _sessionGenerateChangeset(tls, pSession, int32(1), __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
}
// C documentation
@@ -200210,7 +192720,7 @@ func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) (r Tsqlite3
// /*
// ** Do the work for either sqlite3changeset_start() or start_strm().
// */
-func _sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) (r int32) {
+func _sessionChangesetStart(tls *libc.TLS, pp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) (r int32) {
var nByte, v1 int32
var pRet uintptr
_, _, _ = nByte, pRet, v1 /* Number of bytes to allocate for iterator */
@@ -200225,9 +192735,9 @@ func _sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintp
libc.X__builtin___memset_chk(tls, pRet, 0, uint64(152), ^t__predefined_size_t(0))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FaData = pChangeset
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FnData = nChangeset
- (*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = xInput
+ (*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = __ccgo_fp_xInput
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FpIn = pIn
- if xInput != 0 {
+ if __ccgo_fp_xInput != 0 {
v1 = 0
} else {
v1 = int32(1)
@@ -200256,20 +192766,24 @@ func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pCh
return _sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0)
}
+type t__ccgo_fp__Xsqlite3changeset_start_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3changeset_start().
// */
-func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) (r int32) {
- return _sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0)
+func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr) (r int32) {
+ return _sessionChangesetStart(tls, pp, __ccgo_fp_xInput, pIn, 0, uintptr(0), 0, 0)
}
-func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) (r int32) {
+type t__ccgo_fp__Xsqlite3changeset_start_v2_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, flags int32) (r int32) {
var bInvert int32
_ = bInvert
bInvert = libc.BoolInt32(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETSTART_INVERT) != 0))
- return _sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0)
+ return _sessionChangesetStart(tls, pp, __ccgo_fp_xInput, pIn, 0, uintptr(0), bInvert, 0)
}
// C documentation
@@ -200444,7 +192958,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap
rc = _sessionInputBuffer(tls, pIn, int32(9))
if rc == SQLITE_OK {
if (*TSessionInput)(unsafe.Pointer(pIn)).FiNext >= (*TSessionInput)(unsafe.Pointer(pIn)).FnData {
- rc = _sqlite3CorruptError(tls, int32(231641))
+ rc = _sqlite3CorruptError(tls, int32(231668))
} else {
v3 = pIn + 8
v2 = *(*int32)(unsafe.Pointer(v3))
@@ -200468,7 +192982,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap
rc = _sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
if rc == SQLITE_OK {
if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext {
- rc = _sqlite3CorruptError(tls, int32(231661))
+ rc = _sqlite3CorruptError(tls, int32(231688))
} else {
if eType == int32(SQLITE_TEXT) {
v4 = int32(SQLITE_UTF8)
@@ -200483,7 +192997,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap
}
if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) {
if (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext < int32(8) {
- rc = _sqlite3CorruptError(tls, int32(231671))
+ rc = _sqlite3CorruptError(tls, int32(231698))
} else {
*(*Tsqlite3_int64)(unsafe.Pointer(bp + 8)) = _sessionGetI64(tls, aVal)
if eType == int32(SQLITE_INTEGER) {
@@ -200539,7 +193053,7 @@ func _sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) (
** large value for nCol may cause nRead to wrap around and become
** negative. Leading to a crash. */
if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > int32(65536) {
- rc = _sqlite3CorruptError(tls, int32(231719))
+ rc = _sqlite3CorruptError(tls, int32(231746))
} else {
rc = _sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+int32(100))
nRead += *(*int32)(unsafe.Pointer(bp))
@@ -200644,7 +193158,7 @@ func _sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) (r int32) {
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
_sessionBufferGrow(tls, p+72, int64(nByte), bp)
} else {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(231807))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(231834))
}
}
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
@@ -200750,7 +193264,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin
if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
/* The first record in the changeset is not a table header. Must be a
** corrupt changeset. */
- v7 = _sqlite3CorruptError(tls, int32(231893))
+ v7 = _sqlite3CorruptError(tls, int32(231920))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v7
return v7
}
@@ -200760,7 +193274,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin
*(*int32)(unsafe.Pointer(v9))++
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(v8))))
if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_DELETE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_INSERT) {
- v10 = _sqlite3CorruptError(tls, int32(231899))
+ v10 = _sqlite3CorruptError(tls, int32(231926))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v10
return v10
}
@@ -200839,7 +193353,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin
if *(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
*(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8))
if *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) {
- v16 = _sqlite3CorruptError(tls, int32(231943))
+ v16 = _sqlite3CorruptError(tls, int32(231970))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v16
return v16
}
@@ -201100,7 +193614,7 @@ func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) (r int32) {
return rc
}
-func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) (r int32) {
+func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) (r int32) {
bp := tls.Alloc(64)
defer tls.Free(64)
var abPK, apVal, pVal, pVal1, v7 uintptr
@@ -201249,11 +193763,11 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu
goto finished_invert
}
default:
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(232308))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(232335))
goto finished_invert
}
- if xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
+ if __ccgo_fp_xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
(*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf = 0
if *(*int32)(unsafe.Pointer(bp)) != SQLITE_OK {
goto finished_invert
@@ -201265,8 +193779,8 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu
*(*uintptr)(unsafe.Pointer(ppInverted)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf
(*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf = uintptr(0)
} else {
- if (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf > 0 && xOutput != uintptr(0) {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
+ if (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf > 0 && __ccgo_fp_xOutput != uintptr(0) {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
}
}
goto finished_invert
@@ -201294,12 +193808,16 @@ func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintpt
return _sessionChangesetInvert(tls, bp, uintptr(0), uintptr(0), pnInverted, ppInverted)
}
+type t__ccgo_fp__Xsqlite3changeset_invert_strm_0 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_invert_strm_2 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3changeset_invert().
// */
-func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) (r int32) {
+func Xsqlite3changeset_invert_strm(tls *libc.TLS, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
bp := tls.Alloc(80)
defer tls.Free(80)
var rc int32
@@ -201307,9 +193825,9 @@ func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, x
_ = rc
/* Set up the input stream */
libc.X__builtin___memset_chk(tls, bp, 0, uint64(72), ^t__predefined_size_t(0))
- (*(*TSessionInput)(unsafe.Pointer(bp))).FxInput = xInput
+ (*(*TSessionInput)(unsafe.Pointer(bp))).FxInput = __ccgo_fp_xInput
(*(*TSessionInput)(unsafe.Pointer(bp))).FpIn = pIn
- rc = _sessionChangesetInvert(tls, bp, xOutput, pOut, uintptr(0), uintptr(0))
+ rc = _sessionChangesetInvert(tls, bp, __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
Xsqlite3_free(tls, (*(*TSessionInput)(unsafe.Pointer(bp))).Fbuf.FaBuf)
return rc
}
@@ -201322,14 +193840,6 @@ type TSessionUpdate = struct {
type SessionUpdate = TSessionUpdate
-type TSessionUpdate1 = struct {
- FpStmt uintptr
- FaMask uintptr
- FpNext uintptr
-}
-
-type SessionUpdate1 = TSessionUpdate1
-
type TSessionApplyCtx = struct {
Fdb uintptr
FpDelete uintptr
@@ -201353,29 +193863,6 @@ type TSessionApplyCtx = struct {
type SessionApplyCtx = TSessionApplyCtx
-type TSessionApplyCtx1 = struct {
- Fdb uintptr
- FpDelete uintptr
- FpInsert uintptr
- FpSelect uintptr
- FnCol int32
- FazCol uintptr
- FabPK uintptr
- FaUpdateMask uintptr
- FpUp uintptr
- FbStat1 int32
- FbDeferConstraints int32
- FbInvertConstraints int32
- Fconstraints TSessionBuffer
- Frebase TSessionBuffer
- FbRebaseStarted Tu8
- FbRebase Tu8
- FbIgnoreNoop Tu8
- FbRowid int32
-}
-
-type SessionApplyCtx1 = TSessionApplyCtx1
-
/* Number of prepared UPDATE statements to cache. */
// C documentation
@@ -201779,7 +194266,7 @@ func _sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) (r i
// **
// ** An SQLite error code is returned if an error occurs. Otherwise, SQLITE_OK.
// */
-func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) (r int32) {
+func _sessionBindRow(tls *libc.TLS, pIter uintptr, __ccgo_fp_xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var i, rc int32
@@ -201797,11 +194284,11 @@ func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, a
}
if !(abPK != 0) || *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
- (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xValue})))(tls, pIter, i, bp)
+ (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xValue})))(tls, pIter, i, bp)
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
/* The value in the changeset was "undefined". This indicates a
** corrupt changeset blob. */
- rc = _sqlite3CorruptError(tls, int32(232790))
+ rc = _sqlite3CorruptError(tls, int32(232817))
} else {
rc = _sessionBindValue(tls, pStmt, i+int32(1), *(*uintptr)(unsafe.Pointer(bp)))
}
@@ -201978,7 +194465,7 @@ func _sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) (r
// ** SQLITE_MISUSE. If the conflict handler returns SQLITE_CHANGESET_OMIT,
// ** this function returns SQLITE_OK.
// */
-func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) (r int32) {
+func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, pbReplace uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var aBlob uintptr
@@ -202002,7 +194489,7 @@ func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintpt
res = SQLITE_CHANGESET_OMIT
} else {
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*TSessionApplyCtx)(unsafe.Pointer(p)).FpSelect
- res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConflict})))(tls, pCtx, eType, pIter)
+ res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConflict})))(tls, pCtx, eType, pIter)
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0)
}
*(*int32)(unsafe.Pointer(bp)) = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpSelect)
@@ -202017,7 +194504,7 @@ func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintpt
return SQLITE_OK
} else {
/* No other row with the new.* primary key. */
- res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConflict})))(tls, pCtx, eType+int32(1), pIter)
+ res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConflict})))(tls, pCtx, eType+int32(1), pIter)
if res == int32(SQLITE_CHANGESET_REPLACE) {
*(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_MISUSE)
}
@@ -202068,7 +194555,7 @@ func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintpt
// ** returns SQLITE_ABORT. Otherwise, if no error occurs, SQLITE_OK is
// ** returned.
// */
-func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) (r int32) {
+func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var abPK, pNew, pOld, v1 uintptr
@@ -202108,10 +194595,10 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
Xsqlite3_step(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpDelete)
rc = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpDelete)
if rc == SQLITE_OK && Xsqlite3_changes(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0 && libc.Int32FromUint8((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop) == 0 {
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, xConflict, pCtx, pbRetry)
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, __ccgo_fp_xConflict, pCtx, pbRetry)
} else {
if rc&int32(0xff) == int32(SQLITE_CONSTRAINT) {
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, xConflict, pCtx, uintptr(0))
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, __ccgo_fp_xConflict, pCtx, uintptr(0))
}
}
} else {
@@ -202149,11 +194636,11 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
/* A NOTFOUND or DATA error. Search the table to see if it contains
** a row with a matching primary key. If so, this is a DATA conflict.
** Otherwise, if there is no primary key match, it is a NOTFOUND. */
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, xConflict, pCtx, pbRetry)
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, __ccgo_fp_xConflict, pCtx, pbRetry)
} else {
if rc&int32(0xff) == int32(SQLITE_CONSTRAINT) {
/* This is always a CONSTRAINT conflict. */
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, xConflict, pCtx, uintptr(0))
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, __ccgo_fp_xConflict, pCtx, uintptr(0))
}
}
} else {
@@ -202176,7 +194663,7 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
rc = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpInsert)
}
if rc&int32(0xff) == int32(SQLITE_CONSTRAINT) {
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, xConflict, pCtx, pbReplace)
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, __ccgo_fp_xConflict, pCtx, pbReplace)
}
}
}
@@ -202195,7 +194682,7 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
// ** returns SQLITE_CHANGESET_REPLACE - indicating that the change should be
// ** retried in some manner.
// */
-func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
+func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
@@ -202204,7 +194691,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
_ = rc
*(*int32)(unsafe.Pointer(bp)) = 0
*(*int32)(unsafe.Pointer(bp + 4)) = 0
- rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, bp, bp+4)
+ rc = _sessionApplyOneOp(tls, pIter, pApply, __ccgo_fp_xConflict, pCtx, bp, bp+4)
if rc == SQLITE_OK {
/* If the bRetry flag is set, the change has not been applied due to an
** SQLITE_CHANGESET_DATA problem (i.e. this is an UPDATE or DELETE and
@@ -202214,7 +194701,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
** but pass NULL as the final argument so that sessionApplyOneOp() ignores
** the SQLITE_CHANGESET_DATA problem. */
if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
- rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
+ rc = _sessionApplyOneOp(tls, pIter, pApply, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0))
} else {
if *(*int32)(unsafe.Pointer(bp)) != 0 {
rc = Xsqlite3_exec(tls, db, __ccgo_ts+35168, uintptr(0), uintptr(0), uintptr(0))
@@ -202227,7 +194714,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
rc = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete)
}
if rc == SQLITE_OK {
- rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
+ rc = _sessionApplyOneOp(tls, pIter, pApply, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0))
}
if rc == SQLITE_OK {
rc = Xsqlite3_exec(tls, db, __ccgo_ts+35189, uintptr(0), uintptr(0), uintptr(0))
@@ -202243,7 +194730,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
// /*
// ** Retry the changes accumulated in the pApply->constraints buffer.
// */
-func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
+func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var cons TSessionBuffer
@@ -202270,7 +194757,7 @@ func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab u
libc.X__builtin___memset_chk(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).FapValue, 0, nByte, ^t__predefined_size_t(0))
}
for *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
- *(*int32)(unsafe.Pointer(bp)) = _sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8)), pApply, xConflict, pCtx)
+ *(*int32)(unsafe.Pointer(bp)) = _sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8)), pApply, __ccgo_fp_xConflict, pCtx)
}
rc2 = Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
@@ -202298,7 +194785,7 @@ func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab u
// ** conflict handler callback is invoked to resolve any conflicts encountered
// ** while applying the change.
// */
-func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
+func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
bp := tls.Alloc(352)
defer tls.Free(352)
var bPatchset, i, nMinCol, nTab, rc, rc2, res, schemaMismatch, v2, v3, v4, v6 int32
@@ -202338,7 +194825,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, pIter) {
Xsqlite3changeset_op(tls, pIter, bp+144, bp+136, bp+140, uintptr(0))
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) || Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 144)), *(*uintptr)(unsafe.Pointer(bp)), nTab+int32(1)) != 0 {
- rc = _sessionRetryConstraints(tls, db, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+8, xConflict, pCtx)
+ rc = _sessionRetryConstraints(tls, db, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+8, __ccgo_fp_xConflict, pCtx)
if rc != SQLITE_OK {
break
}
@@ -202362,7 +194849,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
/* If an xFilter() callback was specified, invoke it now. If the
** xFilter callback returns zero, skip this table. If it returns
** non-zero, proceed. */
- schemaMismatch = libc.BoolInt32(xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144))))
+ schemaMismatch = libc.BoolInt32(__ccgo_fp_xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144))))
if schemaMismatch != 0 {
*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3890, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144))))
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
@@ -202438,7 +194925,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
if schemaMismatch != 0 {
continue
}
- rc = _sessionApplyOneWithRetry(tls, db, pIter, bp+8, xConflict, pCtx)
+ rc = _sessionApplyOneWithRetry(tls, db, pIter, bp+8, __ccgo_fp_xConflict, pCtx)
}
bPatchset = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset
if rc == SQLITE_OK {
@@ -202447,7 +194934,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
Xsqlite3changeset_finalize(tls, pIter)
}
if rc == SQLITE_OK {
- rc = _sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+8, xConflict, pCtx)
+ rc = _sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+8, __ccgo_fp_xConflict, pCtx)
}
if rc == SQLITE_OK {
Xsqlite3_db_status(tls, db, int32(SQLITE_DBSTATUS_DEFERRED_FKS), bp+160, bp+164, 0)
@@ -202455,7 +194942,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
res = int32(SQLITE_CHANGESET_ABORT)
libc.X__builtin___memset_chk(tls, bp+168, 0, uint64(152), ^t__predefined_size_t(0))
(*(*Tsqlite3_changeset_iter)(unsafe.Pointer(bp + 168))).FnCol = *(*int32)(unsafe.Pointer(bp + 160))
- res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConflict})))(tls, pCtx, int32(SQLITE_CHANGESET_FOREIGN_KEY), bp+168)
+ res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConflict})))(tls, pCtx, int32(SQLITE_CHANGESET_FOREIGN_KEY), bp+168)
if res != SQLITE_CHANGESET_OMIT {
rc = int32(SQLITE_CONSTRAINT)
}
@@ -202494,13 +194981,17 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
return rc
}
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
// ** Apply the changeset passed via pChangeset/nChangeset to the main
// ** database attached to handle "db".
// */
-func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
+func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var bInv, rc int32
@@ -202509,11 +195000,15 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh
bInv = libc.BoolInt32(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_INVERT) != 0))
rc = _sessionChangesetStart(tls, bp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInv, int32(1))
if rc == SQLITE_OK {
- rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags)
+ rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, ppRebase, pnRebase, flags)
}
return rc
}
+type t__ccgo_fp__Xsqlite3changeset_apply_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
@@ -202521,10 +195016,16 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh
// ** attached to handle "db". Invoke the supplied conflict handler callback
// ** to resolve any conflicts encountered while applying the change.
// */
-func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
- return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0)
+func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
+ return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0), 0)
}
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_strm_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_strm_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
@@ -202532,37 +195033,29 @@ func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChang
// ** attached to handle "db". Invoke the supplied conflict handler callback
// ** to resolve any conflicts encountered while applying the change.
// */
-func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
+func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var bInverse, rc int32
var _ /* pIter at bp+0 */ uintptr
_, _ = bInverse, rc /* Iterator to skip through changeset */
bInverse = libc.BoolInt32(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_INVERT) != 0))
- rc = _sessionChangesetStart(tls, bp, xInput, pIn, 0, uintptr(0), bInverse, int32(1))
+ rc = _sessionChangesetStart(tls, bp, __ccgo_fp_xInput, pIn, 0, uintptr(0), bInverse, int32(1))
if rc == SQLITE_OK {
- rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags)
+ rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, ppRebase, pnRebase, flags)
}
return rc
}
-func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
- return Xsqlite3changeset_apply_v2_strm(tls, db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0)
-}
+type t__ccgo_fp__Xsqlite3changeset_apply_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
-/*
-** sqlite3_changegroup handle.
- */
-type Tsqlite3_changegroup1 = struct {
- Frc int32
- FbPatch int32
- FpList uintptr
- Frec TSessionBuffer
- Fdb uintptr
- FzDb uintptr
-}
+type t__ccgo_fp__Xsqlite3changeset_apply_strm_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_strm_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
-type sqlite3_changegroup1 = Tsqlite3_changegroup1
+func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
+ return Xsqlite3changeset_apply_v2_strm(tls, db, __ccgo_fp_xInput, pIn, __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0), 0)
+}
// C documentation
//
@@ -203138,7 +195631,7 @@ func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase
// ** error code. If an error occurs and xOutput is NULL, (*ppOut) and (*pnOut)
// ** are both set to 0 before returning.
// */
-func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
+func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var i int32
@@ -203173,8 +195666,8 @@ func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOu
_sessionAppendByte(tls, bp+8, (*TSessionChange)(unsafe.Pointer(p)).Fop, bp)
_sessionAppendByte(tls, bp+8, (*TSessionChange)(unsafe.Pointer(p)).FbIndirect, bp)
_sessionAppendBlob(tls, bp+8, (*TSessionChange)(unsafe.Pointer(p)).FaRecord, (*TSessionChange)(unsafe.Pointer(p)).FnRecord, bp)
- if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
+ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && __ccgo_fp_xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
(*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf = 0
}
goto _3
@@ -203193,9 +195686,9 @@ func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOu
pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext
}
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
- if xOutput != 0 {
+ if __ccgo_fp_xOutput != 0 {
if (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf > 0 {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
}
} else {
if ppOut != 0 {
@@ -203306,18 +195799,20 @@ func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppD
return _sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData)
}
+type t__ccgo_fp__Xsqlite3changegroup_add_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Streaming versions of changegroup_add().
// */
-func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) (r int32) {
+func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
var _ /* pIter at bp+0 */ uintptr
_ = rc /* Return code */
- rc = Xsqlite3changeset_start_strm(tls, bp, xInput, pIn)
+ rc = Xsqlite3changeset_start_strm(tls, bp, __ccgo_fp_xInput, pIn)
if rc == SQLITE_OK {
rc = _sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp)), pGrp, 0)
}
@@ -203325,13 +195820,15 @@ func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, p
return rc
}
+type t__ccgo_fp__Xsqlite3changegroup_output_strm_1 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming versions of changegroup_output().
// */
-func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) (r int32) {
- return _sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0))
+func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
+ return _sessionChangegroupOutput(tls, pGrp, __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
}
// C documentation
@@ -203373,12 +195870,18 @@ func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight
return rc
}
+type t__ccgo_fp__Xsqlite3changeset_concat_strm_0 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_concat_strm_2 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_concat_strm_4 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3changeset_concat().
// */
-func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) (r int32) {
+func Xsqlite3changeset_concat_strm(tls *libc.TLS, __ccgo_fp_xInputA uintptr, pInA uintptr, __ccgo_fp_xInputB uintptr, pInB uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
@@ -203386,27 +195889,18 @@ func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr,
_ = rc
rc = Xsqlite3changegroup_new(tls, bp)
if rc == SQLITE_OK {
- rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), xInputA, pInA)
+ rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xInputA, pInA)
}
if rc == SQLITE_OK {
- rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), xInputB, pInB)
+ rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xInputB, pInB)
}
if rc == SQLITE_OK {
- rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), xOutput, pOut)
+ rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xOutput, pOut)
}
Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp)))
return rc
}
-/*
-** Changeset rebaser handle.
- */
-type Tsqlite3_rebaser1 = struct {
- Fgrp Tsqlite3_changegroup
-}
-
-type sqlite3_rebaser1 = Tsqlite3_rebaser1
-
// C documentation
//
// /*
@@ -203561,7 +196055,7 @@ func _sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRe
// ** pnOut are not NULL, then the two output parameters are set to 0 before
// ** returning.
// */
-func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
+func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
bp := tls.Alloc(48)
defer tls.Free(48)
var bDone, iHash, v2 int32
@@ -203669,8 +196163,8 @@ func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pO
_sessionAppendByte(tls, bp+24, libc.Uint8FromInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp)
_sessionAppendBlob(tls, bp+24, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*int32)(unsafe.Pointer(bp + 16)), bp)
}
- if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf > _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf)
+ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && __ccgo_fp_xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf > _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf)
(*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf = 0
}
if *(*int32)(unsafe.Pointer(bp)) != 0 {
@@ -203682,9 +196176,9 @@ func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pO
libc.X__builtin___memset_chk(tls, bp+24, 0, uint64(16), ^t__predefined_size_t(0))
}
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
- if xOutput != 0 {
+ if __ccgo_fp_xOutput != 0 {
if (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf > 0 {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf)
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf)
}
} else {
if ppOut != 0 {
@@ -203758,21 +196252,25 @@ func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pn
return rc
}
+type t__ccgo_fp__Xsqlite3rebaser_rebase_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3rebaser_rebase_strm_3 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Rebase a changeset according to current rebaser configuration
// */
-func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) (r int32) {
+func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
var _ /* pIter at bp+0 */ uintptr
_ = rc
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Iterator to skip through input */
- rc = Xsqlite3changeset_start_strm(tls, bp, xInput, pIn)
+ rc = Xsqlite3changeset_start_strm(tls, bp, __ccgo_fp_xInput, pIn)
if rc == SQLITE_OK {
- rc = _sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp)), xOutput, pOut, uintptr(0), uintptr(0))
+ rc = _sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp)))
}
return rc
@@ -203929,18 +196427,6 @@ type TFts5Colset = struct {
type Fts5Colset = TFts5Colset
-/* If a NEAR() clump or phrase may only match a specific set of columns,
-** then an object of the following type is used to record the set of columns.
-** Each entry in the aiCol[] array is a column that may be matched.
-**
-** This object is used by fts5_expr.c and fts5_index.c.
- */
-type TFts5Colset1 = struct {
- FnCol int32
-}
-
-type Fts5Colset1 = TFts5Colset1
-
/* Size (int bytes) of a complete Fts5Colset object with N columns. */
/**************************************************************************
@@ -204000,99 +196486,6 @@ type TFts5TokenizerConfig = struct {
type Fts5TokenizerConfig = TFts5TokenizerConfig
-type TFts5TokenizerConfig1 = struct {
- FpTok uintptr
- FpApi2 uintptr
- FpApi1 uintptr
- FazArg uintptr
- FnArg int32
- FePattern int32
- FpLocale uintptr
- FnLocale int32
-}
-
-type Fts5TokenizerConfig1 = TFts5TokenizerConfig1
-
-/*
-** An instance of the following structure encodes all information that can
-** be gleaned from the CREATE VIRTUAL TABLE statement.
-**
-** And all information loaded from the %_config table.
-**
-** nAutomerge:
-** The minimum number of segments that an auto-merge operation should
-** attempt to merge together. A value of 1 sets the object to use the
-** compile time default. Zero disables auto-merge altogether.
-**
-** bContentlessDelete:
-** True if the contentless_delete option was present in the CREATE
-** VIRTUAL TABLE statement.
-**
-** zContent:
-**
-** zContentRowid:
-** The value of the content_rowid= option, if one was specified. Or
-** the string "rowid" otherwise. This text is not quoted - if it is
-** used as part of an SQL statement it needs to be quoted appropriately.
-**
-** zContentExprlist:
-**
-** pzErrmsg:
-** This exists in order to allow the fts5_index.c module to return a
-** decent error message if it encounters a file-format version it does
-** not understand.
-**
-** bColumnsize:
-** True if the %_docsize table is created.
-**
-** bPrefixIndex:
-** This is only used for debugging. If set to false, any prefix indexes
-** are ignored. This value is configured using:
-**
-** INSERT INTO tbl(tbl, rank) VALUES('prefix-index', $bPrefixIndex);
-**
-** bLocale:
-** Set to true if locale=1 was specified when the table was created.
- */
-type TFts5Config1 = struct {
- Fdb uintptr
- FpGlobal uintptr
- FzDb uintptr
- FzName uintptr
- FnCol int32
- FazCol uintptr
- FabUnindexed uintptr
- FnPrefix int32
- FaPrefix uintptr
- FeContent int32
- FbContentlessDelete int32
- FbContentlessUnindexed int32
- FzContent uintptr
- FzContentRowid uintptr
- FbColumnsize int32
- FbTokendata int32
- FbLocale int32
- FeDetail int32
- FzContentExprlist uintptr
- Ft TFts5TokenizerConfig
- FbLock int32
- FiVersion int32
- FiCookie int32
- Fpgsz int32
- FnAutomerge int32
- FnCrisisMerge int32
- FnUsermerge int32
- FnHashSize int32
- FzRank uintptr
- FzRankArgs uintptr
- FbSecureDelete int32
- FnDeleteMerge int32
- FbPrefixInsttoken int32
- FpzErrmsg uintptr
-}
-
-type Fts5Config1 = TFts5Config1
-
/*
** End of interface to code in fts5_config.c.
**************************************************************************/
@@ -204114,14 +196507,6 @@ type TFts5Buffer = struct {
type Fts5Buffer = TFts5Buffer
-type TFts5Buffer1 = struct {
- Fp uintptr
- Fn int32
- FnSpace int32
-}
-
-type Fts5Buffer1 = TFts5Buffer1
-
type TFts5PoslistReader = struct {
Fa uintptr
Fn int32
@@ -204133,29 +196518,12 @@ type TFts5PoslistReader = struct {
type Fts5PoslistReader = TFts5PoslistReader
-type TFts5PoslistReader1 = struct {
- Fa uintptr
- Fn int32
- Fi int32
- FbFlag Tu8
- FbEof Tu8
- FiPos Ti64
-}
-
-type Fts5PoslistReader1 = TFts5PoslistReader1
-
type TFts5PoslistWriter = struct {
FiPrev Ti64
}
type Fts5PoslistWriter = TFts5PoslistWriter
-type TFts5PoslistWriter1 = struct {
- FiPrev Ti64
-}
-
-type Fts5PoslistWriter1 = TFts5PoslistWriter1
-
// C documentation
//
// /* Bucket of terms object used by the integrity-check in offsets=0 mode. */
@@ -204211,15 +196579,6 @@ type TFts5IndexIter = struct {
type Fts5IndexIter = TFts5IndexIter
-type TFts5IndexIter1 = struct {
- FiRowid Ti64
- FpData uintptr
- FnData int32
- FbEof Tu8
-}
-
-type Fts5IndexIter1 = TFts5IndexIter1
-
/*
** End of interface to code in fts5_varint.c.
**************************************************************************/
@@ -204241,14 +196600,6 @@ type TFts5Table = struct {
type Fts5Table = TFts5Table
-type TFts5Table1 = struct {
- Fbase Tsqlite3_vtab
- FpConfig uintptr
- FpIndex uintptr
-}
-
-type Fts5Table1 = TFts5Table1
-
/*
** End of interface to code in fts5.c.
**************************************************************************/
@@ -204358,13 +196709,6 @@ type TFts5ExprNearset = struct {
type Fts5ExprNearset = TFts5ExprNearset
-type TFts5Token1 = struct {
- Fp uintptr
- Fn int32
-}
-
-type Fts5Token1 = TFts5Token1
-
type TFts5PoslistPopulator = struct {
Fwriter TFts5PoslistWriter
FbOk int32
@@ -204931,14 +197275,6 @@ var _fts5yy_default = [35]uint8{
** actually contains the reduce action for the second half of the
** SHIFTREDUCE.
*/
-type Tfts5yyStackEntry1 = struct {
- Fstateno uint8
- Fmajor uint8
- Fminor Tfts5YYMINORTYPE
-}
-
-type fts5yyStackEntry1 = Tfts5yyStackEntry1
-
type Tfts5yyStackEntry = struct {
Fstateno uint8
Fmajor uint8
@@ -204949,16 +197285,6 @@ type fts5yyStackEntry = Tfts5yyStackEntry
/* The state of the parser is completely contained in an instance of
** the following structure */
-type Tfts5yyParser1 = struct {
- Ffts5yytos uintptr
- FpParse uintptr
- Ffts5yystackEnd uintptr
- Ffts5yystack uintptr
- Ffts5yystk0 [100]Tfts5yyStackEntry
-}
-
-type fts5yyParser1 = Tfts5yyParser1
-
type Tfts5yyParser = struct {
Ffts5yytos uintptr
FpParse uintptr
@@ -205010,10 +197336,10 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) {
// ** A pointer to a parser. This pointer is used in subsequent calls
// ** to sqlite3Fts5Parser and sqlite3Fts5ParserFree.
// */
-func _sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) (r uintptr) {
+func _sqlite3Fts5ParserAlloc(tls *libc.TLS, __ccgo_fp_mallocProc uintptr) (r uintptr) {
var fts5yypParser uintptr
_ = fts5yypParser
- fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2432))
+ fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_mallocProc})))(tls, libc.Uint64FromInt64(2432))
if fts5yypParser != 0 {
_sqlite3Fts5ParserInit(tls, fts5yypParser)
}
@@ -205119,12 +197445,12 @@ func _sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) {
// ** is defined in a %include section of the input grammar) then it is
// ** assumed that the input pointer is never NULL.
// */
-func _sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) {
+func _sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, __ccgo_fp_freeProc uintptr) {
if p == uintptr(0) {
return
}
_sqlite3Fts5ParserFinalize(tls, p)
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{freeProc})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_freeProc})))(tls, p)
}
/*
@@ -205732,18 +198058,6 @@ type TCInstIter = struct {
type CInstIter = TCInstIter
-type TCInstIter1 = struct {
- FpApi uintptr
- FpFts uintptr
- FiCol int32
- FiInst int32
- FnInst int32
- FiStart int32
- FiEnd int32
-}
-
-type CInstIter1 = TCInstIter1
-
// C documentation
//
// /*
@@ -205826,22 +198140,6 @@ type THighlightContext = struct {
type HighlightContext = THighlightContext
-type THighlightContext1 = struct {
- FiRangeStart int32
- FiRangeEnd int32
- FzOpen uintptr
- FzClose uintptr
- FzIn uintptr
- FnIn int32
- Fiter TCInstIter
- FiPos int32
- FiOff int32
- FbOpen int32
- FzOut uintptr
-}
-
-type HighlightContext1 = THighlightContext1
-
// C documentation
//
// /*
@@ -206019,16 +198317,6 @@ type TFts5SFinder = struct {
type Fts5SFinder = TFts5SFinder
-type TFts5SFinder1 = struct {
- FiPos int32
- FnFirstAlloc int32
- FnFirst int32
- FaFirst uintptr
- FzDoc uintptr
-}
-
-type Fts5SFinder1 = TFts5SFinder1
-
// C documentation
//
// /*
@@ -206396,15 +198684,6 @@ type TFts5Bm25Data = struct {
type Fts5Bm25Data = TFts5Bm25Data
-type TFts5Bm25Data1 = struct {
- FnPhrase int32
- Favgdl float64
- FaIDF uintptr
- FaFreq uintptr
-}
-
-type Fts5Bm25Data1 = TFts5Bm25Data1
-
// C documentation
//
// /*
@@ -207135,21 +199414,6 @@ type TFts5TermsetEntry = struct {
type Fts5TermsetEntry = TFts5TermsetEntry
-type TFts5TermsetEntry1 = struct {
- FpTerm uintptr
- FnTerm int32
- FiIdx int32
- FpNext uintptr
-}
-
-type Fts5TermsetEntry1 = TFts5TermsetEntry1
-
-type TFts5Termset1 = struct {
- FapHash [512]uintptr
-}
-
-type Fts5Termset1 = TFts5Termset1
-
func _sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
@@ -207458,13 +199722,6 @@ func _sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) {
}
}
-type TFts5Enum1 = struct {
- FzName uintptr
- FeVal int32
-}
-
-type Fts5Enum1 = TFts5Enum1
-
type TFts5Enum = struct {
FzName uintptr
FeVal int32
@@ -208120,7 +200377,7 @@ func _sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) (r int32) {
// ** because the callback returned another non-zero value, it is assumed
// ** to be an SQLite error code and returned to the caller.
// */
-func _sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, xToken uintptr) (r int32) {
+func _sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, __ccgo_fp_xToken uintptr) (r int32) {
var rc int32
_ = rc
rc = SQLITE_OK
@@ -208130,9 +200387,9 @@ func _sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uin
}
if rc == SQLITE_OK {
if (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi1 != 0 {
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi1)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, xToken)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi1)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, __ccgo_fp_xToken)
} else {
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer_v2)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi2)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpLocale, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FnLocale, xToken)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer_v2)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi2)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpLocale, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FnLocale, __ccgo_fp_xToken)
}
}
}
@@ -208494,115 +200751,6 @@ type TFts5ExprTerm = struct {
type Fts5ExprTerm = TFts5ExprTerm
-type TFts5Expr1 = struct {
- FpIndex uintptr
- FpConfig uintptr
- FpRoot uintptr
- FbDesc int32
- FnPhrase int32
- FapExprPhrase uintptr
-}
-
-type Fts5Expr1 = TFts5Expr1
-
-/*
-** eType:
-** Expression node type. Usually one of:
-**
-** FTS5_AND (nChild, apChild valid)
-** FTS5_OR (nChild, apChild valid)
-** FTS5_NOT (nChild, apChild valid)
-** FTS5_STRING (pNear valid)
-** FTS5_TERM (pNear valid)
-**
-** An expression node with eType==0 may also exist. It always matches zero
-** rows. This is created when a phrase containing no tokens is parsed.
-** e.g. "".
-**
-** iHeight:
-** Distance from this node to furthest leaf. This is always 0 for nodes
-** of type FTS5_STRING and FTS5_TERM. For all other nodes it is one
-** greater than the largest child value.
- */
-type TFts5ExprNode1 = struct {
- FeType int32
- FbEof int32
- FbNomatch int32
- FiHeight int32
- FxNext uintptr
- FiRowid Ti64
- FpNear uintptr
- FnChild int32
-}
-
-type Fts5ExprNode1 = TFts5ExprNode1
-
-/* Size (in bytes) of an Fts5ExprNode object that holds up to N children */
-
-/*
-** Invoke the xNext method of an Fts5ExprNode object. This macro should be
-** used as if it has the same signature as the xNext() methods themselves.
- */
-
-/*
-** An instance of the following structure represents a single search term
-** or term prefix.
- */
-type TFts5ExprTerm1 = struct {
- FbPrefix Tu8
- FbFirst Tu8
- FpTerm uintptr
- FnQueryTerm int32
- FnFullTerm int32
- FpIter uintptr
- FpSynonym uintptr
-}
-
-type Fts5ExprTerm1 = TFts5ExprTerm1
-
-/*
-** A phrase. One or more terms that must appear in a contiguous sequence
-** within a document for it to match.
- */
-type TFts5ExprPhrase1 = struct {
- FpNode uintptr
- Fposlist TFts5Buffer
- FnTerm int32
-}
-
-type Fts5ExprPhrase1 = TFts5ExprPhrase1
-
-/* Size (in bytes) of an Fts5ExprPhrase object that holds up to N terms */
-
-/*
-** One or more phrases that must appear within a certain token distance of
-** each other within each matching document.
- */
-type TFts5ExprNearset1 = struct {
- FnNear int32
- FpColset uintptr
- FnPhrase int32
-}
-
-type Fts5ExprNearset1 = TFts5ExprNearset1
-
-/* Size (in bytes) of an Fts5ExprNearset object covering up to N phrases */
-
-/*
-** Parse context.
- */
-type TFts5Parse1 = struct {
- FpConfig uintptr
- FzErr uintptr
- Frc int32
- FnPhrase int32
- FapPhrase uintptr
- FpExpr uintptr
- FbPhraseToAnd int32
-}
-
-type Fts5Parse1 = TFts5Parse1
-
/*
** Check that the Fts5ExprNode.iHeight variables are set correctly in
** the expression tree passed as the only argument.
@@ -209287,16 +201435,6 @@ type TFts5LookaheadReader = struct {
type Fts5LookaheadReader = TFts5LookaheadReader
-type TFts5LookaheadReader1 = struct {
- Fa uintptr
- Fn int32
- Fi int32
- FiPos Ti64
- FiLookahead Ti64
-}
-
-type Fts5LookaheadReader1 = TFts5LookaheadReader1
-
func _fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) (r int32) {
(*TFts5LookaheadReader)(unsafe.Pointer(p)).FiPos = (*TFts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead
if _sqlite3Fts5PoslistNext64(tls, (*TFts5LookaheadReader)(unsafe.Pointer(p)).Fa, (*TFts5LookaheadReader)(unsafe.Pointer(p)).Fn, p+12, p+24) != 0 {
@@ -209321,14 +201459,6 @@ type TFts5NearTrimmer = struct {
type Fts5NearTrimmer = TFts5NearTrimmer
-type TFts5NearTrimmer1 = struct {
- Freader TFts5LookaheadReader
- Fwriter TFts5PoslistWriter
- FpOut uintptr
-}
-
-type Fts5NearTrimmer1 = TFts5NearTrimmer1
-
// C documentation
//
// /*
@@ -210449,14 +202579,6 @@ type TTokenCtx = struct {
type TokenCtx = TTokenCtx
-type TTokenCtx1 = struct {
- FpPhrase uintptr
- FpConfig uintptr
- Frc int32
-}
-
-type TokenCtx1 = TTokenCtx1
-
// C documentation
//
// /*
@@ -211397,14 +203519,6 @@ func _sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uin
return nRet
}
-type TFts5PoslistPopulator1 = struct {
- Fwriter TFts5PoslistWriter
- FbOk int32
- FbMiss int32
-}
-
-type Fts5PoslistPopulator1 = TFts5PoslistPopulator1
-
// C documentation
//
// /*
@@ -211444,14 +203558,6 @@ func _sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) (r
return pRet
}
-type TFts5ExprCtx1 = struct {
- FpExpr uintptr
- FaPopulator uintptr
- FiOff Ti64
-}
-
-type Fts5ExprCtx1 = TFts5ExprCtx1
-
type TFts5ExprCtx = struct {
FpExpr uintptr
FaPopulator uintptr
@@ -211815,66 +203921,6 @@ type TFts5HashEntry = struct {
type Fts5HashEntry = TFts5HashEntry
-/*
-** This file contains the implementation of an in-memory hash table used
-** to accumulate "term -> doclist" content before it is flushed to a level-0
-** segment.
- */
-
-type TFts5Hash1 = struct {
- FeDetail int32
- FpnByte uintptr
- FnEntry int32
- FnSlot int32
- FpScan uintptr
- FaSlot uintptr
-}
-
-type Fts5Hash1 = TFts5Hash1
-
-/*
-** Each entry in the hash table is represented by an object of the
-** following type. Each object, its key, and its current data are stored
-** in a single memory allocation. The key immediately follows the object
-** in memory. The position list data immediately follows the key data
-** in memory.
-**
-** The key is Fts5HashEntry.nKey bytes in size. It consists of a single
-** byte identifying the index (either the main term index or a prefix-index),
-** followed by the term data. For example: "0token". There is no
-** nul-terminator - in this case nKey=6.
-**
-** The data that follows the key is in a similar, but not identical format
-** to the doclist data stored in the database. It is:
-**
-** * Rowid, as a varint
-** * Position list, without 0x00 terminator.
-** * Size of previous position list and rowid, as a 4 byte
-** big-endian integer.
-**
-** iRowidOff:
-** Offset of last rowid written to data area. Relative to first byte of
-** structure.
-**
-** nData:
-** Bytes of data written since iRowidOff.
- */
-type TFts5HashEntry1 = struct {
- FpHashNext uintptr
- FpScanNext uintptr
- FnAlloc int32
- FiSzPoslist int32
- FnData int32
- FnKey int32
- FbDel Tu8
- FbContent Tu8
- FiCol Ti16
- FiPos int32
- FiRowid Ti64
-}
-
-type Fts5HashEntry1 = TFts5HashEntry1
-
/*
** Equivalent to:
**
@@ -212924,143 +204970,6 @@ type TFts5TombstoneArray = struct {
type Fts5TombstoneArray = TFts5TombstoneArray
-type TFts5Data1 = struct {
- Fp uintptr
- Fnn int32
- FszLeaf int32
-}
-
-type Fts5Data1 = TFts5Data1
-
-/*
-** One object per %_data table.
-**
-** nContentlessDelete:
-** The number of contentless delete operations since the most recent
-** call to fts5IndexFlush() or fts5IndexDiscardData(). This is tracked
-** so that extra auto-merge work can be done by fts5IndexFlush() to
-** account for the delete operations.
- */
-type TFts5Index1 = struct {
- FpConfig uintptr
- FzDataTbl uintptr
- FnWorkUnit int32
- FpHash uintptr
- FnPendingData int32
- FiWriteRowid Ti64
- FbDelete int32
- FnContentlessDelete int32
- FnPendingRow int32
- Frc int32
- FflushRc int32
- FpReader uintptr
- FpWriter uintptr
- FpDeleter uintptr
- FpIdxWriter uintptr
- FpIdxDeleter uintptr
- FpIdxSelect uintptr
- FpIdxNextSelect uintptr
- FnRead int32
- FpDeleteFromIdx uintptr
- FpDataVersion uintptr
- FiStructVersion Ti64
- FpStruct uintptr
-}
-
-type Fts5Index1 = TFts5Index1
-
-type TFts5DoclistIter1 = struct {
- FaEof uintptr
- FiRowid Ti64
- FaPoslist uintptr
- FnPoslist int32
- FnSize int32
-}
-
-type Fts5DoclistIter1 = TFts5DoclistIter1
-
-/*
-** The contents of the "structure" record for each index are represented
-** using an Fts5Structure record in memory. Which uses instances of the
-** other Fts5StructureXXX types as components.
-**
-** nOriginCntr:
-** This value is set to non-zero for structure records created for
-** contentlessdelete=1 tables only. In that case it represents the
-** origin value to apply to the next top-level segment created.
- */
-type TFts5StructureSegment1 = struct {
- FiSegid int32
- FpgnoFirst int32
- FpgnoLast int32
- FiOrigin1 Tu64
- FiOrigin2 Tu64
- FnPgTombstone int32
- FnEntryTombstone Tu64
- FnEntry Tu64
-}
-
-type Fts5StructureSegment1 = TFts5StructureSegment1
-
-type TFts5StructureLevel1 = struct {
- FnMerge int32
- FnSeg int32
- FaSeg uintptr
-}
-
-type Fts5StructureLevel1 = TFts5StructureLevel1
-
-type TFts5Structure1 = struct {
- FnRef int32
- FnWriteCounter Tu64
- FnOriginCntr Tu64
- FnSegment int32
- FnLevel int32
-}
-
-type Fts5Structure1 = TFts5Structure1
-
-/* Size (in bytes) of an Fts5Structure object holding up to N levels */
-
-/*
-** An object of type Fts5SegWriter is used to write to segments.
- */
-type TFts5PageWriter1 = struct {
- Fpgno int32
- FiPrevPgidx int32
- Fbuf TFts5Buffer
- Fpgidx TFts5Buffer
- Fterm TFts5Buffer
-}
-
-type Fts5PageWriter1 = TFts5PageWriter1
-
-type TFts5DlidxWriter1 = struct {
- Fpgno int32
- FbPrevValid int32
- FiPrev Ti64
- Fbuf TFts5Buffer
-}
-
-type Fts5DlidxWriter1 = TFts5DlidxWriter1
-
-type TFts5SegWriter1 = struct {
- FiSegid int32
- Fwriter TFts5PageWriter
- FiPrevRowid Ti64
- FbFirstRowidInDoclist Tu8
- FbFirstRowidInPage Tu8
- FbFirstTermInPage Tu8
- FnLeafWritten int32
- FnEmpty int32
- FnDlidx int32
- FaDlidx uintptr
- Fbtterm TFts5Buffer
- FiBtPage int32
-}
-
-type Fts5SegWriter1 = TFts5SegWriter1
-
type TFts5CResult = struct {
FiFirst Tu16
FbTermEq Tu8
@@ -213068,191 +204977,6 @@ type TFts5CResult = struct {
type Fts5CResult = TFts5CResult
-type TFts5CResult1 = struct {
- FiFirst Tu16
- FbTermEq Tu8
-}
-
-type Fts5CResult1 = TFts5CResult1
-
-/*
-** Object for iterating through a single segment, visiting each term/rowid
-** pair in the segment.
-**
-** pSeg:
-** The segment to iterate through.
-**
-** iLeafPgno:
-** Current leaf page number within segment.
-**
-** iLeafOffset:
-** Byte offset within the current leaf that is the first byte of the
-** position list data (one byte passed the position-list size field).
-**
-** pLeaf:
-** Buffer containing current leaf page data. Set to NULL at EOF.
-**
-** iTermLeafPgno, iTermLeafOffset:
-** Leaf page number containing the last term read from the segment. And
-** the offset immediately following the term data.
-**
-** flags:
-** Mask of FTS5_SEGITER_XXX values. Interpreted as follows:
-**
-** FTS5_SEGITER_ONETERM:
-** If set, set the iterator to point to EOF after the current doclist
-** has been exhausted. Do not proceed to the next term in the segment.
-**
-** FTS5_SEGITER_REVERSE:
-** This flag is only ever set if FTS5_SEGITER_ONETERM is also set. If
-** it is set, iterate through rowid in descending order instead of the
-** default ascending order.
-**
-** iRowidOffset/nRowidOffset/aRowidOffset:
-** These are used if the FTS5_SEGITER_REVERSE flag is set.
-**
-** For each rowid on the page corresponding to the current term, the
-** corresponding aRowidOffset[] entry is set to the byte offset of the
-** start of the "position-list-size" field within the page.
-**
-** iTermIdx:
-** Index of current term on iTermLeafPgno.
-**
-** apTombstone/nTombstone:
-** These are used for contentless_delete=1 tables only. When the cursor
-** is first allocated, the apTombstone[] array is allocated so that it
-** is large enough for all tombstones hash pages associated with the
-** segment. The pages themselves are loaded lazily from the database as
-** they are required.
- */
-type TFts5SegIter1 = struct {
- FpSeg uintptr
- Fflags int32
- FiLeafPgno int32
- FpLeaf uintptr
- FpNextLeaf uintptr
- FiLeafOffset Ti64
- FpTombArray uintptr
- FxNext uintptr
- FiTermLeafPgno int32
- FiTermLeafOffset int32
- FiPgidxOff int32
- FiEndofDoclist int32
- FiRowidOffset int32
- FnRowidOffset int32
- FaRowidOffset uintptr
- FpDlidx uintptr
- Fterm TFts5Buffer
- FiRowid Ti64
- FnPos int32
- FbDel Tu8
-}
-
-type Fts5SegIter1 = TFts5SegIter1
-
-/*
-** Array of tombstone pages. Reference counted.
- */
-type TFts5TombstoneArray1 = struct {
- F__ccgo_align [0]uint64
- FnRef int32
- FnTombstone int32
-}
-
-type Fts5TombstoneArray1 = TFts5TombstoneArray1
-
-/* Size (in bytes) of an Fts5TombstoneArray holding up to N tombstones */
-
-/*
-** Argument is a pointer to an Fts5Data structure that contains a
-** leaf page.
- */
-
-/*
-** Argument is a pointer to an Fts5Data structure that contains a leaf
-** page. This macro evaluates to true if the leaf contains no terms, or
-** false if it contains at least one term.
- */
-
-/*
-** Object for iterating through the merged results of one or more segments,
-** visiting each term/rowid pair in the merged data.
-**
-** nSeg is always a power of two greater than or equal to the number of
-** segments that this object is merging data from. Both the aSeg[] and
-** aFirst[] arrays are sized at nSeg entries. The aSeg[] array is padded
-** with zeroed objects - these are handled as if they were iterators opened
-** on empty segments.
-**
-** The results of comparing segments aSeg[N] and aSeg[N+1], where N is an
-** even number, is stored in aFirst[(nSeg+N)/2]. The "result" of the
-** comparison in this context is the index of the iterator that currently
-** points to the smaller term/rowid combination. Iterators at EOF are
-** considered to be greater than all other iterators.
-**
-** aFirst[1] contains the index in aSeg[] of the iterator that points to
-** the smallest key overall. aFirst[0] is unused.
-**
-** poslist:
-** Used by sqlite3Fts5IterPoslist() when the poslist needs to be buffered.
-** There is no way to tell if this is populated or not.
-**
-** pColset:
-** If not NULL, points to an object containing a set of column indices.
-** Only matches that occur in one of these columns will be returned.
-** The Fts5Iter does not own the Fts5Colset object, and so it is not
-** freed when the iterator is closed - it is owned by the upper layer.
- */
-type TFts5Iter1 = struct {
- Fbase TFts5IndexIter
- FpTokenDataIter uintptr
- FpIndex uintptr
- Fposlist TFts5Buffer
- FpColset uintptr
- FxSetOutputs uintptr
- FnSeg int32
- FbRev int32
- FbSkipEmpty Tu8
- FiSwitchRowid Ti64
- FaFirst uintptr
-}
-
-type Fts5Iter1 = TFts5Iter1
-
-/* Size (in bytes) of an Fts5Iter object holding up to N segment iterators */
-
-/*
-** An instance of the following type is used to iterate through the contents
-** of a doclist-index record.
-**
-** pData:
-** Record containing the doclist-index data.
-**
-** bEof:
-** Set to true once iterator has reached EOF.
-**
-** iOff:
-** Set to the current offset within record pData.
- */
-type TFts5DlidxLvl1 = struct {
- FpData uintptr
- FiOff int32
- FbEof int32
- FiFirstOff int32
- FiLeafPgno int32
- FiRowid Ti64
-}
-
-type Fts5DlidxLvl1 = TFts5DlidxLvl1
-
-type TFts5DlidxIter1 = struct {
- F__ccgo_align [0]uint64
- FnLvl int32
- FiSegid int32
-}
-
-type Fts5DlidxIter1 = TFts5DlidxIter1
-
/* Size (in bytes) of an Fts5DlidxIter object with up to N levels */
func _fts5PutU16(tls *libc.TLS, aOut uintptr, iVal Tu16) {
@@ -216184,14 +207908,6 @@ type TPoslistCallbackCtx = struct {
type PoslistCallbackCtx = TPoslistCallbackCtx
-type TPoslistCallbackCtx1 = struct {
- FpBuf uintptr
- FpColset uintptr
- FeState int32
-}
-
-type PoslistCallbackCtx1 = TPoslistCallbackCtx1
-
type TPoslistOffsetsCtx = struct {
FpBuf uintptr
FpColset uintptr
@@ -216201,15 +207917,6 @@ type TPoslistOffsetsCtx = struct {
type PoslistOffsetsCtx = TPoslistOffsetsCtx
-type TPoslistOffsetsCtx1 = struct {
- FpBuf uintptr
- FpColset uintptr
- FiRead int32
- FiWrite int32
-}
-
-type PoslistOffsetsCtx1 = TPoslistOffsetsCtx1
-
// C documentation
//
// /*
@@ -216323,7 +208030,7 @@ func _fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr
}
}
-func _fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) {
+func _fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, __ccgo_fp_xChunk uintptr) {
var nChunk, nRem, pgno, pgnoSave, v2 int32
var pChunk, pData uintptr
var v1 int64
@@ -216344,7 +208051,7 @@ func _fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xCh
pgnoSave = pgno + int32(1)
}
for int32(1) != 0 {
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{xChunk})))(tls, p, pCtx, pChunk, nChunk)
+ (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xChunk})))(tls, p, pCtx, pChunk, nChunk)
nRem -= nChunk
_fts5DataRelease(tls, pData)
if nRem <= 0 {
@@ -217937,13 +209644,6 @@ type TFts5FlushCtx = struct {
type Fts5FlushCtx = TFts5FlushCtx
-type TFts5FlushCtx1 = struct {
- FpIdx uintptr
- Fwriter TFts5SegWriter
-}
-
-type Fts5FlushCtx1 = TFts5FlushCtx1
-
// C documentation
//
// /*
@@ -219064,16 +210764,6 @@ type TPrefixMerger = struct {
type PrefixMerger = TPrefixMerger
-type TPrefixMerger1 = struct {
- Fiter TFts5DoclistIter
- FiPos Ti64
- FiOff int32
- FaPos uintptr
- FpNext uintptr
-}
-
-type PrefixMerger1 = TPrefixMerger1
-
func _fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) {
var pp uintptr
_ = pp
@@ -219291,7 +210981,7 @@ func _fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBu
// ** If parameter pColset is not NULL, then it is used to filter entries before
// ** the callback is invoked.
// */
-func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr, nToken int32, bPrefix int32, xVisit uintptr, pCtx uintptr) (r int32) {
+func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr, nToken int32, bPrefix int32, __ccgo_fp_xVisit uintptr, pCtx uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var flags, nNew, v1 int32
@@ -219328,7 +211018,7 @@ func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr
break
}
}
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{xVisit})))(tls, p, pCtx, *(*uintptr)(unsafe.Pointer(bp)), pNew, nNew)
+ (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xVisit})))(tls, p, pCtx, *(*uintptr)(unsafe.Pointer(bp)), pNew, nNew)
goto _2
_2:
;
@@ -219339,70 +211029,6 @@ func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr
return (*TFts5Index)(unsafe.Pointer(p)).Frc
}
-/*
-** Usually, a tokendata=1 iterator (struct Fts5TokenDataIter) accumulates an
-** array of these for each row it visits (so all iRowid fields are the same).
-** Or, for an iterator used by an "ORDER BY rank" query, it accumulates an
-** array of these for the entire query (in which case iRowid fields may take
-** a variety of values).
-**
-** Each instance in the array indicates the iterator (and therefore term)
-** associated with position iPos of rowid iRowid. This is used by the
-** xInstToken() API.
-**
-** iRowid:
-** Rowid for the current entry.
-**
-** iPos:
-** Position of current entry within row. In the usual ((iCol<<32)+iOff)
-** format (e.g. see macros FTS5_POS2COLUMN() and FTS5_POS2OFFSET()).
-**
-** iIter:
-** If the Fts5TokenDataIter iterator that the entry is part of is
-** actually an iterator (i.e. with nIter>0, not just a container for
-** Fts5TokenDataMap structures), then this variable is an index into
-** the apIter[] array. The corresponding term is that which the iterator
-** at apIter[iIter] currently points to.
-**
-** Or, if the Fts5TokenDataIter iterator is just a container object
-** (nIter==0), then iIter is an index into the term.p[] buffer where
-** the term is stored.
-**
-** nByte:
-** In the case where iIter is an index into term.p[], this variable
-** is the size of the term in bytes. If iIter is an index into apIter[],
-** this variable is unused.
- */
-type TFts5TokenDataMap1 = struct {
- FiRowid Ti64
- FiPos Ti64
- FiIter int32
- FnByte int32
-}
-
-type Fts5TokenDataMap1 = TFts5TokenDataMap1
-
-/*
-** An object used to supplement Fts5Iter for tokendata=1 iterators.
-**
-** This object serves two purposes. The first is as a container for an array
-** of Fts5TokenDataMap structures, which are used to find the token required
-** when the xInstToken() API is used. This is done by the nMapAlloc, nMap and
-** aMap[] variables.
- */
-type TFts5TokenDataIter1 = struct {
- FnMapAlloc int32
- FnMap int32
- FaMap uintptr
- Fterms TFts5Buffer
- FnIter int32
- FnIterAlloc int32
- FaPoslistReader uintptr
- FaPoslistToIter uintptr
-}
-
-type Fts5TokenDataIter1 = TFts5TokenDataIter1
-
/* Size in bytes of an Fts5TokenDataIter object holding up to N iterators */
// C documentation
@@ -219571,14 +211197,6 @@ type TTokendataSetupCtx = struct {
type TokendataSetupCtx = TTokendataSetupCtx
-type TTokendataSetupCtx1 = struct {
- FpT uintptr
- FiTermOff int32
- FnTermByte int32
-}
-
-type TokendataSetupCtx1 = TTokendataSetupCtx1
-
// C documentation
//
// /*
@@ -219625,19 +211243,6 @@ type TPrefixSetupCtx = struct {
type PrefixSetupCtx = TPrefixSetupCtx
-type TPrefixSetupCtx1 = struct {
- FxMerge uintptr
- FxAppend uintptr
- FiLastRowid Ti64
- FnMerge int32
- FaBuf uintptr
- FnBuf int32
- Fdoclist TFts5Buffer
- FpTokendata uintptr
-}
-
-type PrefixSetupCtx1 = TPrefixSetupCtx1
-
// C documentation
//
// /*
@@ -221953,87 +213558,6 @@ type TFts5TransactionState = struct {
type Fts5TransactionState = TFts5TransactionState
-/*
-** A single object of this type is allocated when the FTS5 module is
-** registered with a database handle. It is used to store pointers to
-** all registered FTS5 extensions - tokenizers and auxiliary functions.
- */
-type TFts5Global1 = struct {
- Fapi Tfts5_api
- Fdb uintptr
- FiNextId Ti64
- FpAux uintptr
- FpTok uintptr
- FpDfltTok uintptr
- FpCsr uintptr
- FaLocaleHdr [4]Tu32
-}
-
-type Fts5Global1 = TFts5Global1
-
-/*
-** Size of header on fts5_locale() values. And macro to access a buffer
-** containing a copy of the header from an Fts5Config pointer.
- */
-
-/*
-** Each auxiliary function registered with the FTS5 module is represented
-** by an object of the following type. All such objects are stored as part
-** of the Fts5Global.pAux list.
- */
-type TFts5Auxiliary1 = struct {
- FpGlobal uintptr
- FzFunc uintptr
- FpUserData uintptr
- FxFunc Tfts5_extension_function
- FxDestroy uintptr
- FpNext uintptr
-}
-
-type Fts5Auxiliary1 = TFts5Auxiliary1
-
-/*
-** Each tokenizer module registered with the FTS5 module is represented
-** by an object of the following type. All such objects are stored as part
-** of the Fts5Global.pTok list.
-**
-** bV2Native:
-** True if the tokenizer was registered using xCreateTokenizer_v2(), false
-** for xCreateTokenizer(). If this variable is true, then x2 is populated
-** with the routines as supplied by the caller and x1 contains synthesized
-** wrapper routines. In this case the user-data pointer passed to
-** x1.xCreate should be a pointer to the Fts5TokenizerModule structure,
-** not a copy of pUserData.
-**
-** Of course, if bV2Native is false, then x1 contains the real routines and
-** x2 the synthesized ones. In this case a pointer to the Fts5TokenizerModule
-** object should be passed to x2.xCreate.
-**
-** The synthesized wrapper routines are necessary for xFindTokenizer(_v2)
-** calls.
- */
-type TFts5TokenizerModule1 = struct {
- FzName uintptr
- FpUserData uintptr
- FbV2Native int32
- Fx1 Tfts5_tokenizer
- Fx2 Tfts5_tokenizer_v2
- FxDestroy uintptr
- FpNext uintptr
-}
-
-type Fts5TokenizerModule1 = TFts5TokenizerModule1
-
-type TFts5FullTable1 = struct {
- Fp TFts5Table
- FpStorage uintptr
- FpGlobal uintptr
- FpSortCsr uintptr
- FiSavepoint int32
-}
-
-type Fts5FullTable1 = TFts5FullTable1
-
type TFts5MatchPhrase = struct {
FpPoslist uintptr
FnTerm int32
@@ -222041,97 +213565,6 @@ type TFts5MatchPhrase = struct {
type Fts5MatchPhrase = TFts5MatchPhrase
-/*
-** pStmt:
-** SELECT rowid, FROM ORDER BY +rank;
-**
-** aIdx[]:
-** There is one entry in the aIdx[] array for each phrase in the query,
-** the value of which is the offset within aPoslist[] following the last
-** byte of the position list for the corresponding phrase.
- */
-type TFts5Sorter1 = struct {
- FpStmt uintptr
- FiRowid Ti64
- FaPoslist uintptr
- FnIdx int32
-}
-
-type Fts5Sorter1 = TFts5Sorter1
-
-/* Size (int bytes) of an Fts5Sorter object with N indexes */
-
-/*
-** Virtual-table cursor object.
-**
-** iSpecial:
-** If this is a 'special' query (refer to function fts5SpecialMatch()),
-** then this variable contains the result of the query.
-**
-** iFirstRowid, iLastRowid:
-** These variables are only used for FTS5_PLAN_MATCH cursors. Assuming the
-** cursor iterates in ascending order of rowids, iFirstRowid is the lower
-** limit of rowids to return, and iLastRowid the upper. In other words, the
-** WHERE clause in the user's query might have been:
-**
-** MATCH AND rowid BETWEEN $iFirstRowid AND $iLastRowid
-**
-** If the cursor iterates in descending order of rowid, iFirstRowid
-** is the upper limit (i.e. the "first" rowid visited) and iLastRowid
-** the lower.
- */
-type TFts5Cursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FpNext uintptr
- FaColumnSize uintptr
- FiCsrId Ti64
- FePlan int32
- FbDesc int32
- FiFirstRowid Ti64
- FiLastRowid Ti64
- FpStmt uintptr
- FpExpr uintptr
- FpSorter uintptr
- Fcsrflags int32
- FiSpecial Ti64
- FzRank uintptr
- FzRankArgs uintptr
- FpRank uintptr
- FnRankArg int32
- FapRankArg uintptr
- FpRankArgStmt uintptr
- FpAux uintptr
- FpAuxdata uintptr
- FaInstIter uintptr
- FnInstAlloc int32
- FnInstCount int32
- FaInst uintptr
-}
-
-type Fts5Cursor1 = TFts5Cursor1
-
-/*
-** Bits that make up the "idxNum" parameter passed indirectly by
-** xBestIndex() to xFilter().
- */
-
-/*
-** Values for Fts5Cursor.csrflags
- */
-
-/*
-** Macros to Set(), Clear() and Test() cursor flags.
- */
-
-type TFts5Auxdata1 = struct {
- FpAux uintptr
- FpPtr uintptr
- FxDelete uintptr
- FpNext uintptr
-}
-
-type Fts5Auxdata1 = TFts5Auxdata1
-
// C documentation
//
// /*
@@ -224099,7 +215532,7 @@ func _fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) (r int32) {
// /*
// ** Implementation of xTokenize_v2() API.
// */
-func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pLoc uintptr, nLoc int32, pUserData uintptr, xToken uintptr) (r int32) {
+func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pLoc uintptr, nLoc int32, pUserData uintptr, __ccgo_fp_xToken uintptr) (r int32) {
var pCsr, pTab uintptr
var rc int32
_, _, _ = pCsr, pTab, rc
@@ -224107,7 +215540,7 @@ func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32
pTab = (*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab
rc = SQLITE_OK
_sqlite3Fts5SetLocale(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, pLoc, nLoc)
- rc = _sqlite3Fts5Tokenize(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, int32(FTS5_TOKENIZE_AUX), pText, nText, pUserData, xToken)
+ rc = _sqlite3Fts5Tokenize(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, int32(FTS5_TOKENIZE_AUX), pText, nText, pUserData, __ccgo_fp_xToken)
_sqlite3Fts5SetLocale(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, uintptr(0), 0)
return rc
}
@@ -224118,8 +215551,8 @@ func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32
// ** Implementation of xTokenize() API. This is just xTokenize_v2() with NULL/0
// ** passed as the locale.
// */
-func _fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) (r int32) {
- return _fts5ApiTokenize_v2(tls, pCtx, pText, nText, uintptr(0), 0, pUserData, xToken)
+func _fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, __ccgo_fp_xToken uintptr) (r int32) {
+ return _fts5ApiTokenize_v2(tls, pCtx, pText, nText, uintptr(0), 0, pUserData, __ccgo_fp_xToken)
}
func _fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) (r int32) {
@@ -224527,7 +215960,7 @@ func _fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr
// /*
// ** Implementation of the xSetAuxdata() method.
// */
-func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintptr) (r int32) {
+func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, __ccgo_fp_xDelete uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var pCsr, pData uintptr
@@ -224557,8 +215990,8 @@ func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintp
*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
pData = _sqlite3Fts5MallocZero(tls, bp, int64(32))
if pData == uintptr(0) {
- if xDelete != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDelete})))(tls, pPtr)
+ if __ccgo_fp_xDelete != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDelete})))(tls, pPtr)
}
return *(*int32)(unsafe.Pointer(bp))
}
@@ -224566,7 +215999,7 @@ func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintp
(*TFts5Auxdata)(unsafe.Pointer(pData)).FpNext = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpAuxdata
(*TFts5Cursor)(unsafe.Pointer(pCsr)).FpAuxdata = pData
}
- (*TFts5Auxdata)(unsafe.Pointer(pData)).FxDelete = xDelete
+ (*TFts5Auxdata)(unsafe.Pointer(pData)).FxDelete = __ccgo_fp_xDelete
(*TFts5Auxdata)(unsafe.Pointer(pData)).FpPtr = pPtr
return SQLITE_OK
}
@@ -224858,7 +216291,7 @@ func init() {
// /*
// ** Implementation of API function xQueryPhrase().
// */
-func _fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) (r int32) {
+func _fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, __ccgo_fp_xCallback uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var pCsr, pTab uintptr
@@ -224882,7 +216315,7 @@ func _fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData u
if !(rc == SQLITE_OK && (*TFts5Cursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcsrflags&int32(FTS5CSR_EOF) == 0) {
break
}
- rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xCallback})))(tls, uintptr(unsafe.Pointer(&_sFts5Api)), *(*uintptr)(unsafe.Pointer(bp)), pUserData)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xCallback})))(tls, uintptr(unsafe.Pointer(&_sFts5Api)), *(*uintptr)(unsafe.Pointer(bp)), pUserData)
if rc != SQLITE_OK {
if rc == int32(SQLITE_DONE) {
rc = SQLITE_OK
@@ -225169,14 +216602,14 @@ func _fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32)
// ** This routine implements the xFindFunction method for the FTS3
// ** virtual table.
// */
-func _fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) {
+func _fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, __ccgo_fp_pxFunc uintptr, ppArg uintptr) (r int32) {
var pAux, pTab uintptr
_, _ = pAux, pTab
pTab = pVtab
_ = nUnused
pAux = _fts5FindAuxiliary(tls, pTab, zName)
if pAux != 0 {
- *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_fts5ApiCallback)
+ *(*uintptr)(unsafe.Pointer(__ccgo_fp_pxFunc)) = __ccgo_fp(_fts5ApiCallback)
*(*uintptr)(unsafe.Pointer(ppArg)) = pAux
return int32(1)
}
@@ -225271,7 +216704,7 @@ func _fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) (r in
// /*
// ** Register a new auxiliary function with global context pGlobal.
// */
-func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Tfts5_extension_function, xDestroy uintptr) (r int32) {
+func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, __ccgo_fp_xFunc Tfts5_extension_function, __ccgo_fp_xDestroy uintptr) (r int32) {
var nByte, nName Tsqlite3_int64
var pAux, pGlobal uintptr
var rc int32
@@ -225288,8 +216721,8 @@ func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintpt
libc.X__builtin___memcpy_chk(tls, (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FzFunc, zName, libc.Uint64FromInt64(nName), ^t__predefined_size_t(0))
(*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal = pGlobal
(*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpUserData = pUserData
- (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxFunc = xFunc
- (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy = xDestroy
+ (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxFunc = __ccgo_fp_xFunc
+ (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy = __ccgo_fp_xDestroy
(*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpNext = (*TFts5Global)(unsafe.Pointer(pGlobal)).FpAux
(*TFts5Global)(unsafe.Pointer(pGlobal)).FpAux = pAux
} else {
@@ -225316,7 +216749,7 @@ func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintpt
// ** If an error occurs, an SQLite error code is returned and the final value
// ** of (*ppNew) undefined.
// */
-func _fts5NewTokenizerModule(tls *libc.TLS, pGlobal uintptr, zName uintptr, pUserData uintptr, xDestroy uintptr, ppNew uintptr) (r int32) {
+func _fts5NewTokenizerModule(tls *libc.TLS, pGlobal uintptr, zName uintptr, pUserData uintptr, __ccgo_fp_xDestroy uintptr, ppNew uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var nByte, nName Tsqlite3_int64
@@ -225333,7 +216766,7 @@ func _fts5NewTokenizerModule(tls *libc.TLS, pGlobal uintptr, zName uintptr, pUse
(*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FzName = pNew + 1*96
libc.X__builtin___memcpy_chk(tls, (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FzName, zName, libc.Uint64FromInt64(nName), ^t__predefined_size_t(0))
(*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FpUserData = pUserData
- (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FxDestroy = xDestroy
+ (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FxDestroy = __ccgo_fp_xDestroy
(*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FpNext = (*TFts5Global)(unsafe.Pointer(pGlobal)).FpTok
(*TFts5Global)(unsafe.Pointer(pGlobal)).FpTok = pNew
if (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FpNext == uintptr(0) {
@@ -225360,15 +216793,6 @@ type TFts5VtoVTokenizer = struct {
type Fts5VtoVTokenizer = TFts5VtoVTokenizer
-type TFts5VtoVTokenizer1 = struct {
- FbV2Native int32
- Fx1 Tfts5_tokenizer
- Fx2 Tfts5_tokenizer_v2
- FpReal uintptr
-}
-
-type Fts5VtoVTokenizer1 = TFts5VtoVTokenizer1
-
// C documentation
//
// /*
@@ -225428,11 +216852,11 @@ func _fts5VtoVDelete(tls *libc.TLS, pTok uintptr) {
// ** xTokenizer method for a wrapper tokenizer that offers the v1 interface
// ** (no support for locales).
// */
-func _fts5V1toV2Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5V1toV2Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
var p uintptr
_ = p
p = pTok
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx2.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, uintptr(0), 0, xToken)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx2.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, uintptr(0), 0, __ccgo_fp_xToken)
}
// C documentation
@@ -225441,13 +216865,13 @@ func _fts5V1toV2Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32,
// ** xTokenizer method for a wrapper tokenizer that offers the v2 interface
// ** (with locale support).
// */
-func _fts5V2toV1Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLocale uintptr, nLocale int32, xToken uintptr) (r int32) {
+func _fts5V2toV1Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLocale uintptr, nLocale int32, __ccgo_fp_xToken uintptr) (r int32) {
var p uintptr
_ = p
p = pTok
_ = pLocale
_ = nLocale
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx1.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, xToken)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx1.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, __ccgo_fp_xToken)
}
// C documentation
@@ -225456,7 +216880,7 @@ func _fts5V2toV1Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32,
// ** Register a new tokenizer. This is the implementation of the
// ** fts5_api.xCreateTokenizer_v2() method.
// */
-func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) (r int32) {
+func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var pGlobal uintptr
@@ -225469,7 +216893,7 @@ func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserDa
rc = int32(SQLITE_ERROR)
} else {
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
- rc = _fts5NewTokenizerModule(tls, pGlobal, zName, pUserData, xDestroy, bp)
+ rc = _fts5NewTokenizerModule(tls, pGlobal, zName, pUserData, __ccgo_fp_xDestroy, bp)
if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fx2 = *(*Tfts5_tokenizer_v2)(unsafe.Pointer(pTokenizer))
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FbV2Native = int32(1)
@@ -225486,7 +216910,7 @@ func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserDa
// /*
// ** The fts5_api.xCreateTokenizer() method.
// */
-func _fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) (r int32) {
+func _fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
@@ -225494,7 +216918,7 @@ func _fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData
_ = rc
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
rc = SQLITE_OK
- rc = _fts5NewTokenizerModule(tls, pApi, zName, pUserData, xDestroy, bp)
+ rc = _fts5NewTokenizerModule(tls, pApi, zName, pUserData, __ccgo_fp_xDestroy, bp)
if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fx1 = *(*Tfts5_tokenizer)(unsafe.Pointer(pTokenizer))
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fx2.FxCreate = __ccgo_fp(_fts5VtoVCreate)
@@ -225966,60 +217390,6 @@ func _sqlite3Fts5Init(tls *libc.TLS, db uintptr) (r int32) {
return _fts5Init(tls, db)
}
-/*
-** 2014 May 31
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
- */
-
-/* #include "fts5Int.h" */
-
-/*
-** pSavedRow:
-** SQL statement FTS5_STMT_LOOKUP2 is a copy of FTS5_STMT_LOOKUP, it
-** does a by-rowid lookup to retrieve a single row from the %_content
-** table or equivalent external-content table/view.
-**
-** However, FTS5_STMT_LOOKUP2 is only used when retrieving the original
-** values for a row being UPDATEd. In that case, the SQL statement is
-** not reset and pSavedRow is set to point at it. This is so that the
-** insert operation that follows the delete may access the original
-** row values for any new values for which sqlite3_value_nochange() returns
-** true. i.e. if the user executes:
-**
-** CREATE VIRTUAL TABLE ft USING fts5(a, b, c, locale=1);
-** ...
-** UPDATE fts SET a=?, b=? WHERE rowid=?;
-**
-** then the value passed to the xUpdate() method of this table as the
-** new.c value is an sqlite3_value_nochange() value. So in this case it
-** must be read from the saved row stored in Fts5Storage.pSavedRow.
-**
-** This is necessary - using sqlite3_value_nochange() instead of just having
-** SQLite pass the original value back via xUpdate() - so as not to discard
-** any locale information associated with such values.
-**
- */
-type TFts5Storage1 = struct {
- FpConfig uintptr
- FpIndex uintptr
- FbTotalsValid int32
- FnTotalRow Ti64
- FaTotalSize uintptr
- FpSavedRow uintptr
- FaStmt [12]uintptr
-}
-
-type Fts5Storage1 = TFts5Storage1
-
// C documentation
//
// /*
@@ -226376,14 +217746,6 @@ type TFts5InsertCtx = struct {
type Fts5InsertCtx = TFts5InsertCtx
-type TFts5InsertCtx1 = struct {
- FpStorage uintptr
- FiCol int32
- FszCol int32
-}
-
-type Fts5InsertCtx1 = TFts5InsertCtx1
-
// C documentation
//
// /*
@@ -227114,17 +218476,6 @@ type TFts5IntegrityCtx = struct {
type Fts5IntegrityCtx = TFts5IntegrityCtx
-type TFts5IntegrityCtx1 = struct {
- FiRowid Ti64
- FiCol int32
- FszCol int32
- Fcksum Tu64
- FpTermset uintptr
- FpConfig uintptr
-}
-
-type Fts5IntegrityCtx1 = TFts5IntegrityCtx1
-
// C documentation
//
// /*
@@ -227629,12 +218980,6 @@ type TAsciiTokenizer = struct {
type AsciiTokenizer = TAsciiTokenizer
-type TAsciiTokenizer1 = struct {
- FaTokenChar [128]uint8
-}
-
-type AsciiTokenizer1 = TAsciiTokenizer1
-
func _fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) {
var i int32
_ = i
@@ -227739,7 +219084,7 @@ func _asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) {
// /*
// ** Tokenize some text using the ascii tokenizer.
// */
-func _fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
bp := tls.Alloc(64)
defer tls.Free(64)
var a, p, pFold uintptr
@@ -227781,7 +219126,7 @@ func _fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused
}
_asciiFold(tls, pFold, pText+uintptr(is), nByte)
/* Invoke the token callback */
- rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xToken})))(tls, pCtx, 0, pFold, nByte, is, ie)
+ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xToken})))(tls, pCtx, 0, pFold, nByte, is, ie)
is = ie + int32(1)
}
if pFold != bp {
@@ -227815,18 +219160,6 @@ type TUnicode61Tokenizer = struct {
type Unicode61Tokenizer = TUnicode61Tokenizer
-type TUnicode61Tokenizer1 = struct {
- FaTokenChar [128]uint8
- FaFold uintptr
- FnFold int32
- FeRemoveDiacritic int32
- FnException int32
- FaiException uintptr
- FaCategory [32]uint8
-}
-
-type Unicode61Tokenizer1 = TUnicode61Tokenizer1
-
/* Values for eRemoveDiacritic (must match internals of fts5_unicode2.c) */
func _fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) (r int32) {
@@ -228052,7 +219385,7 @@ func _fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) (r int32) {
return libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 160 + uintptr(_sqlite3Fts5UnicodeCategory(tls, libc.Uint32FromInt32(iCode)))))) ^ _fts5UnicodeIsException(tls, p, iCode)
}
-func _fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
var a, aFold, p, pEnd, zCsr, zOut, zTerm, v10, v11, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v26, v27, v3, v4 uintptr
var iCode Tu32
var ie, is, nFold, rc, v7 int32
@@ -228239,7 +219572,7 @@ _9:
_5:
;
/* Invoke the token callback */
- rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xToken})))(tls, pCtx, 0, aFold, int32(int64(zOut)-int64(aFold)), is, ie)
+ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xToken})))(tls, pCtx, 0, aFold, int32(int64(zOut)-int64(aFold)), is, ie)
goto _2
_1:
;
@@ -228267,14 +219600,6 @@ type TPorterTokenizer = struct {
type PorterTokenizer = TPorterTokenizer
-type TPorterTokenizer1 = struct {
- Ftokenizer_v2 Tfts5_tokenizer_v2
- FpTokenizer uintptr
- FaBuf [128]int8
-}
-
-type PorterTokenizer1 = TPorterTokenizer1
-
// C documentation
//
// /*
@@ -228352,14 +219677,6 @@ type TPorterContext = struct {
type PorterContext = TPorterContext
-type TPorterContext1 = struct {
- FpCtx uintptr
- FxToken uintptr
- FaBuf uintptr
-}
-
-type PorterContext1 = TPorterContext1
-
type TPorterRule = struct {
FzSuffix uintptr
FnSuffix int32
@@ -228370,16 +219687,6 @@ type TPorterRule = struct {
type PorterRule = TPorterRule
-type TPorterRule1 = struct {
- FzSuffix uintptr
- FnSuffix int32
- FxCond uintptr
- FzOutput uintptr
- FnOutput int32
-}
-
-type PorterRule1 = TPorterRule1
-
func _fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) (r int32) {
return libc.BoolInt32(int32(c) == int32('a') || int32(c) == int32('e') || int32(c) == int32('i') || int32(c) == int32('o') || int32(c) == int32('u') || bYIsVowel != 0 && int32(c) == int32('y'))
}
@@ -229005,14 +220312,14 @@ pass_through:
// /*
// ** Tokenize using the porter tokenizer.
// */
-func _fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLoc uintptr, nLoc int32, xToken uintptr) (r int32) {
+func _fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLoc uintptr, nLoc int32, __ccgo_fp_xToken uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var p uintptr
var _ /* sCtx at bp+0 */ TPorterContext
_ = p
p = pTokenizer
- (*(*TPorterContext)(unsafe.Pointer(bp))).FxToken = xToken
+ (*(*TPorterContext)(unsafe.Pointer(bp))).FxToken = __ccgo_fp_xToken
(*(*TPorterContext)(unsafe.Pointer(bp))).FpCtx = pCtx
(*(*TPorterContext)(unsafe.Pointer(bp))).FaBuf = p + 40
return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TPorterTokenizer)(unsafe.Pointer(p)).Ftokenizer_v2.FxTokenize})))(tls, (*TPorterTokenizer)(unsafe.Pointer(p)).FpTokenizer, bp, flags, pText, nText, pLoc, nLoc, __ccgo_fp(_fts5PorterCb))
@@ -229030,13 +220337,6 @@ type TTrigramTokenizer = struct {
type TrigramTokenizer = TTrigramTokenizer
-type TTrigramTokenizer1 = struct {
- FbFold int32
- FiFoldParam int32
-}
-
-type TrigramTokenizer1 = TTrigramTokenizer1
-
// C documentation
//
// /*
@@ -229118,7 +220418,7 @@ func _fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, p
// /*
// ** Trigram tokenizer tokenize routine.
// */
-func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var aStart [3]int32
@@ -229246,7 +220546,7 @@ func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int
}
}
/* Pass the current trigram back to fts5 */
- rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xToken})))(tls, pCtx, 0, bp, int32(int64(zOut)-t__predefined_ptrdiff_t(bp)), aStart[0], iNext)
+ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xToken})))(tls, pCtx, 0, bp, int32(int64(zOut)-t__predefined_ptrdiff_t(bp)), aStart[0], iNext)
if iCode == uint32(0) || rc != SQLITE_OK {
break
}
@@ -229322,11 +220622,11 @@ func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int
// ** "trigram" tokenizer, case_sensitive=0 (the default) - FTS5_PATTERN_LIKE
// ** all other tokenizers - FTS5_PATTERN_NONE
// */
-func _sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) (r int32) {
+func _sqlite3Fts5TokenizerPattern(tls *libc.TLS, __ccgo_fp_xCreate uintptr, pTok uintptr) (r int32) {
var p uintptr
var v1 int32
_, _ = p, v1
- if xCreate == __ccgo_fp(_fts5TriCreate) {
+ if __ccgo_fp_xCreate == __ccgo_fp(_fts5TriCreate) {
p = pTok
if (*TTrigramTokenizer)(unsafe.Pointer(p)).FiFoldParam == 0 {
if (*TTrigramTokenizer)(unsafe.Pointer(p)).FbFold != 0 {
@@ -234881,39 +226181,6 @@ type TFts5VocabCursor = struct {
type Fts5VocabCursor = TFts5VocabCursor
-type TFts5VocabTable1 = struct {
- Fbase Tsqlite3_vtab
- FzFts5Tbl uintptr
- FzFts5Db uintptr
- Fdb uintptr
- FpGlobal uintptr
- FeType int32
- FbBusy uint32
-}
-
-type Fts5VocabTable1 = TFts5VocabTable1
-
-type TFts5VocabCursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FpStmt uintptr
- FpFts5 uintptr
- FbEof int32
- FpIter uintptr
- FpStruct uintptr
- FnLeTerm int32
- FzLeTerm uintptr
- FcolUsed int32
- FiCol int32
- FaCnt uintptr
- FaDoc uintptr
- Frowid Ti64
- Fterm TFts5Buffer
- FiInstPos Ti64
- FiInstOff int32
-}
-
-type Fts5VocabCursor1 = TFts5VocabCursor1
-
/*
** Bits for the mask used as the idxNum value by xBestIndex/xFilter.
*/
@@ -236027,11 +227294,11 @@ var Xsqlite3_temp_directory uintptr
// **
// ** See also: [sqlite_version()] and [sqlite_source_id()].
// */
-var Xsqlite3_version = [7]int8{'3', '.', '5', '0', '.', '3'}
+var Xsqlite3_version = [7]int8{'3', '.', '5', '0', '.', '4'}
var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
-var __ccgo_ts1 = "ATOMIC_INTRINSICS=0\x00COMPILER=clang-17.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=1000\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00unistr('\x000123456789abcdef\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenWrite\x00OpenDup\x00BitNot\x00OpenAutoindex\x00OpenEphemeral\x00String8\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00DropTrigger\x00Real\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00S\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00hfs\x00ufs\x00afpfs\x00smbfs\x00webdav\x00nfs\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00msdos\x00exfat\x00SQLITE_FORCE_PROXY_LOCKING\x00:auto:\x00fsync\x00/dev/urandom\x00sqliteplocks\x00/\x00dummy\x00break\x00path error (len %d)\x00read error (len %d)\x00create failed (%d)\x00write failed (%d)\x00rename failed (%d)\x00broke stale lock on %s\n\x00failed to break stale lock on %s, %s\n\x00-conch\x00.lock\x00:auto: (not held)\x00unix\x00unix-none\x00unix-dotfile\x00unix-posix\x00unix-flock\x00unix-afp\x00unix-nfs\x00unix-proxy\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00subrtnsig:%d,%s\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d: %s; [%s]\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: %s; [%s]\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open table with generated columns: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00more than %d aggregate terms\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%#Q\x00%Q\x00invalid Unicode escape\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00unistr\x00quote\x00unistr_quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00if\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00dylib\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00builtin\x00enc\x00narg\x00flags\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00unique\x00origin\x00partial\x00wdth\x00hght\x00flgs\x00rowid\x00fkid\x00busy\x00checkpointed\x00file\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00lock_proxy_file\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00failed to set lock proxy file\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00CREATE BLOOM FILTER\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00vacuum_%016llx\x00ATTACH %Q AS %s\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO %s.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM %s.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO %s.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX \x000x%x:%s\x00%d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00internal query planner error\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00near \"%T\": syntax error\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00#\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1, 0 UNION ALL SELECT 1, 'idx', '', 0, '', 2, 0 UNION ALL SELECT 2, 'stat', '', 0, '', 0, 0\x00PRAGMA '%q'.table_xinfo('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00SELECT * FROM %Q.sqlite_schema\x00no such table: %s.%s\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00wrong number of arguments to function fts5_get_locale()\x00non-integer argument passed to function fts5_get_locale()\x00snippet\x00highlight\x00bm25\x00fts5_get_locale\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00contentless_unindexed\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00locale\x00malformed locale=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00, NULL\x00, T.l%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00contentless_unindexed=1 requires a contentless table\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00insttoken\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00REPLACE INTO %Q.'%q_config' VALUES ('version', %d)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%.*s\x00%s: table does not support scanning\x00fts5: missing row %lld from content table %s\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00%s a subset of columns on fts5 contentless-delete table: %s\x00%s contentless fts5 table: %s\x00cannot UPDATE\x00'delete' may not be used with a contentless_delete=1 table\x00cannot DELETE from contentless fts5 table: %s\x00fts5_locale() requires locale=1\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2025-07-17 13:25:10 3ce993b8657d6d9deda380a93cdd6404a8c8ba1b185b2bc423703e41ae5f2543\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00fts5_locale\x00fts5_insttoken\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00%z%s?%d\x00%z,?%d\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00, l%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00DELETE FROM %Q.'%q_content';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00trigram\x00ascii\x00porter\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002025-07-17 13:25:10 3ce993b8657d6d9deda380a93cdd6404a8c8ba1b185b2bc423703e41ae5f2543\x00"
+var __ccgo_ts1 = "ATOMIC_INTRINSICS=0\x00COMPILER=clang-17.0.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=1000\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00unistr('\x000123456789abcdef\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenWrite\x00OpenDup\x00BitNot\x00OpenAutoindex\x00OpenEphemeral\x00String8\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00DropTrigger\x00Real\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00S\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00hfs\x00ufs\x00afpfs\x00smbfs\x00webdav\x00nfs\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00msdos\x00exfat\x00SQLITE_FORCE_PROXY_LOCKING\x00:auto:\x00fsync\x00/dev/urandom\x00sqliteplocks\x00/\x00dummy\x00break\x00path error (len %d)\x00read error (len %d)\x00create failed (%d)\x00write failed (%d)\x00rename failed (%d)\x00broke stale lock on %s\n\x00failed to break stale lock on %s, %s\n\x00-conch\x00.lock\x00:auto: (not held)\x00unix\x00unix-none\x00unix-dotfile\x00unix-posix\x00unix-flock\x00unix-afp\x00unix-nfs\x00unix-proxy\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00subrtnsig:%d,%s\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d: %s; [%s]\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: %s; [%s]\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open table with generated columns: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00more than %d aggregate terms\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%#Q\x00%Q\x00invalid Unicode escape\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00unistr\x00quote\x00unistr_quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00if\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00dylib\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00builtin\x00enc\x00narg\x00flags\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00unique\x00origin\x00partial\x00wdth\x00hght\x00flgs\x00rowid\x00fkid\x00busy\x00checkpointed\x00file\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00lock_proxy_file\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00failed to set lock proxy file\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00CREATE BLOOM FILTER\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00vacuum_%016llx\x00ATTACH %Q AS %s\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO %s.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM %s.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO %s.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX \x000x%x:%s\x00%d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00internal query planner error\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00near \"%T\": syntax error\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00#\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1, 0 UNION ALL SELECT 1, 'idx', '', 0, '', 2, 0 UNION ALL SELECT 2, 'stat', '', 0, '', 0, 0\x00PRAGMA '%q'.table_xinfo('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00SELECT * FROM %Q.sqlite_schema\x00no such table: %s.%s\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00wrong number of arguments to function fts5_get_locale()\x00non-integer argument passed to function fts5_get_locale()\x00snippet\x00highlight\x00bm25\x00fts5_get_locale\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00contentless_unindexed\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00locale\x00malformed locale=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00, NULL\x00, T.l%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00contentless_unindexed=1 requires a contentless table\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00insttoken\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00REPLACE INTO %Q.'%q_config' VALUES ('version', %d)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%.*s\x00%s: table does not support scanning\x00fts5: missing row %lld from content table %s\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00%s a subset of columns on fts5 contentless-delete table: %s\x00%s contentless fts5 table: %s\x00cannot UPDATE\x00'delete' may not be used with a contentless_delete=1 table\x00cannot DELETE from contentless fts5 table: %s\x00fts5_locale() requires locale=1\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00fts5_locale\x00fts5_insttoken\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00%z%s?%d\x00%z,?%d\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00, l%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00DELETE FROM %Q.'%q_content';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00trigram\x00ascii\x00porter\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3\x00"
type Sqlite3_int64 = sqlite3_int64
type Sqlite3_mutex_methods = sqlite3_mutex_methods
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go
index af4f8252fd760..ffb049e2e9c51 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go
@@ -2047,7 +2047,7 @@ const SQLITE_SHM_SHARED = 4
const SQLITE_SHM_UNLOCK = 1
const SQLITE_SORTER_PMASZ = 250
const SQLITE_SOUNDEX = 1
-const SQLITE_SOURCE_ID = "2025-07-17 13:25:10 3ce993b8657d6d9deda380a93cdd6404a8c8ba1b185b2bc423703e41ae5f2543"
+const SQLITE_SOURCE_ID = "2025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3"
const SQLITE_SO_ASC = 0
const SQLITE_SO_DESC = 1
const SQLITE_SO_UNDEFINED = -1
@@ -2157,8 +2157,8 @@ const SQLITE_UTF16LE = 2
const SQLITE_UTF16NATIVE = 2
const SQLITE_UTF16_ALIGNED = 8
const SQLITE_UTF8 = 1
-const SQLITE_VERSION = "3.50.3"
-const SQLITE_VERSION_NUMBER = 3050003
+const SQLITE_VERSION = "3.50.4"
+const SQLITE_VERSION_NUMBER = 3050004
const SQLITE_VTABRISK_High = 2
const SQLITE_VTABRISK_Low = 0
const SQLITE_VTABRISK_Normal = 1
@@ -4001,12 +4001,6 @@ type Tsqlite3_file = struct {
type sqlite3_file = Tsqlite3_file
-type Tsqlite3_file1 = struct {
- FpMethods uintptr
-}
-
-type sqlite3_file1 = Tsqlite3_file1
-
// C documentation
//
// /*
@@ -4135,30 +4129,6 @@ type Tsqlite3_io_methods = struct {
type sqlite3_io_methods = Tsqlite3_io_methods
-type Tsqlite3_io_methods1 = struct {
- FiVersion int32
- FxClose uintptr
- FxRead uintptr
- FxWrite uintptr
- FxTruncate uintptr
- FxSync uintptr
- FxFileSize uintptr
- FxLock uintptr
- FxUnlock uintptr
- FxCheckReservedLock uintptr
- FxFileControl uintptr
- FxSectorSize uintptr
- FxDeviceCharacteristics uintptr
- FxShmMap uintptr
- FxShmLock uintptr
- FxShmBarrier uintptr
- FxShmUnmap uintptr
- FxFetch uintptr
- FxUnfetch uintptr
-}
-
-type sqlite3_io_methods1 = Tsqlite3_io_methods1
-
// C documentation
//
// /*
@@ -4671,33 +4641,6 @@ type Tsqlite3_syscall_ptr = uintptr
type sqlite3_syscall_ptr = Tsqlite3_syscall_ptr
-type Tsqlite3_vfs1 = struct {
- FiVersion int32
- FszOsFile int32
- FmxPathname int32
- FpNext uintptr
- FzName uintptr
- FpAppData uintptr
- FxOpen uintptr
- FxDelete uintptr
- FxAccess uintptr
- FxFullPathname uintptr
- FxDlOpen uintptr
- FxDlError uintptr
- FxDlSym uintptr
- FxDlClose uintptr
- FxRandomness uintptr
- FxSleep uintptr
- FxCurrentTime uintptr
- FxGetLastError uintptr
- FxCurrentTimeInt64 uintptr
- FxSetSystemCall uintptr
- FxGetSystemCall uintptr
- FxNextSystemCall uintptr
-}
-
-type sqlite3_vfs1 = Tsqlite3_vfs1
-
// C documentation
//
// /*
@@ -4776,19 +4719,6 @@ type Tsqlite3_mem_methods = struct {
type sqlite3_mem_methods = Tsqlite3_mem_methods
-type Tsqlite3_mem_methods1 = struct {
- FxMalloc uintptr
- FxFree uintptr
- FxRealloc uintptr
- FxSize uintptr
- FxRoundup uintptr
- FxInit uintptr
- FxShutdown uintptr
- FpAppData uintptr
-}
-
-type sqlite3_mem_methods1 = Tsqlite3_mem_methods1
-
// C documentation
//
// /*
@@ -4964,223 +4894,6 @@ type Tsqlite3_module = struct {
type sqlite3_module = Tsqlite3_module
-/*
-** CAPI3REF: Virtual Table Object
-** KEYWORDS: sqlite3_module {virtual table module}
-**
-** This structure, sometimes called a "virtual table module",
-** defines the implementation of a [virtual table].
-** This structure consists mostly of methods for the module.
-**
-** ^A virtual table module is created by filling in a persistent
-** instance of this structure and passing a pointer to that instance
-** to [sqlite3_create_module()] or [sqlite3_create_module_v2()].
-** ^The registration remains valid until it is replaced by a different
-** module or until the [database connection] closes. The content
-** of this structure must not change while it is registered with
-** any database connection.
- */
-type Tsqlite3_module1 = struct {
- FiVersion int32
- FxCreate uintptr
- FxConnect uintptr
- FxBestIndex uintptr
- FxDisconnect uintptr
- FxDestroy uintptr
- FxOpen uintptr
- FxClose uintptr
- FxFilter uintptr
- FxNext uintptr
- FxEof uintptr
- FxColumn uintptr
- FxRowid uintptr
- FxUpdate uintptr
- FxBegin uintptr
- FxSync uintptr
- FxCommit uintptr
- FxRollback uintptr
- FxFindFunction uintptr
- FxRename uintptr
- FxSavepoint uintptr
- FxRelease uintptr
- FxRollbackTo uintptr
- FxShadowName uintptr
- FxIntegrity uintptr
-}
-
-type sqlite3_module1 = Tsqlite3_module1
-
-/*
-** CAPI3REF: Virtual Table Indexing Information
-** KEYWORDS: sqlite3_index_info
-**
-** The sqlite3_index_info structure and its substructures is used as part
-** of the [virtual table] interface to
-** pass information into and receive the reply from the [xBestIndex]
-** method of a [virtual table module]. The fields under **Inputs** are the
-** inputs to xBestIndex and are read-only. xBestIndex inserts its
-** results into the **Outputs** fields.
-**
-** ^(The aConstraint[] array records WHERE clause constraints of the form:
-**
-** column OP expr
-**
-** where OP is =, <, <=, >, or >=.)^ ^(The particular operator is
-** stored in aConstraint[].op using one of the
-** [SQLITE_INDEX_CONSTRAINT_EQ | SQLITE_INDEX_CONSTRAINT_ values].)^
-** ^(The index of the column is stored in
-** aConstraint[].iColumn.)^ ^(aConstraint[].usable is TRUE if the
-** expr on the right-hand side can be evaluated (and thus the constraint
-** is usable) and false if it cannot.)^
-**
-** ^The optimizer automatically inverts terms of the form "expr OP column"
-** and makes other simplifications to the WHERE clause in an attempt to
-** get as many WHERE clause terms into the form shown above as possible.
-** ^The aConstraint[] array only reports WHERE clause terms that are
-** relevant to the particular virtual table being queried.
-**
-** ^Information about the ORDER BY clause is stored in aOrderBy[].
-** ^Each term of aOrderBy records a column of the ORDER BY clause.
-**
-** The colUsed field indicates which columns of the virtual table may be
-** required by the current scan. Virtual table columns are numbered from
-** zero in the order in which they appear within the CREATE TABLE statement
-** passed to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62),
-** the corresponding bit is set within the colUsed mask if the column may be
-** required by SQLite. If the table has at least 64 columns and any column
-** to the right of the first 63 is required, then bit 63 of colUsed is also
-** set. In other words, column iCol may be required if the expression
-** (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) evaluates to
-** non-zero.
-**
-** The [xBestIndex] method must fill aConstraintUsage[] with information
-** about what parameters to pass to xFilter. ^If argvIndex>0 then
-** the right-hand side of the corresponding aConstraint[] is evaluated
-** and becomes the argvIndex-th entry in argv. ^(If aConstraintUsage[].omit
-** is true, then the constraint is assumed to be fully handled by the
-** virtual table and might not be checked again by the byte code.)^ ^(The
-** aConstraintUsage[].omit flag is an optimization hint. When the omit flag
-** is left in its default setting of false, the constraint will always be
-** checked separately in byte code. If the omit flag is changed to true, then
-** the constraint may or may not be checked in byte code. In other words,
-** when the omit flag is true there is no guarantee that the constraint will
-** not be checked again using byte code.)^
-**
-** ^The idxNum and idxStr values are recorded and passed into the
-** [xFilter] method.
-** ^[sqlite3_free()] is used to free idxStr if and only if
-** needToFreeIdxStr is true.
-**
-** ^The orderByConsumed means that output from [xFilter]/[xNext] will occur in
-** the correct order to satisfy the ORDER BY clause so that no separate
-** sorting step is required.
-**
-** ^The estimatedCost value is an estimate of the cost of a particular
-** strategy. A cost of N indicates that the cost of the strategy is similar
-** to a linear scan of an SQLite table with N rows. A cost of log(N)
-** indicates that the expense of the operation is similar to that of a
-** binary search on a unique indexed field of an SQLite table with N rows.
-**
-** ^The estimatedRows value is an estimate of the number of rows that
-** will be returned by the strategy.
-**
-** The xBestIndex method may optionally populate the idxFlags field with a
-** mask of SQLITE_INDEX_SCAN_* flags. One such flag is
-** [SQLITE_INDEX_SCAN_HEX], which if set causes the [EXPLAIN QUERY PLAN]
-** output to show the idxNum as hex instead of as decimal. Another flag is
-** SQLITE_INDEX_SCAN_UNIQUE, which if set indicates that the query plan will
-** return at most one row.
-**
-** Additionally, if xBestIndex sets the SQLITE_INDEX_SCAN_UNIQUE flag, then
-** SQLite also assumes that if a call to the xUpdate() method is made as
-** part of the same statement to delete or update a virtual table row and the
-** implementation returns SQLITE_CONSTRAINT, then there is no need to rollback
-** any database changes. In other words, if the xUpdate() returns
-** SQLITE_CONSTRAINT, the database contents must be exactly as they were
-** before xUpdate was called. By contrast, if SQLITE_INDEX_SCAN_UNIQUE is not
-** set and xUpdate returns SQLITE_CONSTRAINT, any database changes made by
-** the xUpdate method are automatically rolled back by SQLite.
-**
-** IMPORTANT: The estimatedRows field was added to the sqlite3_index_info
-** structure for SQLite [version 3.8.2] ([dateof:3.8.2]).
-** If a virtual table extension is
-** used with an SQLite version earlier than 3.8.2, the results of attempting
-** to read or write the estimatedRows field are undefined (but are likely
-** to include crashing the application). The estimatedRows field should
-** therefore only be used if [sqlite3_libversion_number()] returns a
-** value greater than or equal to 3008002. Similarly, the idxFlags field
-** was added for [version 3.9.0] ([dateof:3.9.0]).
-** It may therefore only be used if
-** sqlite3_libversion_number() returns a value greater than or equal to
-** 3009000.
- */
-type Tsqlite3_index_info1 = struct {
- FnConstraint int32
- FaConstraint uintptr
- FnOrderBy int32
- FaOrderBy uintptr
- FaConstraintUsage uintptr
- FidxNum int32
- FidxStr uintptr
- FneedToFreeIdxStr int32
- ForderByConsumed int32
- FestimatedCost float64
- FestimatedRows Tsqlite3_int64
- FidxFlags int32
- FcolUsed Tsqlite3_uint64
-}
-
-type sqlite3_index_info1 = Tsqlite3_index_info1
-
-/*
-** CAPI3REF: Virtual Table Instance Object
-** KEYWORDS: sqlite3_vtab
-**
-** Every [virtual table module] implementation uses a subclass
-** of this object to describe a particular instance
-** of the [virtual table]. Each subclass will
-** be tailored to the specific needs of the module implementation.
-** The purpose of this superclass is to define certain fields that are
-** common to all module implementations.
-**
-** ^Virtual tables methods can set an error message by assigning a
-** string obtained from [sqlite3_mprintf()] to zErrMsg. The method should
-** take care that any prior string is freed by a call to [sqlite3_free()]
-** prior to assigning a new string to zErrMsg. ^After the error message
-** is delivered up to the client application, the string will be automatically
-** freed by sqlite3_free() and the zErrMsg field will be zeroed.
- */
-type Tsqlite3_vtab1 = struct {
- FpModule uintptr
- FnRef int32
- FzErrMsg uintptr
-}
-
-type sqlite3_vtab1 = Tsqlite3_vtab1
-
-/*
-** CAPI3REF: Virtual Table Cursor Object
-** KEYWORDS: sqlite3_vtab_cursor {virtual table cursor}
-**
-** Every [virtual table module] implementation uses a subclass of the
-** following structure to describe cursors that point into the
-** [virtual table] and are used
-** to loop through the virtual table. Cursors are created using the
-** [sqlite3_module.xOpen | xOpen] method of the module and are destroyed
-** by the [sqlite3_module.xClose | xClose] method. Cursors are used
-** by the [xFilter], [xNext], [xEof], [xColumn], and [xRowid] methods
-** of the module. Each module implementation will define
-** the content of a cursor structure to suit its own needs.
-**
-** This superclass exists in order to define fields of the cursor that
-** are common to all implementations.
- */
-type Tsqlite3_vtab_cursor1 = struct {
- FpVtab uintptr
-}
-
-type sqlite3_vtab_cursor1 = Tsqlite3_vtab_cursor1
-
// C documentation
//
// /*
@@ -5262,20 +4975,6 @@ type Tsqlite3_mutex_methods = struct {
type sqlite3_mutex_methods = Tsqlite3_mutex_methods
-type Tsqlite3_mutex_methods1 = struct {
- FxMutexInit uintptr
- FxMutexEnd uintptr
- FxMutexAlloc uintptr
- FxMutexFree uintptr
- FxMutexEnter uintptr
- FxMutexTry uintptr
- FxMutexLeave uintptr
- FxMutexHeld uintptr
- FxMutexNotheld uintptr
-}
-
-type sqlite3_mutex_methods1 = Tsqlite3_mutex_methods1
-
// C documentation
//
// /*
@@ -5325,13 +5024,6 @@ type Tsqlite3_pcache_page = struct {
type sqlite3_pcache_page = Tsqlite3_pcache_page
-type Tsqlite3_pcache_page1 = struct {
- FpBuf uintptr
- FpExtra uintptr
-}
-
-type sqlite3_pcache_page1 = Tsqlite3_pcache_page1
-
// C documentation
//
// /*
@@ -5511,24 +5203,6 @@ type Tsqlite3_pcache_methods2 = struct {
type sqlite3_pcache_methods2 = Tsqlite3_pcache_methods2
-type Tsqlite3_pcache_methods21 = struct {
- FiVersion int32
- FpArg uintptr
- FxInit uintptr
- FxShutdown uintptr
- FxCreate uintptr
- FxCachesize uintptr
- FxPagecount uintptr
- FxFetch uintptr
- FxUnpin uintptr
- FxRekey uintptr
- FxTruncate uintptr
- FxDestroy uintptr
- FxShrink uintptr
-}
-
-type sqlite3_pcache_methods21 = Tsqlite3_pcache_methods21
-
// C documentation
//
// /*
@@ -5552,22 +5226,6 @@ type Tsqlite3_pcache_methods = struct {
type sqlite3_pcache_methods = Tsqlite3_pcache_methods
-type Tsqlite3_pcache_methods1 = struct {
- FpArg uintptr
- FxInit uintptr
- FxShutdown uintptr
- FxCreate uintptr
- FxCachesize uintptr
- FxPagecount uintptr
- FxFetch uintptr
- FxUnpin uintptr
- FxRekey uintptr
- FxTruncate uintptr
- FxDestroy uintptr
-}
-
-type sqlite3_pcache_methods1 = Tsqlite3_pcache_methods1
-
// C documentation
//
// /*
@@ -5708,50 +5366,6 @@ type Tsqlite3_rtree_dbl = float64
type sqlite3_rtree_dbl = Tsqlite3_rtree_dbl
-/*
-** A pointer to a structure of the following type is passed as the first
-** argument to callbacks registered using rtree_geometry_callback().
- */
-type Tsqlite3_rtree_geometry1 = struct {
- FpContext uintptr
- FnParam int32
- FaParam uintptr
- FpUser uintptr
- FxDelUser uintptr
-}
-
-type sqlite3_rtree_geometry1 = Tsqlite3_rtree_geometry1
-
-/*
-** A pointer to a structure of the following type is passed as the
-** argument to scored geometry callback registered using
-** sqlite3_rtree_query_callback().
-**
-** Note that the first 5 fields of this structure are identical to
-** sqlite3_rtree_geometry. This structure is a subclass of
-** sqlite3_rtree_geometry.
- */
-type Tsqlite3_rtree_query_info1 = struct {
- FpContext uintptr
- FnParam int32
- FaParam uintptr
- FpUser uintptr
- FxDelUser uintptr
- FaCoord uintptr
- FanQueue uintptr
- FnCoord int32
- FiLevel int32
- FmxLevel int32
- FiRowid Tsqlite3_int64
- FrParentScore Tsqlite3_rtree_dbl
- FeParentWithin int32
- FeWithin int32
- FrScore Tsqlite3_rtree_dbl
- FapSqlParam uintptr
-}
-
-type sqlite3_rtree_query_info1 = Tsqlite3_rtree_query_info1
-
/*
** Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin.
*/
@@ -6148,340 +5762,6 @@ type Tfts5_extension_function = uintptr
type fts5_extension_function = Tfts5_extension_function
-type TFts5PhraseIter1 = struct {
- Fa uintptr
- Fb uintptr
-}
-
-type Fts5PhraseIter1 = TFts5PhraseIter1
-
-/*
-** EXTENSION API FUNCTIONS
-**
-** xUserData(pFts):
-** Return a copy of the pUserData pointer passed to the xCreateFunction()
-** API when the extension function was registered.
-**
-** xColumnTotalSize(pFts, iCol, pnToken):
-** If parameter iCol is less than zero, set output variable *pnToken
-** to the total number of tokens in the FTS5 table. Or, if iCol is
-** non-negative but less than the number of columns in the table, return
-** the total number of tokens in column iCol, considering all rows in
-** the FTS5 table.
-**
-** If parameter iCol is greater than or equal to the number of columns
-** in the table, SQLITE_RANGE is returned. Or, if an error occurs (e.g.
-** an OOM condition or IO error), an appropriate SQLite error code is
-** returned.
-**
-** xColumnCount(pFts):
-** Return the number of columns in the table.
-**
-** xColumnSize(pFts, iCol, pnToken):
-** If parameter iCol is less than zero, set output variable *pnToken
-** to the total number of tokens in the current row. Or, if iCol is
-** non-negative but less than the number of columns in the table, set
-** *pnToken to the number of tokens in column iCol of the current row.
-**
-** If parameter iCol is greater than or equal to the number of columns
-** in the table, SQLITE_RANGE is returned. Or, if an error occurs (e.g.
-** an OOM condition or IO error), an appropriate SQLite error code is
-** returned.
-**
-** This function may be quite inefficient if used with an FTS5 table
-** created with the "columnsize=0" option.
-**
-** xColumnText:
-** If parameter iCol is less than zero, or greater than or equal to the
-** number of columns in the table, SQLITE_RANGE is returned.
-**
-** Otherwise, this function attempts to retrieve the text of column iCol of
-** the current document. If successful, (*pz) is set to point to a buffer
-** containing the text in utf-8 encoding, (*pn) is set to the size in bytes
-** (not characters) of the buffer and SQLITE_OK is returned. Otherwise,
-** if an error occurs, an SQLite error code is returned and the final values
-** of (*pz) and (*pn) are undefined.
-**
-** xPhraseCount:
-** Returns the number of phrases in the current query expression.
-**
-** xPhraseSize:
-** If parameter iCol is less than zero, or greater than or equal to the
-** number of phrases in the current query, as returned by xPhraseCount,
-** 0 is returned. Otherwise, this function returns the number of tokens in
-** phrase iPhrase of the query. Phrases are numbered starting from zero.
-**
-** xInstCount:
-** Set *pnInst to the total number of occurrences of all phrases within
-** the query within the current row. Return SQLITE_OK if successful, or
-** an error code (i.e. SQLITE_NOMEM) if an error occurs.
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option. If the FTS5 table is created
-** with either "detail=none" or "detail=column" and "content=" option
-** (i.e. if it is a contentless table), then this API always returns 0.
-**
-** xInst:
-** Query for the details of phrase match iIdx within the current row.
-** Phrase matches are numbered starting from zero, so the iIdx argument
-** should be greater than or equal to zero and smaller than the value
-** output by xInstCount(). If iIdx is less than zero or greater than
-** or equal to the value returned by xInstCount(), SQLITE_RANGE is returned.
-**
-** Otherwise, output parameter *piPhrase is set to the phrase number, *piCol
-** to the column in which it occurs and *piOff the token offset of the
-** first token of the phrase. SQLITE_OK is returned if successful, or an
-** error code (i.e. SQLITE_NOMEM) if an error occurs.
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option.
-**
-** xRowid:
-** Returns the rowid of the current row.
-**
-** xTokenize:
-** Tokenize text using the tokenizer belonging to the FTS5 table.
-**
-** xQueryPhrase(pFts5, iPhrase, pUserData, xCallback):
-** This API function is used to query the FTS table for phrase iPhrase
-** of the current query. Specifically, a query equivalent to:
-**
-** ... FROM ftstable WHERE ftstable MATCH $p ORDER BY rowid
-**
-** with $p set to a phrase equivalent to the phrase iPhrase of the
-** current query is executed. Any column filter that applies to
-** phrase iPhrase of the current query is included in $p. For each
-** row visited, the callback function passed as the fourth argument
-** is invoked. The context and API objects passed to the callback
-** function may be used to access the properties of each matched row.
-** Invoking Api.xUserData() returns a copy of the pointer passed as
-** the third argument to pUserData.
-**
-** If parameter iPhrase is less than zero, or greater than or equal to
-** the number of phrases in the query, as returned by xPhraseCount(),
-** this function returns SQLITE_RANGE.
-**
-** If the callback function returns any value other than SQLITE_OK, the
-** query is abandoned and the xQueryPhrase function returns immediately.
-** If the returned value is SQLITE_DONE, xQueryPhrase returns SQLITE_OK.
-** Otherwise, the error code is propagated upwards.
-**
-** If the query runs to completion without incident, SQLITE_OK is returned.
-** Or, if some error occurs before the query completes or is aborted by
-** the callback, an SQLite error code is returned.
-**
-**
-** xSetAuxdata(pFts5, pAux, xDelete)
-**
-** Save the pointer passed as the second argument as the extension function's
-** "auxiliary data". The pointer may then be retrieved by the current or any
-** future invocation of the same fts5 extension function made as part of
-** the same MATCH query using the xGetAuxdata() API.
-**
-** Each extension function is allocated a single auxiliary data slot for
-** each FTS query (MATCH expression). If the extension function is invoked
-** more than once for a single FTS query, then all invocations share a
-** single auxiliary data context.
-**
-** If there is already an auxiliary data pointer when this function is
-** invoked, then it is replaced by the new pointer. If an xDelete callback
-** was specified along with the original pointer, it is invoked at this
-** point.
-**
-** The xDelete callback, if one is specified, is also invoked on the
-** auxiliary data pointer after the FTS5 query has finished.
-**
-** If an error (e.g. an OOM condition) occurs within this function,
-** the auxiliary data is set to NULL and an error code returned. If the
-** xDelete parameter was not NULL, it is invoked on the auxiliary data
-** pointer before returning.
-**
-**
-** xGetAuxdata(pFts5, bClear)
-**
-** Returns the current auxiliary data pointer for the fts5 extension
-** function. See the xSetAuxdata() method for details.
-**
-** If the bClear argument is non-zero, then the auxiliary data is cleared
-** (set to NULL) before this function returns. In this case the xDelete,
-** if any, is not invoked.
-**
-**
-** xRowCount(pFts5, pnRow)
-**
-** This function is used to retrieve the total number of rows in the table.
-** In other words, the same value that would be returned by:
-**
-** SELECT count(*) FROM ftstable;
-**
-** xPhraseFirst()
-** This function is used, along with type Fts5PhraseIter and the xPhraseNext
-** method, to iterate through all instances of a single query phrase within
-** the current row. This is the same information as is accessible via the
-** xInstCount/xInst APIs. While the xInstCount/xInst APIs are more convenient
-** to use, this API may be faster under some circumstances. To iterate
-** through instances of phrase iPhrase, use the following code:
-**
-** Fts5PhraseIter iter;
-** int iCol, iOff;
-** for(pApi->xPhraseFirst(pFts, iPhrase, &iter, &iCol, &iOff);
-** iCol>=0;
-** pApi->xPhraseNext(pFts, &iter, &iCol, &iOff)
-** ){
-** // An instance of phrase iPhrase at offset iOff of column iCol
-** }
-**
-** The Fts5PhraseIter structure is defined above. Applications should not
-** modify this structure directly - it should only be used as shown above
-** with the xPhraseFirst() and xPhraseNext() API methods (and by
-** xPhraseFirstColumn() and xPhraseNextColumn() as illustrated below).
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option. If the FTS5 table is created
-** with either "detail=none" or "detail=column" and "content=" option
-** (i.e. if it is a contentless table), then this API always iterates
-** through an empty set (all calls to xPhraseFirst() set iCol to -1).
-**
-** In all cases, matches are visited in (column ASC, offset ASC) order.
-** i.e. all those in column 0, sorted by offset, followed by those in
-** column 1, etc.
-**
-** xPhraseNext()
-** See xPhraseFirst above.
-**
-** xPhraseFirstColumn()
-** This function and xPhraseNextColumn() are similar to the xPhraseFirst()
-** and xPhraseNext() APIs described above. The difference is that instead
-** of iterating through all instances of a phrase in the current row, these
-** APIs are used to iterate through the set of columns in the current row
-** that contain one or more instances of a specified phrase. For example:
-**
-** Fts5PhraseIter iter;
-** int iCol;
-** for(pApi->xPhraseFirstColumn(pFts, iPhrase, &iter, &iCol);
-** iCol>=0;
-** pApi->xPhraseNextColumn(pFts, &iter, &iCol)
-** ){
-** // Column iCol contains at least one instance of phrase iPhrase
-** }
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" option. If the FTS5 table is created with either
-** "detail=none" "content=" option (i.e. if it is a contentless table),
-** then this API always iterates through an empty set (all calls to
-** xPhraseFirstColumn() set iCol to -1).
-**
-** The information accessed using this API and its companion
-** xPhraseFirstColumn() may also be obtained using xPhraseFirst/xPhraseNext
-** (or xInst/xInstCount). The chief advantage of this API is that it is
-** significantly more efficient than those alternatives when used with
-** "detail=column" tables.
-**
-** xPhraseNextColumn()
-** See xPhraseFirstColumn above.
-**
-** xQueryToken(pFts5, iPhrase, iToken, ppToken, pnToken)
-** This is used to access token iToken of phrase iPhrase of the current
-** query. Before returning, output parameter *ppToken is set to point
-** to a buffer containing the requested token, and *pnToken to the
-** size of this buffer in bytes.
-**
-** If iPhrase or iToken are less than zero, or if iPhrase is greater than
-** or equal to the number of phrases in the query as reported by
-** xPhraseCount(), or if iToken is equal to or greater than the number of
-** tokens in the phrase, SQLITE_RANGE is returned and *ppToken and *pnToken
-
- are both zeroed.
-
-**
-** The output text is not a copy of the query text that specified the
-** token. It is the output of the tokenizer module. For tokendata=1
-** tables, this includes any embedded 0x00 and trailing data.
-**
-** xInstToken(pFts5, iIdx, iToken, ppToken, pnToken)
-** This is used to access token iToken of phrase hit iIdx within the
-** current row. If iIdx is less than zero or greater than or equal to the
-** value returned by xInstCount(), SQLITE_RANGE is returned. Otherwise,
-** output variable (*ppToken) is set to point to a buffer containing the
-** matching document token, and (*pnToken) to the size of that buffer in
-** bytes.
-**
-** The output text is not a copy of the document text that was tokenized.
-** It is the output of the tokenizer module. For tokendata=1 tables, this
-** includes any embedded 0x00 and trailing data.
-**
-** This API may be slow in some cases if the token identified by parameters
-** iIdx and iToken matched a prefix token in the query. In most cases, the
-** first call to this API for each prefix token in the query is forced
-** to scan the portion of the full-text index that matches the prefix
-** token to collect the extra data required by this API. If the prefix
-** token matches a large number of token instances in the document set,
-** this may be a performance problem.
-**
-** If the user knows in advance that a query may use this API for a
-** prefix token, FTS5 may be configured to collect all required data as part
-** of the initial querying of the full-text index, avoiding the second scan
-** entirely. This also causes prefix queries that do not use this API to
-** run more slowly and use more memory. FTS5 may be configured in this way
-** either on a per-table basis using the [FTS5 insttoken | 'insttoken']
-** option, or on a per-query basis using the
-** [fts5_insttoken | fts5_insttoken()] user function.
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option.
-**
-** xColumnLocale(pFts5, iIdx, pzLocale, pnLocale)
-** If parameter iCol is less than zero, or greater than or equal to the
-** number of columns in the table, SQLITE_RANGE is returned.
-**
-** Otherwise, this function attempts to retrieve the locale associated
-** with column iCol of the current row. Usually, there is no associated
-** locale, and output parameters (*pzLocale) and (*pnLocale) are set
-** to NULL and 0, respectively. However, if the fts5_locale() function
-** was used to associate a locale with the value when it was inserted
-** into the fts5 table, then (*pzLocale) is set to point to a nul-terminated
-** buffer containing the name of the locale in utf-8 encoding. (*pnLocale)
-** is set to the size in bytes of the buffer, not including the
-** nul-terminator.
-**
-** If successful, SQLITE_OK is returned. Or, if an error occurs, an
-** SQLite error code is returned. The final value of the output parameters
-** is undefined in this case.
-**
-** xTokenize_v2:
-** Tokenize text using the tokenizer belonging to the FTS5 table. This
-** API is the same as the xTokenize() API, except that it allows a tokenizer
-** locale to be specified.
-*/
-type TFts5ExtensionApi1 = struct {
- FiVersion int32
- FxUserData uintptr
- FxColumnCount uintptr
- FxRowCount uintptr
- FxColumnTotalSize uintptr
- FxTokenize uintptr
- FxPhraseCount uintptr
- FxPhraseSize uintptr
- FxInstCount uintptr
- FxInst uintptr
- FxRowid uintptr
- FxColumnText uintptr
- FxColumnSize uintptr
- FxQueryPhrase uintptr
- FxSetAuxdata uintptr
- FxGetAuxdata uintptr
- FxPhraseFirst uintptr
- FxPhraseNext uintptr
- FxPhraseFirstColumn uintptr
- FxPhraseNextColumn uintptr
- FxQueryToken uintptr
- FxInstToken uintptr
- FxColumnLocale uintptr
- FxTokenize_v2 uintptr
-}
-
-type Fts5ExtensionApi1 = TFts5ExtensionApi1
-
type Tfts5_tokenizer_v2 = struct {
FiVersion int32
FxCreate uintptr
@@ -6491,15 +5771,6 @@ type Tfts5_tokenizer_v2 = struct {
type fts5_tokenizer_v2 = Tfts5_tokenizer_v2
-type Tfts5_tokenizer_v21 = struct {
- FiVersion int32
- FxCreate uintptr
- FxDelete uintptr
- FxTokenize uintptr
-}
-
-type fts5_tokenizer_v21 = Tfts5_tokenizer_v21
-
// C documentation
//
// /*
@@ -6515,14 +5786,6 @@ type Tfts5_tokenizer = struct {
type fts5_tokenizer = Tfts5_tokenizer
-type Tfts5_tokenizer1 = struct {
- FxCreate uintptr
- FxDelete uintptr
- FxTokenize uintptr
-}
-
-type fts5_tokenizer1 = Tfts5_tokenizer1
-
/* Flags that may be passed as the third argument to xTokenize() */
/* Flags that may be passed by the tokenizer implementation back to FTS5
@@ -6548,17 +5811,6 @@ type Tfts5_api = struct {
type fts5_api = Tfts5_api
-type Tfts5_api1 = struct {
- FiVersion int32
- FxCreateTokenizer uintptr
- FxFindTokenizer uintptr
- FxCreateFunction uintptr
- FxCreateTokenizer_v2 uintptr
- FxFindTokenizer_v2 uintptr
-}
-
-type fts5_api1 = Tfts5_api1
-
/*
** END OF REGISTRATION API
*************************************************************************/
@@ -7002,52 +6254,6 @@ type THashElem = struct {
type HashElem = THashElem
-/* A complete hash table is an instance of the following structure.
-** The internals of this structure are intended to be opaque -- client
-** code should not attempt to access or modify the fields of this structure
-** directly. Change this structure only by using the routines below.
-** However, some of the "procedures" and "functions" for modifying and
-** accessing this structure are really macros, so we can't really make
-** this structure opaque.
-**
-** All elements of the hash table are on a single doubly-linked list.
-** Hash.first points to the head of this list.
-**
-** There are Hash.htsize buckets. Each bucket points to a spot in
-** the global doubly-linked list. The contents of the bucket are the
-** element pointed to plus the next _ht.count-1 elements in the list.
-**
-** Hash.htsize and Hash.ht may be zero. In that case lookup is done
-** by a linear search of the global list. For small tables, the
-** Hash.ht table is never allocated because if there are few elements
-** in the table, it is faster to do a linear search than to manage
-** the hash table.
- */
-type THash1 = struct {
- Fhtsize uint32
- Fcount uint32
- Ffirst uintptr
- Fht uintptr
-}
-
-type Hash1 = THash1
-
-/* Each element in the hash table is an instance of the following
-** structure. All elements are stored on a single doubly-linked list.
-**
-** Again, this structure is intended to be opaque, but it can't really
-** be opaque because it is used by macros.
- */
-type THashElem1 = struct {
- Fnext uintptr
- Fprev uintptr
- Fdata uintptr
- FpKey uintptr
- Fh uint32
-}
-
-type HashElem1 = THashElem1
-
type Tfpos_t = int64
type fpos_t = Tfpos_t
@@ -7498,14 +6704,6 @@ type TBusyHandler = struct {
type BusyHandler = TBusyHandler
-type TBusyHandler1 = struct {
- FxBusyHandler uintptr
- FpBusyArg uintptr
- FnBusy int32
-}
-
-type BusyHandler1 = TBusyHandler1
-
/*
** Name of table that holds the database schema.
**
@@ -7750,6 +6948,7 @@ type TExpr = struct {
FpAggInfo uintptr
Fy struct {
FpWin [0]uintptr
+ FnReg [0]int32
Fsub [0]struct {
FiAddr int32
FregReturn int32
@@ -8235,10 +7434,6 @@ type TStrAccum = struct {
type StrAccum = TStrAccum
-type Tsqlite3_str1 = TStrAccum
-
-type sqlite3_str1 = Tsqlite3_str1
-
/* Internal alias for sqlite3_str */
type TTable = struct {
FzName uintptr
@@ -8667,9 +7862,9 @@ type DbPage = TDbPage
// /*
// ** Handle type for pages.
// */
-type TPgHdr2 = TDbPage
+type TPgHdr = TDbPage
-type PgHdr2 = TPgHdr2
+type PgHdr = TPgHdr
/* Functions to support testing and debugging. */
@@ -8796,53 +7991,6 @@ type TBtreePayload = struct {
type BtreePayload = TBtreePayload
-/* Allowed flags for sqlite3BtreeDelete() and sqlite3BtreeInsert() */
-
-/* An instance of the BtreePayload object describes the content of a single
-** entry in either an index or table btree.
-**
-** Index btrees (used for indexes and also WITHOUT ROWID tables) contain
-** an arbitrary key and no data. These btrees have pKey,nKey set to the
-** key and the pData,nData,nZero fields are uninitialized. The aMem,nMem
-** fields give an array of Mem objects that are a decomposition of the key.
-** The nMem field might be zero, indicating that no decomposition is available.
-**
-** Table btrees (used for rowid tables) contain an integer rowid used as
-** the key and passed in the nKey field. The pKey field is zero.
-** pData,nData hold the content of the new entry. nZero extra zero bytes
-** are appended to the end of the content when constructing the entry.
-** The aMem,nMem fields are uninitialized for table btrees.
-**
-** Field usage summary:
-**
-** Table BTrees Index Btrees
-**
-** pKey always NULL encoded key
-** nKey the ROWID length of pKey
-** pData data not used
-** aMem not used decomposed key value
-** nMem not used entries in aMem
-** nData length of pData not used
-** nZero extra zeros after pData not used
-**
-** This object is used to pass information into sqlite3BtreeInsert(). The
-** same information used to be passed as five separate parameters. But placing
-** the information into this object helps to keep the interface more
-** organized and understandable, and it also helps the resulting code to
-** run a little faster by using fewer registers for parameter passing.
- */
-type TBtreePayload1 = struct {
- FpKey uintptr
- FnKey Tsqlite3_int64
- FpData uintptr
- FaMem uintptr
- FnMem Tu16
- FnData int32
- FnZero int32
-}
-
-type BtreePayload1 = TBtreePayload1
-
/************** End of btree.h ***********************************************/
/************** Continuing where we left off in sqliteInt.h ******************/
/************** Include vdbe.h in the middle of sqliteInt.h ******************/
@@ -8946,16 +8094,6 @@ type TMem = struct {
type Mem = TMem
-// C documentation
-//
-// /*
-// ** The names of the following types declared in vdbeInt.h are required
-// ** for the VdbeOp definition.
-// */
-type Tsqlite3_value1 = TMem
-
-type sqlite3_value1 = Tsqlite3_value1
-
type TSubProgram = struct {
FaOp uintptr
FnOp int32
@@ -8979,38 +8117,11 @@ type TSubrtnSig = struct {
type SubrtnSig = TSubrtnSig
-/*
-** A signature for a reusable subroutine that materializes the RHS of
-** an IN operator.
- */
-type TSubrtnSig1 = struct {
- FselId int32
- FbComplete Tu8
- FzAff uintptr
- FiTable int32
- FiAddr int32
- FregReturn int32
-}
-
-type SubrtnSig1 = TSubrtnSig1
-
/*
** A single instruction of the virtual machine has an opcode
** and as many as three operands. The instruction is recorded
** as an instance of the following structure:
*/
-type TVdbeOp1 = struct {
- Fopcode Tu8
- Fp4type int8
- Fp5 Tu16
- Fp1 int32
- Fp2 int32
- Fp3 int32
- Fp4 Tp4union
-}
-
-type VdbeOp1 = TVdbeOp1
-
type TVdbeOp = struct {
Fopcode Tu8
Fp4type int8
@@ -9023,34 +8134,10 @@ type TVdbeOp = struct {
type VdbeOp = TVdbeOp
-/*
-** A sub-routine used to implement a trigger program.
- */
-type TSubProgram1 = struct {
- FaOp uintptr
- FnOp int32
- FnMem int32
- FnCsr int32
- FaOnce uintptr
- Ftoken uintptr
- FpNext uintptr
-}
-
-type SubProgram1 = TSubProgram1
-
/*
** A smaller version of VdbeOp used for the VdbeAddOpList() function because
** it takes up less space.
*/
-type TVdbeOpList1 = struct {
- Fopcode Tu8
- Fp1 int8
- Fp2 int8
- Fp3 int8
-}
-
-type VdbeOpList1 = TVdbeOpList1
-
type TVdbeOpList = struct {
Fopcode Tu8
Fp1 int8
@@ -9064,90 +8151,6 @@ type TRecordCompare = uintptr
type RecordCompare = TRecordCompare
-/* Use SQLITE_ENABLE_EXPLAIN_COMMENTS to enable generation of extra
-** comments on each VDBE opcode.
-**
-** Use the SQLITE_ENABLE_MODULE_COMMENTS macro to see some extra no-op
-** comments in VDBE programs that show key decision points in the code
-** generator.
- */
-
-/*
-** The VdbeCoverage macros are used to set a coverage testing point
-** for VDBE branch instructions. The coverage testing points are line
-** numbers in the sqlite3.c source file. VDBE branch coverage testing
-** only works with an amalgamation build. That's ok since a VDBE branch
-** coverage build designed for testing the test suite only. No application
-** should ever ship with VDBE branch coverage measuring turned on.
-**
-** VdbeCoverage(v) // Mark the previously coded instruction
-** // as a branch
-**
-** VdbeCoverageIf(v, conditional) // Mark previous if conditional true
-**
-** VdbeCoverageAlwaysTaken(v) // Previous branch is always taken
-**
-** VdbeCoverageNeverTaken(v) // Previous branch is never taken
-**
-** VdbeCoverageNeverNull(v) // Previous three-way branch is only
-** // taken on the first two ways. The
-** // NULL option is not possible
-**
-** VdbeCoverageEqNe(v) // Previous OP_Jump is only interested
-** // in distinguishing equal and not-equal.
-**
-** Every VDBE branch operation must be tagged with one of the macros above.
-** If not, then when "make test" is run with -DSQLITE_VDBE_COVERAGE and
-** -DSQLITE_DEBUG then an ALWAYS() will fail in the vdbeTakeBranch()
-** routine in vdbe.c, alerting the developer to the missed tag.
-**
-** During testing, the test application will invoke
-** sqlite3_test_control(SQLITE_TESTCTRL_VDBE_COVERAGE,...) to set a callback
-** routine that is invoked as each bytecode branch is taken. The callback
-** contains the sqlite3.c source line number of the VdbeCoverage macro and
-** flags to indicate whether or not the branch was taken. The test application
-** is responsible for keeping track of this and reporting byte-code branches
-** that are never taken.
-**
-** See the VdbeBranchTaken() macro and vdbeTakeBranch() function in the
-** vdbe.c source file for additional information.
- */
-
-/************** End of vdbe.h ************************************************/
-/************** Continuing where we left off in sqliteInt.h ******************/
-/************** Include pcache.h in the middle of sqliteInt.h ****************/
-/************** Begin file pcache.h ******************************************/
-/*
-** 2008 August 05
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This header file defines the interface that the sqlite page cache
-** subsystem.
- */
-
-type TPgHdr = struct {
- FpPage uintptr
- FpData uintptr
- FpExtra uintptr
- FpCache uintptr
- FpDirty uintptr
- FpPager uintptr
- Fpgno TPgno
- Fflags Tu16
- FnRef Ti64
- FpDirtyNext uintptr
- FpDirtyPrev uintptr
-}
-
-type PgHdr = TPgHdr
-
type TPCache = struct {
FpDirty uintptr
FpDirtyTail uintptr
@@ -9166,187 +8169,6 @@ type TPCache = struct {
type PCache = TPCache
-/************** End of mutex.h ***********************************************/
-/************** Continuing where we left off in sqliteInt.h ******************/
-
-/* The SQLITE_EXTRA_DURABLE compile-time option used to set the default
-** synchronous setting to EXTRA. It is no longer supported.
- */
-
-/*
-** Default synchronous levels.
-**
-** Note that (for historical reasons) the PAGER_SYNCHRONOUS_* macros differ
-** from the SQLITE_DEFAULT_SYNCHRONOUS value by 1.
-**
-** PAGER_SYNCHRONOUS DEFAULT_SYNCHRONOUS
-** OFF 1 0
-** NORMAL 2 1
-** FULL 3 2
-** EXTRA 4 3
-**
-** The "PRAGMA synchronous" statement also uses the zero-based numbers.
-** In other words, the zero-based numbers are used for all external interfaces
-** and the one-based values are used internally.
- */
-
-/*
-** Each database file to be accessed by the system is an instance
-** of the following structure. There are normally two of these structures
-** in the sqlite.aDb[] array. aDb[0] is the main database file and
-** aDb[1] is the database file used to hold temporary tables. Additional
-** databases may be attached.
- */
-type TDb1 = struct {
- FzDbSName uintptr
- FpBt uintptr
- Fsafety_level Tu8
- FbSyncSet Tu8
- FpSchema uintptr
-}
-
-type Db1 = TDb1
-
-/*
-** An instance of the following structure stores a database schema.
-**
-** Most Schema objects are associated with a Btree. The exception is
-** the Schema for the TEMP database (sqlite3.aDb[1]) which is free-standing.
-** In shared cache mode, a single Schema object can be shared by multiple
-** Btrees that refer to the same underlying BtShared object.
-**
-** Schema objects are automatically deallocated when the last Btree that
-** references them is destroyed. The TEMP Schema is manually freed by
-** sqlite3_close().
-*
-** A thread must be holding a mutex on the corresponding Btree in order
-** to access Schema content. This implies that the thread must also be
-** holding a mutex on the sqlite3 connection pointer that owns the Btree.
-** For a TEMP Schema, only the connection mutex is required.
- */
-type TSchema1 = struct {
- Fschema_cookie int32
- FiGeneration int32
- FtblHash THash
- FidxHash THash
- FtrigHash THash
- FfkeyHash THash
- FpSeqTab uintptr
- Ffile_format Tu8
- Fenc Tu8
- FschemaFlags Tu16
- Fcache_size int32
-}
-
-type Schema1 = TSchema1
-
-/*
-** These macros can be used to test, set, or clear bits in the
-** Db.pSchema->flags field.
- */
-
-/*
-** Allowed values for the DB.pSchema->flags field.
-**
-** The DB_SchemaLoaded flag is set after the database schema has been
-** read into internal hash tables.
-**
-** DB_UnresetViews means that one or more views have column names that
-** have been filled out. If the schema changes, these column names might
-** changes and so the view will need to be reset.
- */
-
-/*
-** The number of different kinds of things that can be limited
-** using the sqlite3_limit() interface.
- */
-
-/*
-** Lookaside malloc is a set of fixed-size buffers that can be used
-** to satisfy small transient memory allocation requests for objects
-** associated with a particular database connection. The use of
-** lookaside malloc provides a significant performance enhancement
-** (approx 10%) by avoiding numerous malloc/free requests while parsing
-** SQL statements.
-**
-** The Lookaside structure holds configuration information about the
-** lookaside malloc subsystem. Each available memory allocation in
-** the lookaside subsystem is stored on a linked list of LookasideSlot
-** objects.
-**
-** Lookaside allocations are only allowed for objects that are associated
-** with a particular database connection. Hence, schema information cannot
-** be stored in lookaside because in shared cache mode the schema information
-** is shared by multiple database connections. Therefore, while parsing
-** schema information, the Lookaside.bEnabled flag is cleared so that
-** lookaside allocations are not used to construct the schema objects.
-**
-** New lookaside allocations are only allowed if bDisable==0. When
-** bDisable is greater than zero, sz is set to zero which effectively
-** disables lookaside without adding a new test for the bDisable flag
-** in a performance-critical path. sz should be set by to szTrue whenever
-** bDisable changes back to zero.
-**
-** Lookaside buffers are initially held on the pInit list. As they are
-** used and freed, they are added back to the pFree list. New allocations
-** come off of pFree first, then pInit as a fallback. This dual-list
-** allows use to compute a high-water mark - the maximum number of allocations
-** outstanding at any point in the past - by subtracting the number of
-** allocations on the pInit list from the total number of allocations.
-**
-** Enhancement on 2019-12-12: Two-size-lookaside
-** The default lookaside configuration is 100 slots of 1200 bytes each.
-** The larger slot sizes are important for performance, but they waste
-** a lot of space, as most lookaside allocations are less than 128 bytes.
-** The two-size-lookaside enhancement breaks up the lookaside allocation
-** into two pools: One of 128-byte slots and the other of the default size
-** (1200-byte) slots. Allocations are filled from the small-pool first,
-** failing over to the full-size pool if that does not work. Thus more
-** lookaside slots are available while also using less memory.
-** This enhancement can be omitted by compiling with
-** SQLITE_OMIT_TWOSIZE_LOOKASIDE.
- */
-type TLookaside1 = struct {
- FbDisable Tu32
- Fsz Tu16
- FszTrue Tu16
- FbMalloced Tu8
- FnSlot Tu32
- FanStat [3]Tu32
- FpInit uintptr
- FpFree uintptr
- FpSmallInit uintptr
- FpSmallFree uintptr
- FpMiddle uintptr
- FpStart uintptr
- FpEnd uintptr
- FpTrueEnd uintptr
-}
-
-type Lookaside1 = TLookaside1
-
-type TLookasideSlot1 = struct {
- FpNext uintptr
-}
-
-type LookasideSlot1 = TLookasideSlot1
-
-/* Size of the smaller allocations in two-size lookaside */
-
-/*
-** A hash table for built-in function definitions. (Application-defined
-** functions use a regular table table from hash.h.)
-**
-** Hash each FuncDef structure into one of the FuncDefHash.a[] slots.
-** Collisions are on the FuncDef.u.pHash chain. Use the SQLITE_FUNC_HASH()
-** macro to compute a hash on the function name.
- */
-type TFuncDefHash1 = struct {
- Fa [23]uintptr
-}
-
-type FuncDefHash1 = TFuncDefHash1
-
// C documentation
//
// /*
@@ -9356,917 +8178,6 @@ type Tsqlite3_xauth = uintptr
type sqlite3_xauth = Tsqlite3_xauth
-/* This is an extra SQLITE_TRACE macro that indicates "legacy" tracing
-** in the style of sqlite3_trace()
- */
-
-/*
-** Maximum number of sqlite3.aDb[] entries. This is the number of attached
-** databases plus 2 for "main" and "temp".
- */
-
-/*
-** Each database connection is an instance of the following structure.
- */
-type Tsqlite31 = struct {
- FpVfs uintptr
- FpVdbe uintptr
- FpDfltColl uintptr
- Fmutex uintptr
- FaDb uintptr
- FnDb int32
- FmDbFlags Tu32
- Fflags Tu64
- FlastRowid Ti64
- FszMmap Ti64
- FnSchemaLock Tu32
- FopenFlags uint32
- FerrCode int32
- FerrByteOffset int32
- FerrMask int32
- FiSysErrno int32
- FdbOptFlags Tu32
- Fenc Tu8
- FautoCommit Tu8
- Ftemp_store Tu8
- FmallocFailed Tu8
- FbBenignMalloc Tu8
- FdfltLockMode Tu8
- FnextAutovac int8
- FsuppressErr Tu8
- FvtabOnConflict Tu8
- FisTransactionSavepoint Tu8
- FmTrace Tu8
- FnoSharedCache Tu8
- FnSqlExec Tu8
- FeOpenState Tu8
- FnextPagesize int32
- FnChange Ti64
- FnTotalChange Ti64
- FaLimit [12]int32
- FnMaxSorterMmap int32
- Finit1 Tsqlite3InitInfo
- FnVdbeActive int32
- FnVdbeRead int32
- FnVdbeWrite int32
- FnVdbeExec int32
- FnVDestroy int32
- FnExtension int32
- FaExtension uintptr
- Ftrace struct {
- FxV2 [0]uintptr
- FxLegacy uintptr
- }
- FpTraceArg uintptr
- FxProfile uintptr
- FpProfileArg uintptr
- FpCommitArg uintptr
- FxCommitCallback uintptr
- FpRollbackArg uintptr
- FxRollbackCallback uintptr
- FpUpdateArg uintptr
- FxUpdateCallback uintptr
- FpAutovacPagesArg uintptr
- FxAutovacDestr uintptr
- FxAutovacPages uintptr
- FpParse uintptr
- FpPreUpdateArg uintptr
- FxPreUpdateCallback uintptr
- FpPreUpdate uintptr
- FxWalCallback uintptr
- FpWalArg uintptr
- FxCollNeeded uintptr
- FxCollNeeded16 uintptr
- FpCollNeededArg uintptr
- FpErr uintptr
- Fu1 struct {
- FnotUsed1 [0]float64
- FisInterrupted int32
- F__ccgo_pad2 [4]byte
- }
- Flookaside TLookaside
- FxAuth Tsqlite3_xauth
- FpAuthArg uintptr
- FxProgress uintptr
- FpProgressArg uintptr
- FnProgressOps uint32
- FnVTrans int32
- FaModule THash
- FpVtabCtx uintptr
- FaVTrans uintptr
- FpDisconnect uintptr
- FaFunc THash
- FaCollSeq THash
- FbusyHandler TBusyHandler
- FaDbStatic [2]TDb
- FpSavepoint uintptr
- FnAnalysisLimit int32
- FbusyTimeout int32
- FnSavepoint int32
- FnStatement int32
- FnDeferredCons Ti64
- FnDeferredImmCons Ti64
- FpnBytesFreed uintptr
- FpDbData uintptr
- FpBlockingConnection uintptr
- FpUnlockConnection uintptr
- FpUnlockArg uintptr
- FxUnlockNotify uintptr
- FpNextBlocked uintptr
-}
-
-type sqlite31 = Tsqlite31
-
-/*
-** A macro to discover the encoding of a database.
- */
-
-/*
-** A u64 constant where the lower 32 bits are all zeros. Only the
-** upper 32 bits are included in the argument. Necessary because some
-** C-compilers still do not accept LL integer literals.
- */
-
-/*
-** Possible values for the sqlite3.flags.
-**
-** Value constraints (enforced via assert()):
-** SQLITE_FullFSync == PAGER_FULLFSYNC
-** SQLITE_CkptFullFSync == PAGER_CKPT_FULLFSYNC
-** SQLITE_CacheSpill == PAGER_CACHE_SPILL
- */
-/* result set is empty */
-/* DELETE, or UPDATE and return */
-/* the count using a callback. */
-
-/* Flags used only if debugging */
-
-/*
-** Allowed values for sqlite3.mDbFlags
- */
-
-/*
-** Bits of the sqlite3.dbOptFlags field that are used by the
-** sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS,...) interface to
-** selectively disable various optimizations.
- */
-/* TH3 expects this value ^^^^^^^^^^ to be 0x0000800. Don't change it */
-/* TH3 expects this value ^^^^^^^^^^ to be 0x40000. Coordinate any change */
-/* TH3 expects this value ^^^^^^^^^^ See flatten04.test */
-
-/*
-** Macros for testing whether or not optimizations are enabled or disabled.
- */
-
-/*
-** Return true if it OK to factor constant expressions into the initialization
-** code. The argument is a Parse object for the code generator.
- */
-
-/* Possible values for the sqlite3.eOpenState field.
-** The numbers are randomly selected such that a minimum of three bits must
-** change to convert any number to another or to zero
- */
-
-/*
-** Each SQL function is defined by an instance of the following
-** structure. For global built-in functions (ex: substr(), max(), count())
-** a pointer to this structure is held in the sqlite3BuiltinFunctions object.
-** For per-connection application-defined functions, a pointer to this
-** structure is held in the db->aHash hash table.
-**
-** The u.pHash field is used by the global built-ins. The u.pDestructor
-** field is used by per-connection app-def functions.
- */
-type TFuncDef1 = struct {
- FnArg Ti16
- FfuncFlags Tu32
- FpUserData uintptr
- FpNext uintptr
- FxSFunc uintptr
- FxFinalize uintptr
- FxValue uintptr
- FxInverse uintptr
- FzName uintptr
- Fu struct {
- FpDestructor [0]uintptr
- FpHash uintptr
- }
-}
-
-type FuncDef1 = TFuncDef1
-
-/*
-** This structure encapsulates a user-function destructor callback (as
-** configured using create_function_v2()) and a reference counter. When
-** create_function_v2() is called to create a function with a destructor,
-** a single object of this type is allocated. FuncDestructor.nRef is set to
-** the number of FuncDef objects created (either 1 or 3, depending on whether
-** or not the specified encoding is SQLITE_ANY). The FuncDef.pDestructor
-** member of each of the new FuncDef objects is set to point to the allocated
-** FuncDestructor.
-**
-** Thereafter, when one of the FuncDef objects is deleted, the reference
-** count on this object is decremented. When it reaches 0, the destructor
-** is invoked and the FuncDestructor structure freed.
- */
-type TFuncDestructor1 = struct {
- FnRef int32
- FxDestroy uintptr
- FpUserData uintptr
-}
-
-type FuncDestructor1 = TFuncDestructor1
-
-/*
-** Possible values for FuncDef.flags. Note that the _LENGTH and _TYPEOF
-** values must correspond to OPFLAG_LENGTHARG and OPFLAG_TYPEOFARG. And
-** SQLITE_FUNC_CONSTANT must be the same as SQLITE_DETERMINISTIC. There
-** are assert() statements in the code to verify this.
-**
-** Value constraints (enforced via assert()):
-** SQLITE_FUNC_MINMAX == NC_MinMaxAgg == SF_MinMaxAgg
-** SQLITE_FUNC_ANYORDER == NC_OrderAgg == SF_OrderByReqd
-** SQLITE_FUNC_LENGTH == OPFLAG_LENGTHARG
-** SQLITE_FUNC_TYPEOF == OPFLAG_TYPEOFARG
-** SQLITE_FUNC_BYTELEN == OPFLAG_BYTELENARG
-** SQLITE_FUNC_CONSTANT == SQLITE_DETERMINISTIC from the API
-** SQLITE_FUNC_DIRECT == SQLITE_DIRECTONLY from the API
-** SQLITE_FUNC_UNSAFE == SQLITE_INNOCUOUS -- opposite meanings!!!
-** SQLITE_FUNC_ENCMASK depends on SQLITE_UTF* macros in the API
-**
-** Note that even though SQLITE_FUNC_UNSAFE and SQLITE_INNOCUOUS have the
-** same bit value, their meanings are inverted. SQLITE_FUNC_UNSAFE is
-** used internally and if set means that the function has side effects.
-** SQLITE_INNOCUOUS is used by application code and means "not unsafe".
-** See multiple instances of tag-20230109-1.
- */
-/* 0x0200 -- available for reuse */
-/* SQLITE_SUBTYPE 0x00100000 // Consumer of subtypes */
-/* SQLITE_RESULT_SUBTYPE 0x01000000 // Generator of subtypes */
-
-/* Identifier numbers for each in-line function */
-
-/*
-** The following three macros, FUNCTION(), LIKEFUNC() and AGGREGATE() are
-** used to create the initializers for the FuncDef structures.
-**
-** FUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Used to create a scalar function definition of a function zName
-** implemented by C function xFunc that accepts nArg arguments. The
-** value passed as iArg is cast to a (void*) and made available
-** as the user-data (sqlite3_user_data()) for the function. If
-** argument bNC is true, then the SQLITE_FUNC_NEEDCOLL flag is set.
-**
-** VFUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Like FUNCTION except it omits the SQLITE_FUNC_CONSTANT flag.
-**
-** SFUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Like FUNCTION except it omits the SQLITE_FUNC_CONSTANT flag and
-** adds the SQLITE_DIRECTONLY flag.
-**
-** INLINE_FUNC(zName, nArg, iFuncId, mFlags)
-** zName is the name of a function that is implemented by in-line
-** byte code rather than by the usual callbacks. The iFuncId
-** parameter determines the function id. The mFlags parameter is
-** optional SQLITE_FUNC_ flags for this function.
-**
-** TEST_FUNC(zName, nArg, iFuncId, mFlags)
-** zName is the name of a test-only function implemented by in-line
-** byte code rather than by the usual callbacks. The iFuncId
-** parameter determines the function id. The mFlags parameter is
-** optional SQLITE_FUNC_ flags for this function.
-**
-** DFUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Like FUNCTION except it omits the SQLITE_FUNC_CONSTANT flag and
-** adds the SQLITE_FUNC_SLOCHNG flag. Used for date & time functions
-** and functions like sqlite_version() that can change, but not during
-** a single query. The iArg is ignored. The user-data is always set
-** to a NULL pointer. The bNC parameter is not used.
-**
-** MFUNCTION(zName, nArg, xPtr, xFunc)
-** For math-library functions. xPtr is an arbitrary pointer.
-**
-** PURE_DATE(zName, nArg, iArg, bNC, xFunc)
-** Used for "pure" date/time functions, this macro is like DFUNCTION
-** except that it does set the SQLITE_FUNC_CONSTANT flags. iArg is
-** ignored and the user-data for these functions is set to an
-** arbitrary non-NULL pointer. The bNC parameter is not used.
-**
-** AGGREGATE(zName, nArg, iArg, bNC, xStep, xFinal)
-** Used to create an aggregate function definition implemented by
-** the C functions xStep and xFinal. The first four parameters
-** are interpreted in the same way as the first 4 parameters to
-** FUNCTION().
-**
-** WAGGREGATE(zName, nArg, iArg, xStep, xFinal, xValue, xInverse)
-** Used to create an aggregate function definition implemented by
-** the C functions xStep and xFinal. The first four parameters
-** are interpreted in the same way as the first 4 parameters to
-** FUNCTION().
-**
-** LIKEFUNC(zName, nArg, pArg, flags)
-** Used to create a scalar function definition of a function zName
-** that accepts nArg arguments and is implemented by a call to C
-** function likeFunc. Argument pArg is cast to a (void *) and made
-** available as the function user-data (sqlite3_user_data()). The
-** FuncDef.flags variable is set to the value passed as the flags
-** parameter.
- */
-
-/*
-** All current savepoints are stored in a linked list starting at
-** sqlite3.pSavepoint. The first element in the list is the most recently
-** opened savepoint. Savepoints are added to the list by the vdbe
-** OP_Savepoint instruction.
- */
-type TSavepoint1 = struct {
- FzName uintptr
- FnDeferredCons Ti64
- FnDeferredImmCons Ti64
- FpNext uintptr
-}
-
-type Savepoint1 = TSavepoint1
-
-/*
-** The following are used as the second parameter to sqlite3Savepoint(),
-** and as the P1 argument to the OP_Savepoint instruction.
- */
-
-/*
-** Each SQLite module (virtual table definition) is defined by an
-** instance of the following structure, stored in the sqlite3.aModule
-** hash table.
- */
-type TModule1 = struct {
- FpModule uintptr
- FzName uintptr
- FnRefModule int32
- FpAux uintptr
- FxDestroy uintptr
- FpEpoTab uintptr
-}
-
-type Module1 = TModule1
-
-/*
-** Information about each column of an SQL table is held in an instance
-** of the Column structure, in the Table.aCol[] array.
-**
-** Definitions:
-**
-** "table column index" This is the index of the column in the
-** Table.aCol[] array, and also the index of
-** the column in the original CREATE TABLE stmt.
-**
-** "storage column index" This is the index of the column in the
-** record BLOB generated by the OP_MakeRecord
-** opcode. The storage column index is less than
-** or equal to the table column index. It is
-** equal if and only if there are no VIRTUAL
-** columns to the left.
-**
-** Notes on zCnName:
-** The zCnName field stores the name of the column, the datatype of the
-** column, and the collating sequence for the column, in that order, all in
-** a single allocation. Each string is 0x00 terminated. The datatype
-** is only included if the COLFLAG_HASTYPE bit of colFlags is set and the
-** collating sequence name is only included if the COLFLAG_HASCOLL bit is
-** set.
- */
-type TColumn1 = struct {
- FzCnName uintptr
- F__ccgo8 uint8
- Faffinity int8
- FszEst Tu8
- FhName Tu8
- FiDflt Tu16
- FcolFlags Tu16
-}
-
-type Column1 = TColumn1
-
-/* Allowed values for Column.eCType.
-**
-** Values must match entries in the global constant arrays
-** sqlite3StdTypeLen[] and sqlite3StdType[]. Each value is one more
-** than the offset into these arrays for the corresponding name.
-** Adjust the SQLITE_N_STDTYPE value if adding or removing entries.
- */
-
-/* Allowed values for Column.colFlags.
-**
-** Constraints:
-** TF_HasVirtual == COLFLAG_VIRTUAL
-** TF_HasStored == COLFLAG_STORED
-** TF_HasHidden == COLFLAG_HIDDEN
- */
-
-/*
-** A "Collating Sequence" is defined by an instance of the following
-** structure. Conceptually, a collating sequence consists of a name and
-** a comparison routine that defines the order of that sequence.
-**
-** If CollSeq.xCmp is NULL, it means that the
-** collating sequence is undefined. Indices built on an undefined
-** collating sequence may not be read or written.
- */
-type TCollSeq1 = struct {
- FzName uintptr
- Fenc Tu8
- FpUser uintptr
- FxCmp uintptr
- FxDel uintptr
-}
-
-type CollSeq1 = TCollSeq1
-
-/*
-** A sort order can be either ASC or DESC.
- */
-
-/*
-** Column affinity types.
-**
-** These used to have mnemonic name like 'i' for SQLITE_AFF_INTEGER and
-** 't' for SQLITE_AFF_TEXT. But we can save a little space and improve
-** the speed a little by numbering the values consecutively.
-**
-** But rather than start with 0 or 1, we begin with 'A'. That way,
-** when multiple affinity types are concatenated into a string and
-** used as the P4 operand, they will be more readable.
-**
-** Note also that the numeric types are grouped together so that testing
-** for a numeric type is a single comparison. And the BLOB type is first.
- */
-
-/*
-** The SQLITE_AFF_MASK values masks off the significant bits of an
-** affinity value.
- */
-
-/*
-** Additional bit values that can be ORed with an affinity without
-** changing the affinity.
-**
-** The SQLITE_NOTNULL flag is a combination of NULLEQ and JUMPIFNULL.
-** It causes an assert() to fire if either operand to a comparison
-** operator is NULL. It is added to certain comparison operators to
-** prove that the operands are always NOT NULL.
- */
-
-/*
-** An object of this type is created for each virtual table present in
-** the database schema.
-**
-** If the database schema is shared, then there is one instance of this
-** structure for each database connection (sqlite3*) that uses the shared
-** schema. This is because each database connection requires its own unique
-** instance of the sqlite3_vtab* handle used to access the virtual table
-** implementation. sqlite3_vtab* handles can not be shared between
-** database connections, even when the rest of the in-memory database
-** schema is shared, as the implementation often stores the database
-** connection handle passed to it via the xConnect() or xCreate() method
-** during initialization internally. This database connection handle may
-** then be used by the virtual table implementation to access real tables
-** within the database. So that they appear as part of the callers
-** transaction, these accesses need to be made via the same database
-** connection as that used to execute SQL operations on the virtual table.
-**
-** All VTable objects that correspond to a single table in a shared
-** database schema are initially stored in a linked-list pointed to by
-** the Table.pVTable member variable of the corresponding Table object.
-** When an sqlite3_prepare() operation is required to access the virtual
-** table, it searches the list for the VTable that corresponds to the
-** database connection doing the preparing so as to use the correct
-** sqlite3_vtab* handle in the compiled query.
-**
-** When an in-memory Table object is deleted (for example when the
-** schema is being reloaded for some reason), the VTable objects are not
-** deleted and the sqlite3_vtab* handles are not xDisconnect()ed
-** immediately. Instead, they are moved from the Table.pVTable list to
-** another linked list headed by the sqlite3.pDisconnect member of the
-** corresponding sqlite3 structure. They are then deleted/xDisconnected
-** next time a statement is prepared using said sqlite3*. This is done
-** to avoid deadlock issues involving multiple sqlite3.mutex mutexes.
-** Refer to comments above function sqlite3VtabUnlockList() for an
-** explanation as to why it is safe to add an entry to an sqlite3.pDisconnect
-** list without holding the corresponding sqlite3.mutex mutex.
-**
-** The memory for objects of this type is always allocated by
-** sqlite3DbMalloc(), using the connection handle stored in VTable.db as
-** the first argument.
- */
-type TVTable1 = struct {
- Fdb uintptr
- FpMod uintptr
- FpVtab uintptr
- FnRef int32
- FbConstraint Tu8
- FbAllSchemas Tu8
- FeVtabRisk Tu8
- FiSavepoint int32
- FpNext uintptr
-}
-
-type VTable1 = TVTable1
-
-/* Allowed values for VTable.eVtabRisk
- */
-
-/*
-** The schema for each SQL table, virtual table, and view is represented
-** in memory by an instance of the following structure.
- */
-type TTable1 = struct {
- FzName uintptr
- FaCol uintptr
- FpIndex uintptr
- FzColAff uintptr
- FpCheck uintptr
- Ftnum TPgno
- FnTabRef Tu32
- FtabFlags Tu32
- FiPKey Ti16
- FnCol Ti16
- FnNVCol Ti16
- FnRowLogEst TLogEst
- FszTabRow TLogEst
- FkeyConf Tu8
- FeTabType Tu8
- Fu struct {
- Fview [0]struct {
- FpSelect uintptr
- }
- Fvtab [0]struct {
- FnArg int32
- FazArg uintptr
- Fp uintptr
- }
- Ftab struct {
- FaddColOffset int32
- FpFKey uintptr
- FpDfltList uintptr
- }
- }
- FpTrigger uintptr
- FpSchema uintptr
- FaHx [16]Tu8
-}
-
-type Table1 = TTable1
-
-/*
-** Allowed values for Table.tabFlags.
-**
-** TF_OOOHidden applies to tables or view that have hidden columns that are
-** followed by non-hidden columns. Example: "CREATE VIRTUAL TABLE x USING
-** vtab1(a HIDDEN, b);". Since "b" is a non-hidden column but "a" is hidden,
-** the TF_OOOHidden attribute would apply in this case. Such tables require
-** special handling during INSERT processing. The "OOO" means "Out Of Order".
-**
-** Constraints:
-**
-** TF_HasVirtual == COLFLAG_VIRTUAL
-** TF_HasStored == COLFLAG_STORED
-** TF_HasHidden == COLFLAG_HIDDEN
- */
-
-/*
-** Allowed values for Table.eTabType
- */
-
-/*
-** Test to see whether or not a table is a virtual table. This is
-** done as a macro so that it will be optimized out when virtual
-** table support is omitted from the build.
- */
-
-/*
-** Macros to determine if a column is hidden. IsOrdinaryHiddenColumn()
-** only works for non-virtual tables (ordinary tables and views) and is
-** always false unless SQLITE_ENABLE_HIDDEN_COLUMNS is defined. The
-** IsHiddenColumn() macro is general purpose.
- */
-
-/* Does the table have a rowid */
-
-/* Macro is true if the SQLITE_ALLOW_ROWID_IN_VIEW (mis-)feature is
-** available. By default, this macro is false
- */
-
-/*
-** Each foreign key constraint is an instance of the following structure.
-**
-** A foreign key is associated with two tables. The "from" table is
-** the table that contains the REFERENCES clause that creates the foreign
-** key. The "to" table is the table that is named in the REFERENCES clause.
-** Consider this example:
-**
-** CREATE TABLE ex1(
-** a INTEGER PRIMARY KEY,
-** b INTEGER CONSTRAINT fk1 REFERENCES ex2(x)
-** );
-**
-** For foreign key "fk1", the from-table is "ex1" and the to-table is "ex2".
-** Equivalent names:
-**
-** from-table == child-table
-** to-table == parent-table
-**
-** Each REFERENCES clause generates an instance of the following structure
-** which is attached to the from-table. The to-table need not exist when
-** the from-table is created. The existence of the to-table is not checked.
-**
-** The list of all parents for child Table X is held at X.pFKey.
-**
-** A list of all children for a table named Z (which might not even exist)
-** is held in Schema.fkeyHash with a hash key of Z.
- */
-type TFKey1 = struct {
- FpFrom uintptr
- FpNextFrom uintptr
- FzTo uintptr
- FpNextTo uintptr
- FpPrevTo uintptr
- FnCol int32
- FisDeferred Tu8
- FaAction [2]Tu8
- FapTrigger [2]uintptr
-}
-
-type FKey1 = TFKey1
-
-/* The size (in bytes) of an FKey object holding N columns. The answer
-** does NOT include space to hold the zTo name. */
-
-/*
-** SQLite supports many different ways to resolve a constraint
-** error. ROLLBACK processing means that a constraint violation
-** causes the operation in process to fail and for the current transaction
-** to be rolled back. ABORT processing means the operation in process
-** fails and any prior changes from that one operation are backed out,
-** but the transaction is not rolled back. FAIL processing means that
-** the operation in progress stops and returns an error code. But prior
-** changes due to the same operation are not backed out and no rollback
-** occurs. IGNORE means that the particular row that caused the constraint
-** error is not inserted or updated. Processing continues and no error
-** is returned. REPLACE means that preexisting database rows that caused
-** a UNIQUE constraint violation are removed so that the new insert or
-** update can proceed. Processing continues and no error is reported.
-** UPDATE applies to insert operations only and means that the insert
-** is omitted and the DO UPDATE clause of an upsert is run instead.
-**
-** RESTRICT, SETNULL, SETDFLT, and CASCADE actions apply only to foreign keys.
-** RESTRICT is the same as ABORT for IMMEDIATE foreign keys and the
-** same as ROLLBACK for DEFERRED keys. SETNULL means that the foreign
-** key is set to NULL. SETDFLT means that the foreign key is set
-** to its default value. CASCADE means that a DELETE or UPDATE of the
-** referenced table row is propagated into the row that holds the
-** foreign key.
-**
-** The OE_Default value is a place holder that means to use whatever
-** conflict resolution algorithm is required from context.
-**
-** The following symbolic values are used to record which type
-** of conflict resolution action to take.
- */
-
-/*
-** An instance of the following structure is passed as the first
-** argument to sqlite3VdbeKeyCompare and is used to control the
-** comparison of the two index keys.
-**
-** Note that aSortOrder[] and aColl[] have nField+1 slots. There
-** are nField slots for the columns of an index then one extra slot
-** for the rowid at the end.
- */
-type TKeyInfo1 = struct {
- FnRef Tu32
- Fenc Tu8
- FnKeyField Tu16
- FnAllField Tu16
- Fdb uintptr
- FaSortFlags uintptr
-}
-
-type KeyInfo1 = TKeyInfo1
-
-/* The size (in bytes) of a KeyInfo object with up to N fields */
-
-/*
-** Allowed bit values for entries in the KeyInfo.aSortFlags[] array.
- */
-
-/*
-** This object holds a record which has been parsed out into individual
-** fields, for the purposes of doing a comparison.
-**
-** A record is an object that contains one or more fields of data.
-** Records are used to store the content of a table row and to store
-** the key of an index. A blob encoding of a record is created by
-** the OP_MakeRecord opcode of the VDBE and is disassembled by the
-** OP_Column opcode.
-**
-** An instance of this object serves as a "key" for doing a search on
-** an index b+tree. The goal of the search is to find the entry that
-** is closed to the key described by this object. This object might hold
-** just a prefix of the key. The number of fields is given by
-** pKeyInfo->nField.
-**
-** The r1 and r2 fields are the values to return if this key is less than
-** or greater than a key in the btree, respectively. These are normally
-** -1 and +1 respectively, but might be inverted to +1 and -1 if the b-tree
-** is in DESC order.
-**
-** The key comparison functions actually return default_rc when they find
-** an equals comparison. default_rc can be -1, 0, or +1. If there are
-** multiple entries in the b-tree with the same key (when only looking
-** at the first pKeyInfo->nFields,) then default_rc can be set to -1 to
-** cause the search to find the last match, or +1 to cause the search to
-** find the first match.
-**
-** The key comparison functions will set eqSeen to true if they ever
-** get and equal results when comparing this structure to a b-tree record.
-** When default_rc!=0, the search might end up on the record immediately
-** before the first match or immediately after the last match. The
-** eqSeen field will indicate whether or not an exact match exists in the
-** b-tree.
- */
-type TUnpackedRecord1 = struct {
- FpKeyInfo uintptr
- FaMem uintptr
- Fu struct {
- Fi [0]Ti64
- Fz uintptr
- }
- Fn int32
- FnField Tu16
- Fdefault_rc Ti8
- FerrCode Tu8
- Fr1 Ti8
- Fr2 Ti8
- FeqSeen Tu8
-}
-
-type UnpackedRecord1 = TUnpackedRecord1
-
-/*
-** Each SQL index is represented in memory by an
-** instance of the following structure.
-**
-** The columns of the table that are to be indexed are described
-** by the aiColumn[] field of this structure. For example, suppose
-** we have the following table and index:
-**
-** CREATE TABLE Ex1(c1 int, c2 int, c3 text);
-** CREATE INDEX Ex2 ON Ex1(c3,c1);
-**
-** In the Table structure describing Ex1, nCol==3 because there are
-** three columns in the table. In the Index structure describing
-** Ex2, nColumn==2 since 2 of the 3 columns of Ex1 are indexed.
-** The value of aiColumn is {2, 0}. aiColumn[0]==2 because the
-** first column to be indexed (c3) has an index of 2 in Ex1.aCol[].
-** The second column to be indexed (c1) has an index of 0 in
-** Ex1.aCol[], hence Ex2.aiColumn[1]==0.
-**
-** The Index.onError field determines whether or not the indexed columns
-** must be unique and what to do if they are not. When Index.onError=OE_None,
-** it means this is not a unique index. Otherwise it is a unique index
-** and the value of Index.onError indicates which conflict resolution
-** algorithm to employ when an attempt is made to insert a non-unique
-** element.
-**
-** The colNotIdxed bitmask is used in combination with SrcItem.colUsed
-** for a fast test to see if an index can serve as a covering index.
-** colNotIdxed has a 1 bit for every column of the original table that
-** is *not* available in the index. Thus the expression
-** "colUsed & colNotIdxed" will be non-zero if the index is not a
-** covering index. The most significant bit of of colNotIdxed will always
-** be true (note-20221022-a). If a column beyond the 63rd column of the
-** table is used, the "colUsed & colNotIdxed" test will always be non-zero
-** and we have to assume either that the index is not covering, or use
-** an alternative (slower) algorithm to determine whether or not
-** the index is covering.
-**
-** While parsing a CREATE TABLE or CREATE INDEX statement in order to
-** generate VDBE code (as opposed to parsing one read from an sqlite_schema
-** table as part of parsing an existing database schema), transient instances
-** of this structure may be created. In this case the Index.tnum variable is
-** used to store the address of a VDBE instruction, not a database page
-** number (it cannot - the database page is not allocated until the VDBE
-** program is executed). See convertToWithoutRowidTable() for details.
- */
-type TIndex1 = struct {
- FzName uintptr
- FaiColumn uintptr
- FaiRowLogEst uintptr
- FpTable uintptr
- FzColAff uintptr
- FpNext uintptr
- FpSchema uintptr
- FaSortOrder uintptr
- FazColl uintptr
- FpPartIdxWhere uintptr
- FaColExpr uintptr
- Ftnum TPgno
- FszIdxRow TLogEst
- FnKeyCol Tu16
- FnColumn Tu16
- FonError Tu8
- F__ccgo100 uint16
- FnSample int32
- FmxSample int32
- FnSampleCol int32
- FaAvgEq uintptr
- FaSample uintptr
- FaiRowEst uintptr
- FnRowEst0 TtRowcnt
- FcolNotIdxed TBitmask
-}
-
-type Index1 = TIndex1
-
-/*
-** Allowed values for Index.idxType
- */
-
-/* Return true if index X is a PRIMARY KEY index */
-
-/* Return true if index X is a UNIQUE index */
-
-/* The Index.aiColumn[] values are normally positive integer. But
-** there are some negative values that have special meaning:
- */
-
-/*
-** Each sample stored in the sqlite_stat4 table is represented in memory
-** using a structure of this type. See documentation at the top of the
-** analyze.c source file for additional information.
- */
-type TIndexSample1 = struct {
- Fp uintptr
- Fn int32
- FanEq uintptr
- FanLt uintptr
- FanDLt uintptr
-}
-
-type IndexSample1 = TIndexSample1
-
-/*
-** Possible values to use within the flags argument to sqlite3GetToken().
- */
-
-/*
-** Each token coming out of the lexer is an instance of
-** this structure. Tokens are also used as part of an expression.
-**
-** The memory that "z" points to is owned by other objects. Take care
-** that the owner of the "z" string does not deallocate the string before
-** the Token goes out of scope! Very often, the "z" points to some place
-** in the middle of the Parse.zSql text. But it might also point to a
-** static string.
- */
-type TToken1 = struct {
- Fz uintptr
- Fn uint32
-}
-
-type Token1 = TToken1
-
-/*
-** An instance of this structure contains information needed to generate
-** code for a SELECT that contains aggregate functions.
-**
-** If Expr.op==TK_AGG_COLUMN or TK_AGG_FUNCTION then Expr.pAggInfo is a
-** pointer to this structure. The Expr.iAgg field is the index in
-** AggInfo.aCol[] or AggInfo.aFunc[] of information needed to generate
-** code for that node.
-**
-** AggInfo.pGroupBy and AggInfo.aFunc.pExpr point to fields within the
-** original Select structure that describes the SELECT statement. These
-** fields do not need to be freed when deallocating the AggInfo structure.
- */
-type TAggInfo1 = struct {
- FdirectMode Tu8
- FuseSortingIdx Tu8
- FnSortingColumn Tu32
- FsortingIdx int32
- FsortingIdxPTab int32
- FiFirstReg int32
- FpGroupBy uintptr
- FaCol uintptr
- FnColumn int32
- FnAccumulator int32
- FaFunc uintptr
- FnFunc int32
- FselId Tu32
-}
-
-type AggInfo1 = TAggInfo1
-
/*
** Macros to compute aCol[] and aFunc[] register numbers.
**
@@ -10291,622 +8202,6 @@ type TynVar = int16
type ynVar = TynVar
-/*
-** Each node of an expression in the parse tree is an instance
-** of this structure.
-**
-** Expr.op is the opcode. The integer parser token codes are reused
-** as opcodes here. For example, the parser defines TK_GE to be an integer
-** code representing the ">=" operator. This same integer code is reused
-** to represent the greater-than-or-equal-to operator in the expression
-** tree.
-**
-** If the expression is an SQL literal (TK_INTEGER, TK_FLOAT, TK_BLOB,
-** or TK_STRING), then Expr.u.zToken contains the text of the SQL literal. If
-** the expression is a variable (TK_VARIABLE), then Expr.u.zToken contains the
-** variable name. Finally, if the expression is an SQL function (TK_FUNCTION),
-** then Expr.u.zToken contains the name of the function.
-**
-** Expr.pRight and Expr.pLeft are the left and right subexpressions of a
-** binary operator. Either or both may be NULL.
-**
-** Expr.x.pList is a list of arguments if the expression is an SQL function,
-** a CASE expression or an IN expression of the form " IN (, ...)".
-** Expr.x.pSelect is used if the expression is a sub-select or an expression of
-** the form " IN (SELECT ...)". If the EP_xIsSelect bit is set in the
-** Expr.flags mask, then Expr.x.pSelect is valid. Otherwise, Expr.x.pList is
-** valid.
-**
-** An expression of the form ID or ID.ID refers to a column in a table.
-** For such expressions, Expr.op is set to TK_COLUMN and Expr.iTable is
-** the integer cursor number of a VDBE cursor pointing to that table and
-** Expr.iColumn is the column number for the specific column. If the
-** expression is used as a result in an aggregate SELECT, then the
-** value is also stored in the Expr.iAgg column in the aggregate so that
-** it can be accessed after all aggregates are computed.
-**
-** If the expression is an unbound variable marker (a question mark
-** character '?' in the original SQL) then the Expr.iTable holds the index
-** number for that variable.
-**
-** If the expression is a subquery then Expr.iColumn holds an integer
-** register number containing the result of the subquery. If the
-** subquery gives a constant result, then iTable is -1. If the subquery
-** gives a different answer at different times during statement processing
-** then iTable is the address of a subroutine that computes the subquery.
-**
-** If the Expr is of type OP_Column, and the table it is selecting from
-** is a disk table or the "old.*" pseudo-table, then pTab points to the
-** corresponding table definition.
-**
-** ALLOCATION NOTES:
-**
-** Expr objects can use a lot of memory space in database schema. To
-** help reduce memory requirements, sometimes an Expr object will be
-** truncated. And to reduce the number of memory allocations, sometimes
-** two or more Expr objects will be stored in a single memory allocation,
-** together with Expr.u.zToken strings.
-**
-** If the EP_Reduced and EP_TokenOnly flags are set when
-** an Expr object is truncated. When EP_Reduced is set, then all
-** the child Expr objects in the Expr.pLeft and Expr.pRight subtrees
-** are contained within the same memory allocation. Note, however, that
-** the subtrees in Expr.x.pList or Expr.x.pSelect are always separately
-** allocated, regardless of whether or not EP_Reduced is set.
- */
-type TExpr1 = struct {
- Fop Tu8
- FaffExpr int8
- Fop2 Tu8
- Fflags Tu32
- Fu struct {
- FiValue [0]int32
- FzToken uintptr
- }
- FpLeft uintptr
- FpRight uintptr
- Fx struct {
- FpSelect [0]uintptr
- FpList uintptr
- }
- FnHeight int32
- FiTable int32
- FiColumn TynVar
- FiAgg Ti16
- Fw struct {
- FiOfst [0]int32
- FiJoin int32
- }
- FpAggInfo uintptr
- Fy struct {
- FpWin [0]uintptr
- Fsub [0]struct {
- FiAddr int32
- FregReturn int32
- }
- FpTab uintptr
- }
-}
-
-type Expr1 = TExpr1
-
-/* The following are the meanings of bits in the Expr.flags field.
-** Value restrictions:
-**
-** EP_Agg == NC_HasAgg == SF_HasAgg
-** EP_Win == NC_HasWin
- */
-
-/* The EP_Propagate mask is a set of properties that automatically propagate
-** upwards into parent nodes.
- */
-
-/* Macros can be used to test, set, or clear bits in the
-** Expr.flags field.
- */
-
-/* Macros used to ensure that the correct members of unions are accessed
-** in Expr.
- */
-
-/* Flags for use with Expr.vvaFlags
- */
-
-/* The ExprSetVVAProperty() macro is used for Verification, Validation,
-** and Accreditation only. It works like ExprSetProperty() during VVA
-** processes but is a no-op for delivery.
- */
-
-/*
-** Macros to determine the number of bytes required by a normal Expr
-** struct, an Expr struct with the EP_Reduced flag set in Expr.flags
-** and an Expr struct with the EP_TokenOnly flag set.
- */
-
-/*
-** Flags passed to the sqlite3ExprDup() function. See the header comment
-** above sqlite3ExprDup() for details.
- */
-
-/*
-** True if the expression passed as an argument was a function with
-** an OVER() clause (a window function).
- */
-
-/*
-** A list of expressions. Each expression may optionally have a
-** name. An expr/name combination can be used in several ways, such
-** as the list of "expr AS ID" fields following a "SELECT" or in the
-** list of "ID = expr" items in an UPDATE. A list of expressions can
-** also be used as the argument to a function, in which case the a.zName
-** field is not used.
-**
-** In order to try to keep memory usage down, the Expr.a.zEName field
-** is used for multiple purposes:
-**
-** eEName Usage
-** ---------- -------------------------
-** ENAME_NAME (1) the AS of result set column
-** (2) COLUMN= of an UPDATE
-**
-** ENAME_TAB DB.TABLE.NAME used to resolve names
-** of subqueries
-**
-** ENAME_SPAN Text of the original result set
-** expression.
- */
-type TExprList1 = struct {
- F__ccgo_align [0]uint64
- FnExpr int32
- FnAlloc int32
-}
-
-type ExprList1 = TExprList1
-
-/* The size (in bytes) of an ExprList object that is big enough to hold
-** as many as N expressions. */
-
-/*
-** Allowed values for Expr.a.eEName
- */
-
-/*
-** An instance of this structure can hold a simple list of identifiers,
-** such as the list "a,b,c" in the following statements:
-**
-** INSERT INTO t(a,b,c) VALUES ...;
-** CREATE INDEX idx ON t(a,b,c);
-** CREATE TRIGGER trig BEFORE UPDATE ON t(a,b,c) ...;
-**
-** The IdList.a.idx field is used when the IdList represents the list of
-** column names after a table name in an INSERT statement. In the statement
-**
-** INSERT INTO t(a,b,c) ...
-**
-** If "a" is the k-th column of table "t", then IdList.a[0].idx==k.
- */
-type TIdList1 = struct {
- F__ccgo_align [0]uint64
- FnId int32
-}
-
-type IdList1 = TIdList1
-
-/* The size (in bytes) of an IdList object that can hold up to N IDs. */
-
-/*
-** Allowed values for IdList.eType, which determines which value of the a.u4
-** is valid.
- */
-
-/*
-** Details of the implementation of a subquery.
- */
-type TSubquery1 = struct {
- FpSelect uintptr
- FaddrFillSub int32
- FregReturn int32
- FregResult int32
-}
-
-type Subquery1 = TSubquery1
-
-/*
-** The SrcItem object represents a single term in the FROM clause of a query.
-** The SrcList object is mostly an array of SrcItems.
-**
-** The jointype starts out showing the join type between the current table
-** and the next table on the list. The parser builds the list this way.
-** But sqlite3SrcListShiftJoinType() later shifts the jointypes so that each
-** jointype expresses the join between the table and the previous table.
-**
-** In the colUsed field, the high-order bit (bit 63) is set if the table
-** contains more than 63 columns and the 64-th or later column is used.
-**
-** Aggressive use of "union" helps keep the size of the object small. This
-** has been shown to boost performance, in addition to saving memory.
-** Access to union elements is gated by the following rules which should
-** always be checked, either by an if-statement or by an assert().
-**
-** Field Only access if this is true
-** --------------- -----------------------------------
-** u1.zIndexedBy fg.isIndexedBy
-** u1.pFuncArg fg.isTabFunc
-** u1.nRow !fg.isTabFunc && !fg.isIndexedBy
-**
-** u2.pIBIndex fg.isIndexedBy
-** u2.pCteUse fg.isCte
-**
-** u3.pOn !fg.isUsing
-** u3.pUsing fg.isUsing
-**
-** u4.zDatabase !fg.fixedSchema && !fg.isSubquery
-** u4.pSchema fg.fixedSchema
-** u4.pSubq fg.isSubquery
-**
-** See also the sqlite3SrcListDelete() routine for assert() statements that
-** check invariants on the fields of this object, especially the flags
-** inside the fg struct.
- */
-type TSrcItem1 = struct {
- FzName uintptr
- FzAlias uintptr
- FpSTab uintptr
- Ffg struct {
- Fjointype Tu8
- F__ccgo4 uint32
- }
- FiCursor int32
- FcolUsed TBitmask
- Fu1 struct {
- FpFuncArg [0]uintptr
- FnRow [0]Tu32
- FzIndexedBy uintptr
- }
- Fu2 struct {
- FpCteUse [0]uintptr
- FpIBIndex uintptr
- }
- Fu3 struct {
- FpUsing [0]uintptr
- FpOn uintptr
- }
- Fu4 struct {
- FzDatabase [0]uintptr
- FpSubq [0]uintptr
- FpSchema uintptr
- }
-}
-
-type SrcItem1 = TSrcItem1
-
-/*
-** The OnOrUsing object represents either an ON clause or a USING clause.
-** It can never be both at the same time, but it can be neither.
- */
-type TOnOrUsing1 = struct {
- FpOn uintptr
- FpUsing uintptr
-}
-
-type OnOrUsing1 = TOnOrUsing1
-
-/*
-** This object represents one or more tables that are the source of
-** content for an SQL statement. For example, a single SrcList object
-** is used to hold the FROM clause of a SELECT statement. SrcList also
-** represents the target tables for DELETE, INSERT, and UPDATE statements.
-**
- */
-type TSrcList1 = struct {
- F__ccgo_align [0]uint64
- FnSrc int32
- FnAlloc Tu32
-}
-
-type SrcList1 = TSrcList1
-
-/* Size (in bytes) of a SrcList object that can hold as many as N
-** SrcItem objects. */
-
-/* Size (in bytes( of a SrcList object that holds 1 SrcItem. This is a
-** special case of SZ_SRCITEM(1) that comes up often. */
-
-/*
-** Permitted values of the SrcList.a.jointype field
- */
-
-/*
-** Flags appropriate for the wctrlFlags parameter of sqlite3WhereBegin()
-** and the WhereInfo.wctrlFlags member.
-**
-** Value constraints (enforced via assert()):
-** WHERE_USE_LIMIT == SF_FixedLimit
- */
-/* 0x8000 not currently used */
-
-/* Allowed return values from sqlite3WhereIsDistinct()
- */
-
-/*
-** A NameContext defines a context in which to resolve table and column
-** names. The context consists of a list of tables (the pSrcList) field and
-** a list of named expression (pEList). The named expression list may
-** be NULL. The pSrc corresponds to the FROM clause of a SELECT or
-** to the table being operated on by INSERT, UPDATE, or DELETE. The
-** pEList corresponds to the result set of a SELECT and is NULL for
-** other statements.
-**
-** NameContexts can be nested. When resolving names, the inner-most
-** context is searched first. If no match is found, the next outer
-** context is checked. If there is still no match, the next context
-** is checked. This process continues until either a match is found
-** or all contexts are check. When a match is found, the nRef member of
-** the context containing the match is incremented.
-**
-** Each subquery gets a new NameContext. The pNext field points to the
-** NameContext in the parent query. Thus the process of scanning the
-** NameContext list corresponds to searching through successively outer
-** subqueries looking for a match.
- */
-type TNameContext1 = struct {
- FpParse uintptr
- FpSrcList uintptr
- FuNC struct {
- FpAggInfo [0]uintptr
- FpUpsert [0]uintptr
- FiBaseReg [0]int32
- FpEList uintptr
- }
- FpNext uintptr
- FnRef int32
- FnNcErr int32
- FncFlags int32
- FnNestedSelect Tu32
- FpWinSelect uintptr
-}
-
-type NameContext1 = TNameContext1
-
-/*
-** Allowed values for the NameContext, ncFlags field.
-**
-** Value constraints (all checked via assert()):
-** NC_HasAgg == SF_HasAgg == EP_Agg
-** NC_MinMaxAgg == SF_MinMaxAgg == SQLITE_FUNC_MINMAX
-** NC_OrderAgg == SF_OrderByReqd == SQLITE_FUNC_ANYORDER
-** NC_HasWin == EP_Win
-**
- */
-/* 0x002000 // available for reuse */
-
-/*
-** An instance of the following object describes a single ON CONFLICT
-** clause in an upsert.
-**
-** The pUpsertTarget field is only set if the ON CONFLICT clause includes
-** conflict-target clause. (In "ON CONFLICT(a,b)" the "(a,b)" is the
-** conflict-target clause.) The pUpsertTargetWhere is the optional
-** WHERE clause used to identify partial unique indexes.
-**
-** pUpsertSet is the list of column=expr terms of the UPDATE statement.
-** The pUpsertSet field is NULL for a ON CONFLICT DO NOTHING. The
-** pUpsertWhere is the WHERE clause for the UPDATE and is NULL if the
-** WHERE clause is omitted.
- */
-type TUpsert1 = struct {
- FpUpsertTarget uintptr
- FpUpsertTargetWhere uintptr
- FpUpsertSet uintptr
- FpUpsertWhere uintptr
- FpNextUpsert uintptr
- FisDoUpdate Tu8
- FisDup Tu8
- FpToFree uintptr
- FpUpsertIdx uintptr
- FpUpsertSrc uintptr
- FregData int32
- FiDataCur int32
- FiIdxCur int32
-}
-
-type Upsert1 = TUpsert1
-
-/*
-** An instance of the following structure contains all information
-** needed to generate code for a single SELECT statement.
-**
-** See the header comment on the computeLimitRegisters() routine for a
-** detailed description of the meaning of the iLimit and iOffset fields.
-**
-** addrOpenEphm[] entries contain the address of OP_OpenEphemeral opcodes.
-** These addresses must be stored so that we can go back and fill in
-** the P4_KEYINFO and P2 parameters later. Neither the KeyInfo nor
-** the number of columns in P2 can be computed at the same time
-** as the OP_OpenEphm instruction is coded because not
-** enough information about the compound query is known at that point.
-** The KeyInfo for addrOpenTran[0] and [1] contains collating sequences
-** for the result set. The KeyInfo for addrOpenEphm[2] contains collating
-** sequences for the ORDER BY clause.
- */
-type TSelect1 = struct {
- Fop Tu8
- FnSelectRow TLogEst
- FselFlags Tu32
- FiLimit int32
- FiOffset int32
- FselId Tu32
- FaddrOpenEphm [2]int32
- FpEList uintptr
- FpSrc uintptr
- FpWhere uintptr
- FpGroupBy uintptr
- FpHaving uintptr
- FpOrderBy uintptr
- FpPrior uintptr
- FpNext uintptr
- FpLimit uintptr
- FpWith uintptr
- FpWin uintptr
- FpWinDefn uintptr
-}
-
-type Select1 = TSelect1
-
-/*
-** Allowed values for Select.selFlags. The "SF" prefix stands for
-** "Select Flag".
-**
-** Value constraints (all checked via assert())
-** SF_HasAgg == NC_HasAgg
-** SF_MinMaxAgg == NC_MinMaxAgg == SQLITE_FUNC_MINMAX
-** SF_OrderByReqd == NC_OrderAgg == SQLITE_FUNC_ANYORDER
-** SF_FixedLimit == WHERE_USE_LIMIT
- */
-
-/* True if SrcItem X is a subquery that has SF_NestedFrom */
-
-/*
-** The results of a SELECT can be distributed in several ways, as defined
-** by one of the following macros. The "SRT" prefix means "SELECT Result
-** Type".
-**
-** SRT_Union Store results as a key in a temporary index
-** identified by pDest->iSDParm.
-**
-** SRT_Except Remove results from the temporary index pDest->iSDParm.
-**
-** SRT_Exists Store a 1 in memory cell pDest->iSDParm if the result
-** set is not empty.
-**
-** SRT_Discard Throw the results away. This is used by SELECT
-** statements within triggers whose only purpose is
-** the side-effects of functions.
-**
-** SRT_Output Generate a row of output (using the OP_ResultRow
-** opcode) for each row in the result set.
-**
-** SRT_Mem Only valid if the result is a single column.
-** Store the first column of the first result row
-** in register pDest->iSDParm then abandon the rest
-** of the query. This destination implies "LIMIT 1".
-**
-** SRT_Set The result must be a single column. Store each
-** row of result as the key in table pDest->iSDParm.
-** Apply the affinity pDest->affSdst before storing
-** results. if pDest->iSDParm2 is positive, then it is
-** a register holding a Bloom filter for the IN operator
-** that should be populated in addition to the
-** pDest->iSDParm table. This SRT is used to
-** implement "IN (SELECT ...)".
-**
-** SRT_EphemTab Create an temporary table pDest->iSDParm and store
-** the result there. The cursor is left open after
-** returning. This is like SRT_Table except that
-** this destination uses OP_OpenEphemeral to create
-** the table first.
-**
-** SRT_Coroutine Generate a co-routine that returns a new row of
-** results each time it is invoked. The entry point
-** of the co-routine is stored in register pDest->iSDParm
-** and the result row is stored in pDest->nDest registers
-** starting with pDest->iSdst.
-**
-** SRT_Table Store results in temporary table pDest->iSDParm.
-** SRT_Fifo This is like SRT_EphemTab except that the table
-** is assumed to already be open. SRT_Fifo has
-** the additional property of being able to ignore
-** the ORDER BY clause.
-**
-** SRT_DistFifo Store results in a temporary table pDest->iSDParm.
-** But also use temporary table pDest->iSDParm+1 as
-** a record of all prior results and ignore any duplicate
-** rows. Name means: "Distinct Fifo".
-**
-** SRT_Queue Store results in priority queue pDest->iSDParm (really
-** an index). Append a sequence number so that all entries
-** are distinct.
-**
-** SRT_DistQueue Store results in priority queue pDest->iSDParm only if
-** the same record has never been stored before. The
-** index at pDest->iSDParm+1 hold all prior stores.
-**
-** SRT_Upfrom Store results in the temporary table already opened by
-** pDest->iSDParm. If (pDest->iSDParm<0), then the temp
-** table is an intkey table - in this case the first
-** column returned by the SELECT is used as the integer
-** key. If (pDest->iSDParm>0), then the table is an index
-** table. (pDest->iSDParm) is the number of key columns in
-** each index record in this case.
- */
-
-/* The DISTINCT clause is ignored for all of the above. Not that
-** IgnorableDistinct() implies IgnorableOrderby() */
-
-/* The ORDER BY clause is ignored for all of the above */
-
-/*
-** An instance of this object describes where to put of the results of
-** a SELECT statement.
- */
-type TSelectDest1 = struct {
- FeDest Tu8
- FiSDParm int32
- FiSDParm2 int32
- FiSdst int32
- FnSdst int32
- FzAffSdst uintptr
- FpOrderBy uintptr
-}
-
-type SelectDest1 = TSelectDest1
-
-/*
-** During code generation of statements that do inserts into AUTOINCREMENT
-** tables, the following information is attached to the Table.u.autoInc.p
-** pointer of each autoincrement table to record some side information that
-** the code generator needs. We have to keep per-table autoincrement
-** information in case inserts are done within triggers. Triggers do not
-** normally coordinate their activities, but we do need to coordinate the
-** loading and saving of autoincrement information.
- */
-type TAutoincInfo1 = struct {
- FpNext uintptr
- FpTab uintptr
- FiDb int32
- FregCtr int32
-}
-
-type AutoincInfo1 = TAutoincInfo1
-
-/*
-** At least one instance of the following structure is created for each
-** trigger that may be fired while parsing an INSERT, UPDATE or DELETE
-** statement. All such objects are stored in the linked list headed at
-** Parse.pTriggerPrg and deleted once statement compilation has been
-** completed.
-**
-** A Vdbe sub-program that implements the body and WHEN clause of trigger
-** TriggerPrg.pTrigger, assuming a default ON CONFLICT clause of
-** TriggerPrg.orconf, is stored in the TriggerPrg.pProgram variable.
-** The Parse.pTriggerPrg list never contains two entries with the same
-** values for both pTrigger and orconf.
-**
-** The TriggerPrg.aColmask[0] variable is set to a mask of old.* columns
-** accessed (or set to 0 for triggers fired as a result of INSERT
-** statements). Similarly, the TriggerPrg.aColmask[1] variable is set to
-** a mask of new.* columns used by the program.
- */
-type TTriggerPrg1 = struct {
- FpTrigger uintptr
- FpNext uintptr
- FpProgram uintptr
- Forconf int32
- FaColmask [2]Tu32
-}
-
-type TriggerPrg1 = TTriggerPrg1
-
// C documentation
//
// /*
@@ -10916,318 +8211,6 @@ type TyDbMask = uint32
type yDbMask = TyDbMask
-/*
-** For each index X that has as one of its arguments either an expression
-** or the name of a virtual generated column, and if X is in scope such that
-** the value of the expression can simply be read from the index, then
-** there is an instance of this object on the Parse.pIdxExpr list.
-**
-** During code generation, while generating code to evaluate expressions,
-** this list is consulted and if a matching expression is found, the value
-** is read from the index rather than being recomputed.
- */
-type TIndexedExpr1 = struct {
- FpExpr uintptr
- FiDataCur int32
- FiIdxCur int32
- FiIdxCol int32
- FbMaybeNullRow Tu8
- Faff Tu8
- FpIENext uintptr
-}
-
-type IndexedExpr1 = TIndexedExpr1
-
-/*
-** An instance of the ParseCleanup object specifies an operation that
-** should be performed after parsing to deallocation resources obtained
-** during the parse and which are no longer needed.
- */
-type TParseCleanup1 = struct {
- FpNext uintptr
- FpPtr uintptr
- FxCleanup uintptr
-}
-
-type ParseCleanup1 = TParseCleanup1
-
-/*
-** An SQL parser context. A copy of this structure is passed through
-** the parser and down into all the parser action routine in order to
-** carry around information that is global to the entire parse.
-**
-** The structure is divided into two parts. When the parser and code
-** generate call themselves recursively, the first part of the structure
-** is constant but the second part is reset at the beginning and end of
-** each recursion.
-**
-** The nTableLock and aTableLock variables are only used if the shared-cache
-** feature is enabled (if sqlite3Tsd()->useSharedData is true). They are
-** used to store the set of table-locks required by the statement being
-** compiled. Function sqlite3TableLock() is used to add entries to the
-** list.
- */
-type TParse1 = struct {
- Fdb uintptr
- FzErrMsg uintptr
- FpVdbe uintptr
- Frc int32
- FnQueryLoop TLogEst
- Fnested Tu8
- FnTempReg Tu8
- FisMultiWrite Tu8
- FmayAbort Tu8
- FhasCompound Tu8
- FdisableLookaside Tu8
- FprepFlags Tu8
- FwithinRJSubrtn Tu8
- FmSubrtnSig Tu8
- FeTriggerOp Tu8
- FbReturning Tu8
- FeOrconf Tu8
- FdisableTriggers Tu8
- F__ccgo_align18 [1]byte
- F__ccgo44 uint8
- FnRangeReg int32
- FiRangeReg int32
- FnErr int32
- FnTab int32
- FnMem int32
- FszOpAlloc int32
- FiSelfTab int32
- FnLabel int32
- FnLabelAlloc int32
- FaLabel uintptr
- FpConstExpr uintptr
- FpIdxEpr uintptr
- FpIdxPartExpr uintptr
- FwriteMask TyDbMask
- FcookieMask TyDbMask
- FnMaxArg int32
- FnSelect int32
- FnProgressSteps Tu32
- FnTableLock int32
- FaTableLock uintptr
- FpAinc uintptr
- FpToplevel uintptr
- FpTriggerTab uintptr
- FpTriggerPrg uintptr
- FpCleanup uintptr
- FaTempReg [8]int32
- FpOuterParse uintptr
- FsNameToken TToken
- Foldmask Tu32
- Fnewmask Tu32
- Fu1 struct {
- Fd [0]struct {
- FpReturning uintptr
- }
- Fcr struct {
- FaddrCrTab int32
- FregRowid int32
- FregRoot int32
- FconstraintName TToken
- }
- }
- FsLastToken TToken
- FnVar TynVar
- FiPkSortOrder Tu8
- Fexplain Tu8
- FeParseMode Tu8
- FnVtabLock int32
- FnHeight int32
- FaddrExplain int32
- FpVList uintptr
- FpReprepare uintptr
- FzTail uintptr
- FpNewTable uintptr
- FpNewIndex uintptr
- FpNewTrigger uintptr
- FzAuthContext uintptr
- FsArg TToken
- FapVtabLock uintptr
- FpWith uintptr
- FpRename uintptr
-}
-
-type Parse1 = TParse1
-
-/* Allowed values for Parse.eParseMode
- */
-
-/*
-** Sizes and pointers of various parts of the Parse object.
- */
-
-/*
-** Return true if currently inside an sqlite3_declare_vtab() call.
- */
-
-/*
-** An instance of the following structure can be declared on a stack and used
-** to save the Parse.zAuthContext value so that it can be restored later.
- */
-type TAuthContext1 = struct {
- FzAuthContext uintptr
- FpParse uintptr
-}
-
-type AuthContext1 = TAuthContext1
-
-/*
-** Bitfield flags for P5 value in various opcodes.
-**
-** Value constraints (enforced via assert()):
-** OPFLAG_LENGTHARG == SQLITE_FUNC_LENGTH
-** OPFLAG_TYPEOFARG == SQLITE_FUNC_TYPEOF
-** OPFLAG_BULKCSR == BTREE_BULKLOAD
-** OPFLAG_SEEKEQ == BTREE_SEEK_EQ
-** OPFLAG_FORDELETE == BTREE_FORDELETE
-** OPFLAG_SAVEPOSITION == BTREE_SAVEPOSITION
-** OPFLAG_AUXDELETE == BTREE_AUXDELETE
- */
-/* Also used in P2 (not P5) of OP_Delete */
-
-/*
-** Each trigger present in the database schema is stored as an instance of
-** struct Trigger.
-**
-** Pointers to instances of struct Trigger are stored in two ways.
-** 1. In the "trigHash" hash table (part of the sqlite3* that represents the
-** database). This allows Trigger structures to be retrieved by name.
-** 2. All triggers associated with a single table form a linked list, using the
-** pNext member of struct Trigger. A pointer to the first element of the
-** linked list is stored as the "pTrigger" member of the associated
-** struct Table.
-**
-** The "step_list" member points to the first element of a linked list
-** containing the SQL statements specified as the trigger program.
- */
-type TTrigger1 = struct {
- FzName uintptr
- Ftable uintptr
- Fop Tu8
- Ftr_tm Tu8
- FbReturning Tu8
- FpWhen uintptr
- FpColumns uintptr
- FpSchema uintptr
- FpTabSchema uintptr
- Fstep_list uintptr
- FpNext uintptr
-}
-
-type Trigger1 = TTrigger1
-
-/*
-** A trigger is either a BEFORE or an AFTER trigger. The following constants
-** determine which.
-**
-** If there are multiple triggers, you might of some BEFORE and some AFTER.
-** In that cases, the constants below can be ORed together.
- */
-
-/*
-** An instance of struct TriggerStep is used to store a single SQL statement
-** that is a part of a trigger-program.
-**
-** Instances of struct TriggerStep are stored in a singly linked list (linked
-** using the "pNext" member) referenced by the "step_list" member of the
-** associated struct Trigger instance. The first element of the linked list is
-** the first step of the trigger-program.
-**
-** The "op" member indicates whether this is a "DELETE", "INSERT", "UPDATE" or
-** "SELECT" statement. The meanings of the other members is determined by the
-** value of "op" as follows:
-**
-** (op == TK_INSERT)
-** orconf -> stores the ON CONFLICT algorithm
-** pSelect -> The content to be inserted - either a SELECT statement or
-** a VALUES clause.
-** zTarget -> Dequoted name of the table to insert into.
-** pIdList -> If this is an INSERT INTO ... () VALUES ...
-** statement, then this stores the column-names to be
-** inserted into.
-** pUpsert -> The ON CONFLICT clauses for an Upsert
-**
-** (op == TK_DELETE)
-** zTarget -> Dequoted name of the table to delete from.
-** pWhere -> The WHERE clause of the DELETE statement if one is specified.
-** Otherwise NULL.
-**
-** (op == TK_UPDATE)
-** zTarget -> Dequoted name of the table to update.
-** pWhere -> The WHERE clause of the UPDATE statement if one is specified.
-** Otherwise NULL.
-** pExprList -> A list of the columns to update and the expressions to update
-** them to. See sqlite3Update() documentation of "pChanges"
-** argument.
-**
-** (op == TK_SELECT)
-** pSelect -> The SELECT statement
-**
-** (op == TK_RETURNING)
-** pExprList -> The list of expressions that follow the RETURNING keyword.
-**
- */
-type TTriggerStep1 = struct {
- Fop Tu8
- Forconf Tu8
- FpTrig uintptr
- FpSelect uintptr
- FzTarget uintptr
- FpFrom uintptr
- FpWhere uintptr
- FpExprList uintptr
- FpIdList uintptr
- FpUpsert uintptr
- FzSpan uintptr
- FpNext uintptr
- FpLast uintptr
-}
-
-type TriggerStep1 = TTriggerStep1
-
-/*
-** Information about a RETURNING clause
- */
-type TReturning1 = struct {
- FpParse uintptr
- FpReturnEL uintptr
- FretTrig TTrigger
- FretTStep TTriggerStep
- FiRetCur int32
- FnRetCol int32
- FiRetReg int32
- FzName [40]int8
-}
-
-type Returning1 = TReturning1
-
-/*
-** The following object is the header for an "RCStr" or "reference-counted
-** string". An RCStr is passed around and used like any other char*
-** that has been dynamically allocated. The important interface
-** differences:
-**
-** 1. RCStr strings are reference counted. They are deallocated
-** when the reference count reaches zero.
-**
-** 2. Use sqlite3RCStrUnref() to free an RCStr string rather than
-** sqlite3_free()
-**
-** 3. Make a (read-only) copy of a read-only RCStr string using
-** sqlite3RCStrRef().
-**
-** "String" is in the name, but an RCStr object can also be used to hold
-** binary data.
- */
-type TRCStr1 = struct {
- FnRCRef Tu64
-}
-
-type RCStr1 = TRCStr1
-
// C documentation
//
// /*
@@ -11313,232 +8296,6 @@ type TSqlite3Config = struct {
type Sqlite3Config = TSqlite3Config
-/*
-** This macro is used inside of assert() statements to indicate that
-** the assert is only valid on a well-formed database. Instead of:
-**
-** assert( X );
-**
-** One writes:
-**
-** assert( X || CORRUPT_DB );
-**
-** CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate
-** that the database is definitely corrupt, only that it might be corrupt.
-** For most test cases, CORRUPT_DB is set to false using a special
-** sqlite3_test_control(). This enables assert() statements to prove
-** things that are always true for well-formed databases.
- */
-
-/*
-** Context pointer passed down through the tree-walk.
- */
-type TWalker1 = struct {
- FpParse uintptr
- FxExprCallback uintptr
- FxSelectCallback uintptr
- FxSelectCallback2 uintptr
- FwalkerDepth int32
- FeCode Tu16
- FmWFlags Tu16
- Fu struct {
- Fn [0]int32
- FiCur [0]int32
- FpSrcList [0]uintptr
- FpCCurHint [0]uintptr
- FpRefSrcList [0]uintptr
- FaiCol [0]uintptr
- FpIdxCover [0]uintptr
- FpGroupBy [0]uintptr
- FpSelect [0]uintptr
- FpRewrite [0]uintptr
- FpConst [0]uintptr
- FpRename [0]uintptr
- FpTab [0]uintptr
- FpCovIdxCk [0]uintptr
- FpSrcItem [0]uintptr
- FpFix [0]uintptr
- FaMem [0]uintptr
- FpNC uintptr
- }
-}
-
-type Walker1 = TWalker1
-
-/*
-** The following structure contains information used by the sqliteFix...
-** routines as they walk the parse tree to make database references
-** explicit.
- */
-type TDbFixer1 = struct {
- FpParse uintptr
- Fw TWalker
- FpSchema uintptr
- FbTemp Tu8
- FzDb uintptr
- FzType uintptr
- FpName uintptr
-}
-
-type DbFixer1 = TDbFixer1
-
-/*
-** Return code from the parse-tree walking primitives and their
-** callbacks.
- */
-
-/*
-** A single common table expression
- */
-type TCte1 = struct {
- FzName uintptr
- FpCols uintptr
- FpSelect uintptr
- FzCteErr uintptr
- FpUse uintptr
- FeM10d Tu8
-}
-
-type Cte1 = TCte1
-
-/*
-** Allowed values for the materialized flag (eM10d):
- */
-
-/*
-** An instance of the With object represents a WITH clause containing
-** one or more CTEs (common table expressions).
- */
-type TWith1 = struct {
- FnCte int32
- FbView int32
- FpOuter uintptr
-}
-
-type With1 = TWith1
-
-/* The size (in bytes) of a With object that can hold as many
-** as N different CTEs. */
-
-/*
-** The Cte object is not guaranteed to persist for the entire duration
-** of code generation. (The query flattener or other parser tree
-** edits might delete it.) The following object records information
-** about each Common Table Expression that must be preserved for the
-** duration of the parse.
-**
-** The CteUse objects are freed using sqlite3ParserAddCleanup() rather
-** than sqlite3SelectDelete(), which is what enables them to persist
-** until the end of code generation.
- */
-type TCteUse1 = struct {
- FnUse int32
- FaddrM9e int32
- FregRtn int32
- FiCur int32
- FnRowEst TLogEst
- FeM10d Tu8
-}
-
-type CteUse1 = TCteUse1
-
-/* Client data associated with sqlite3_set_clientdata() and
-** sqlite3_get_clientdata().
- */
-type TDbClientData1 = struct {
- FpNext uintptr
- FpData uintptr
- FxDestructor uintptr
-}
-
-type DbClientData1 = TDbClientData1
-
-/* The size (in bytes) of a DbClientData object that can has a name
-** that is N bytes long, including the zero-terminator. */
-
-/*
-** This object is used in various ways, most (but not all) related to window
-** functions.
-**
-** (1) A single instance of this structure is attached to the
-** the Expr.y.pWin field for each window function in an expression tree.
-** This object holds the information contained in the OVER clause,
-** plus additional fields used during code generation.
-**
-** (2) All window functions in a single SELECT form a linked-list
-** attached to Select.pWin. The Window.pFunc and Window.pExpr
-** fields point back to the expression that is the window function.
-**
-** (3) The terms of the WINDOW clause of a SELECT are instances of this
-** object on a linked list attached to Select.pWinDefn.
-**
-** (4) For an aggregate function with a FILTER clause, an instance
-** of this object is stored in Expr.y.pWin with eFrmType set to
-** TK_FILTER. In this case the only field used is Window.pFilter.
-**
-** The uses (1) and (2) are really the same Window object that just happens
-** to be accessible in two different ways. Use case (3) are separate objects.
- */
-type TWindow1 = struct {
- FzName uintptr
- FzBase uintptr
- FpPartition uintptr
- FpOrderBy uintptr
- FeFrmType Tu8
- FeStart Tu8
- FeEnd Tu8
- FbImplicitFrame Tu8
- FeExclude Tu8
- FpStart uintptr
- FpEnd uintptr
- FppThis uintptr
- FpNextWin uintptr
- FpFilter uintptr
- FpWFunc uintptr
- FiEphCsr int32
- FregAccum int32
- FregResult int32
- FcsrApp int32
- FregApp int32
- FregPart int32
- FpOwner uintptr
- FnBufferCol int32
- FiArgCol int32
- FregOne int32
- FregStartRowid int32
- FregEndRowid int32
- FbExprArgs Tu8
-}
-
-type Window1 = TWindow1
-
-/*
-** An instance of the following structure holds information about SQL
-** functions arguments that are the parameters to the printf() function.
- */
-type TPrintfArguments1 = struct {
- FnArg int32
- FnUsed int32
- FapArg uintptr
-}
-
-type PrintfArguments1 = TPrintfArguments1
-
-/*
-** An instance of this object receives the decoding of a floating point
-** value into an approximate decimal representation.
- */
-type TFpDecode1 = struct {
- Fsign int8
- FisSpecial int8
- Fn int32
- FiDP int32
- Fz uintptr
- FzBuf [24]int8
-}
-
-type FpDecode1 = TFpDecode1
-
/************** End of sqliteInt.h *******************************************/
/************** Begin file os_common.h ***************************************/
/*
@@ -12702,72 +9459,6 @@ type TVdbeCursor = struct {
type VdbeCursor = TVdbeCursor
-type TVdbeCursor1 = struct {
- FeCurType Tu8
- FiDb Ti8
- FnullRow Tu8
- FdeferredMoveto Tu8
- FisTable Tu8
- F__ccgo_align5 [3]byte
- F__ccgo8 uint8
- FseekHit Tu16
- Fub struct {
- FaAltMap [0]uintptr
- FpBtx uintptr
- }
- FseqCount Ti64
- FcacheStatus Tu32
- FseekResult int32
- FpAltCursor uintptr
- Fuc struct {
- FpVCur [0]uintptr
- FpSorter [0]uintptr
- FpCursor uintptr
- }
- FpKeyInfo uintptr
- FiHdrOffset Tu32
- FpgnoRoot TPgno
- FnField Ti16
- FnHdrParsed Tu16
- FmovetoTarget Ti64
- FaOffset uintptr
- FaRow uintptr
- FpayloadSize Tu32
- FszRow Tu32
- FpCache uintptr
-}
-
-type VdbeCursor1 = TVdbeCursor1
-
-/*
-** The size (in bytes) of a VdbeCursor object that has an nField value of N
-** or less. The value of SZ_VDBECURSOR(n) is guaranteed to be a multiple
-** of 8.
- */
-
-/* Return true if P is a null-only cursor
- */
-
-/*
-** A value for VdbeCursor.cacheStatus that means the cache is always invalid.
- */
-
-/*
-** Large TEXT or BLOB values can be slow to load, so we want to avoid
-** loading them more than once. For that reason, large TEXT and BLOB values
-** can be stored in a cache defined by this object, and attached to the
-** VdbeCursor using the pCache field.
- */
-type TVdbeTxtBlbCache1 = struct {
- FpCValue uintptr
- FiOffset Ti64
- FiCol int32
- FcacheStatus Tu32
- FcolCacheCtr Tu32
-}
-
-type VdbeTxtBlbCache1 = TVdbeTxtBlbCache1
-
// C documentation
//
// /*
@@ -12813,152 +9504,6 @@ type TVdbeFrame = struct {
type VdbeFrame = TVdbeFrame
-type TVdbeFrame1 = struct {
- Fv uintptr
- FpParent uintptr
- FaOp uintptr
- FaMem uintptr
- FapCsr uintptr
- FaOnce uintptr
- Ftoken uintptr
- FlastRowid Ti64
- FpAuxData uintptr
- FnCursor int32
- Fpc int32
- FnOp int32
- FnMem int32
- FnChildMem int32
- FnChildCsr int32
- FnChange Ti64
- FnDbChange Ti64
-}
-
-type VdbeFrame1 = TVdbeFrame1
-
-/*
-** Size of struct Mem not including the Mem.zMalloc member or anything that
-** follows.
- */
-
-/* One or more of the following flags are set to indicate the
-** representations of the value stored in the Mem struct.
-**
-** * MEM_Null An SQL NULL value
-**
-** * MEM_Null|MEM_Zero An SQL NULL with the virtual table
-** UPDATE no-change flag set
-**
-** * MEM_Null|MEM_Term| An SQL NULL, but also contains a
-** MEM_Subtype pointer accessible using
-** sqlite3_value_pointer().
-**
-** * MEM_Null|MEM_Cleared Special SQL NULL that compares non-equal
-** to other NULLs even using the IS operator.
-**
-** * MEM_Str A string, stored in Mem.z with
-** length Mem.n. Zero-terminated if
-** MEM_Term is set. This flag is
-** incompatible with MEM_Blob and
-** MEM_Null, but can appear with MEM_Int,
-** MEM_Real, and MEM_IntReal.
-**
-** * MEM_Blob A blob, stored in Mem.z length Mem.n.
-** Incompatible with MEM_Str, MEM_Null,
-** MEM_Int, MEM_Real, and MEM_IntReal.
-**
-** * MEM_Blob|MEM_Zero A blob in Mem.z of length Mem.n plus
-** MEM.u.i extra 0x00 bytes at the end.
-**
-** * MEM_Int Integer stored in Mem.u.i.
-**
-** * MEM_Real Real stored in Mem.u.r.
-**
-** * MEM_IntReal Real stored as an integer in Mem.u.i.
-**
-** If the MEM_Null flag is set, then the value is an SQL NULL value.
-** For a pointer type created using sqlite3_bind_pointer() or
-** sqlite3_result_pointer() the MEM_Term and MEM_Subtype flags are also set.
-**
-** If the MEM_Str flag is set then Mem.z points at a string representation.
-** Usually this is encoded in the same unicode encoding as the main
-** database (see below for exceptions). If the MEM_Term flag is also
-** set, then the string is nul terminated. The MEM_Int and MEM_Real
-** flags may coexist with the MEM_Str flag.
- */
-
-/* Extra bits that modify the meanings of the core datatypes above
- */
-/* 0x0080 // Available */
-
-/* Bits that determine the storage for Mem.z for a string or blob or
-** aggregate accumulator.
- */
-
-/* Return TRUE if Mem X contains dynamically allocated content - anything
-** that needs to be deallocated to avoid a leak.
- */
-
-/*
-** Clear any existing type flags from a Mem and replace them with f
- */
-
-/*
-** True if Mem X is a NULL-nochng type.
- */
-
-/*
-** Return true if a memory cell has been initialized and is valid.
-** is for use inside assert() statements only.
-**
-** A Memory cell is initialized if at least one of the
-** MEM_Null, MEM_Str, MEM_Int, MEM_Real, MEM_Blob, or MEM_IntReal bits
-** is set. It is "undefined" if all those bits are zero.
- */
-
-/*
-** Each auxiliary data pointer stored by a user defined function
-** implementation calling sqlite3_set_auxdata() is stored in an instance
-** of this structure. All such structures associated with a single VM
-** are stored in a linked list headed at Vdbe.pAuxData. All are destroyed
-** when the VM is halted (if not before).
- */
-type TAuxData1 = struct {
- FiAuxOp int32
- FiAuxArg int32
- FpAux uintptr
- FxDeleteAux uintptr
- FpNextAux uintptr
-}
-
-type AuxData1 = TAuxData1
-
-/*
-** The "context" argument for an installable function. A pointer to an
-** instance of this structure is the first argument to the routines used
-** implement the SQL functions.
-**
-** There is a typedef for this structure in sqlite.h. So all routines,
-** even the public interface to SQLite, can use a pointer to this structure.
-** But this file is the only place where the internal details of this
-** structure are known.
-**
-** This structure is defined inside of vdbeInt.h because it uses substructures
-** (Mem) which are only defined there.
- */
-type Tsqlite3_context1 = struct {
- FpOut uintptr
- FpFunc uintptr
- FpMem uintptr
- FpVdbe uintptr
- FiOp int32
- FisError int32
- Fenc Tu8
- FskipFlag Tu8
- Fargc Tu16
-}
-
-type sqlite3_context1 = Tsqlite3_context1
-
/*
** The size (in bytes) of an sqlite3_context object that holds N
** argv[] arguments.
@@ -12989,18 +9534,6 @@ type TScanStatus = struct {
type ScanStatus = TScanStatus
-type TScanStatus1 = struct {
- FaddrExplain int32
- FaAddrRange [6]int32
- FaddrLoop int32
- FaddrVisit int32
- FiSelectID int32
- FnEst TLogEst
- FzName uintptr
-}
-
-type ScanStatus1 = TScanStatus1
-
// C documentation
//
// /* The DblquoteStr object holds the text of a double-quoted
@@ -13017,101 +9550,6 @@ type TDblquoteStr = struct {
type DblquoteStr = TDblquoteStr
-type TDblquoteStr1 = struct {
- FpNextStr uintptr
- Fz [8]int8
-}
-
-type DblquoteStr1 = TDblquoteStr1
-
-/*
-** An instance of the virtual machine. This structure contains the complete
-** state of the virtual machine.
-**
-** The "sqlite3_stmt" structure pointer that is returned by sqlite3_prepare()
-** is really a pointer to an instance of this structure.
- */
-type TVdbe1 = struct {
- Fdb uintptr
- FppVPrev uintptr
- FpVNext uintptr
- FpParse uintptr
- FnVar TynVar
- FnMem int32
- FnCursor int32
- FcacheCtr Tu32
- Fpc int32
- Frc int32
- FnChange Ti64
- FiStatement int32
- FiCurrentTime Ti64
- FnFkConstraint Ti64
- FnStmtDefCons Ti64
- FnStmtDefImmCons Ti64
- FaMem uintptr
- FapArg uintptr
- FapCsr uintptr
- FaVar uintptr
- FaOp uintptr
- FnOp int32
- FnOpAlloc int32
- FaColName uintptr
- FpResultRow uintptr
- FzErrMsg uintptr
- FpVList uintptr
- FstartTime Ti64
- FnResColumn Tu16
- FnResAlloc Tu16
- FerrorAction Tu8
- FminWriteFileFormat Tu8
- FprepFlags Tu8
- FeVdbeState Tu8
- F__ccgo200 uint16
- FbtreeMask TyDbMask
- FlockMask TyDbMask
- FaCounter [9]Tu32
- FzSql uintptr
- FpFree uintptr
- FpFrame uintptr
- FpDelFrame uintptr
- FnFrame int32
- Fexpmask Tu32
- FpProgram uintptr
- FpAuxData uintptr
-}
-
-type Vdbe1 = TVdbe1
-
-/*
-** The following are allowed values for Vdbe.eVdbeState
- */
-
-/*
-** Structure used to store the context required by the
-** sqlite3_preupdate_*() API functions.
- */
-type TPreUpdate1 = struct {
- Fv uintptr
- FpCsr uintptr
- Fop int32
- FaRecord uintptr
- FpKeyinfo uintptr
- FpUnpacked uintptr
- FpNewUnpacked uintptr
- FiNewReg int32
- FiBlobWrite int32
- FiKey1 Ti64
- FiKey2 Ti64
- Foldipk TMem
- FaNew uintptr
- FpTab uintptr
- FpPk uintptr
- FapDflt uintptr
- FkeyinfoSpace [32]Tu8
-}
-
-type PreUpdate1 = TPreUpdate1
-
// C documentation
//
// /*
@@ -13133,13 +9571,6 @@ type TValueList = struct {
type ValueList = TValueList
-type TValueList1 = struct {
- FpCsr uintptr
- FpOut uintptr
-}
-
-type ValueList1 = TValueList1
-
/************** End of vdbeInt.h *********************************************/
/************** Continuing where we left off in status.c *********************/
@@ -13159,14 +9590,7 @@ type Tsqlite3StatType = struct {
type sqlite3StatType = Tsqlite3StatType
-type Tsqlite3StatType1 = struct {
- FnowValue [10]Tsqlite3StatValueType
- FmxValue [10]Tsqlite3StatValueType
-}
-
-type sqlite3StatType1 = Tsqlite3StatType1
-
-var _sqlite3Stat = Tsqlite3StatType1{}
+var _sqlite3Stat = Tsqlite3StatType{}
// C documentation
//
@@ -13245,7 +9669,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
var pMutex, v1 uintptr
_, _ = pMutex, v1
if op < 0 || op >= libc.Int32FromUint64(libc.Uint64FromInt64(80)/libc.Uint64FromInt64(8)) {
- return _sqlite3MisuseError(tls, int32(24454))
+ return _sqlite3MisuseError(tls, int32(24456))
}
if _statMutex[op] != 0 {
v1 = _sqlite3Pcache1Mutex(tls)
@@ -13475,7 +9899,7 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p
goto _5
_5:
;
- pVdbe = (*TVdbe1)(unsafe.Pointer(pVdbe)).FpVNext
+ pVdbe = (*TVdbe)(unsafe.Pointer(pVdbe)).FpVNext
}
(*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FpEnd = (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FpTrueEnd
(*Tsqlite3)(unsafe.Pointer(db)).FpnBytesFreed = uintptr(0)
@@ -13610,24 +10034,6 @@ type TDateTime = struct {
type DateTime = TDateTime
-type TDateTime1 = struct {
- FiJD Tsqlite3_int64
- FY int32
- FM int32
- FD int32
- Fh int32
- Fm int32
- Ftz int32
- Fs float64
- FvalidJD int8
- FvalidYMD int8
- FvalidHMS int8
- FnFloor int8
- F__ccgo44 uint8
-}
-
-type DateTime1 = TDateTime1
-
// C documentation
//
// /*
@@ -15621,28 +12027,28 @@ func init() {
// */
func _sqlite3OsClose(tls *libc.TLS, pId uintptr) {
if (*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods != 0 {
- (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods)).FxClose})))(tls, pId)
+ (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods)).FxClose})))(tls, pId)
(*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = uintptr(0)
}
}
func _sqlite3OsRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Ti64) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxRead})))(tls, id, pBuf, amt, offset)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxRead})))(tls, id, pBuf, amt, offset)
}
func _sqlite3OsWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Ti64) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxWrite})))(tls, id, pBuf, amt, offset)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxWrite})))(tls, id, pBuf, amt, offset)
}
func _sqlite3OsTruncate(tls *libc.TLS, id uintptr, size Ti64) (r int32) {
- return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxTruncate})))(tls, id, size)
+ return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxTruncate})))(tls, id, size)
}
func _sqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) (r int32) {
var v1 int32
_ = v1
if flags != 0 {
- v1 = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSync})))(tls, id, flags)
+ v1 = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSync})))(tls, id, flags)
} else {
v1 = SQLITE_OK
}
@@ -15650,19 +12056,19 @@ func _sqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) (r int32) {
}
func _sqlite3OsFileSize(tls *libc.TLS, id uintptr, pSize uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileSize})))(tls, id, pSize)
+ return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileSize})))(tls, id, pSize)
}
func _sqlite3OsLock(tls *libc.TLS, id uintptr, lockType int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxLock})))(tls, id, lockType)
+ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxLock})))(tls, id, lockType)
}
func _sqlite3OsUnlock(tls *libc.TLS, id uintptr, lockType int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnlock})))(tls, id, lockType)
+ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnlock})))(tls, id, lockType)
}
func _sqlite3OsCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxCheckReservedLock})))(tls, id, pResOut)
+ return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxCheckReservedLock})))(tls, id, pResOut)
}
// C documentation
@@ -15679,12 +12085,12 @@ func _sqlite3OsFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) (r
if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods == uintptr(0) {
return int32(SQLITE_NOTFOUND)
}
- return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
+ return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
}
func _sqlite3OsFileControlHint(tls *libc.TLS, id uintptr, op int32, pArg uintptr) {
if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods != 0 {
- (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
+ (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
}
}
@@ -15692,7 +12098,7 @@ func _sqlite3OsSectorSize(tls *libc.TLS, id uintptr) (r int32) {
var xSectorSize uintptr
var v1 int32
_, _ = xSectorSize, v1
- xSectorSize = (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSectorSize
+ xSectorSize = (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSectorSize
if xSectorSize != 0 {
v1 = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xSectorSize})))(tls, id)
} else {
@@ -15705,34 +12111,34 @@ func _sqlite3OsDeviceCharacteristics(tls *libc.TLS, id uintptr) (r int32) {
if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods == uintptr(0) {
return 0
}
- return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxDeviceCharacteristics})))(tls, id)
+ return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxDeviceCharacteristics})))(tls, id)
}
func _sqlite3OsShmLock(tls *libc.TLS, id uintptr, offset int32, n int32, flags int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmLock})))(tls, id, offset, n, flags)
+ return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmLock})))(tls, id, offset, n, flags)
}
func _sqlite3OsShmBarrier(tls *libc.TLS, id uintptr) {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmBarrier})))(tls, id)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmBarrier})))(tls, id)
}
func _sqlite3OsShmUnmap(tls *libc.TLS, id uintptr, deleteFlag int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmUnmap})))(tls, id, deleteFlag)
+ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmUnmap})))(tls, id, deleteFlag)
}
func _sqlite3OsShmMap(tls *libc.TLS, id uintptr, iPage int32, pgsz int32, bExtend int32, pp uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmMap})))(tls, id, iPage, pgsz, bExtend, pp)
+ return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmMap})))(tls, id, iPage, pgsz, bExtend, pp)
}
// C documentation
//
// /* The real implementation of xFetch and xUnfetch */
func _sqlite3OsFetch(tls *libc.TLS, id uintptr, iOff Ti64, iAmt int32, pp uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFetch})))(tls, id, iOff, iAmt, pp)
+ return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFetch})))(tls, id, iOff, iAmt, pp)
}
func _sqlite3OsUnfetch(tls *libc.TLS, id uintptr, iOff Ti64, p uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnfetch})))(tls, id, iOff, p)
+ return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnfetch})))(tls, id, iOff, p)
}
// C documentation
@@ -16045,14 +12451,7 @@ type TBenignMallocHooks = struct {
type BenignMallocHooks = TBenignMallocHooks
-type TBenignMallocHooks1 = struct {
- FxBenignBegin uintptr
- FxBenignEnd uintptr
-}
-
-type BenignMallocHooks1 = TBenignMallocHooks1
-
-var _sqlite3Hooks = TBenignMallocHooks1{}
+var _sqlite3Hooks = TBenignMallocHooks{}
/* The "wsdHooks" macro will resolve to the appropriate BenignMallocHooks
** structure. If writable static data is unsupported on the target,
@@ -16067,9 +12466,9 @@ var _sqlite3Hooks = TBenignMallocHooks1{}
// ** Register hooks to call when sqlite3BeginBenignMalloc() and
// ** sqlite3EndBenignMalloc() are called, respectively.
// */
-func _sqlite3BenignMallocHooks(tls *libc.TLS, xBenignBegin uintptr, xBenignEnd uintptr) {
- _sqlite3Hooks.FxBenignBegin = xBenignBegin
- _sqlite3Hooks.FxBenignEnd = xBenignEnd
+func _sqlite3BenignMallocHooks(tls *libc.TLS, __ccgo_fp_xBenignBegin uintptr, __ccgo_fp_xBenignEnd uintptr) {
+ _sqlite3Hooks.FxBenignBegin = __ccgo_fp_xBenignBegin
+ _sqlite3Hooks.FxBenignEnd = __ccgo_fp_xBenignEnd
}
// C documentation
@@ -16817,6 +13216,8 @@ func _sqlite3MallocMutex(tls *libc.TLS) (r uintptr) {
return _mem0.Fmutex
}
+type t__ccgo_fp__Xsqlite3_memory_alarm_0 = func(*libc.TLS, uintptr, int64, int32)
+
// C documentation
//
// /*
@@ -16824,8 +13225,8 @@ func _sqlite3MallocMutex(tls *libc.TLS) (r uintptr) {
// ** that was invoked when memory usage grew too large. Now it is a
// ** no-op.
// */
-func Xsqlite3_memory_alarm(tls *libc.TLS, xCallback uintptr, pArg uintptr, iThreshold Tsqlite3_int64) (r int32) {
- _ = xCallback
+func Xsqlite3_memory_alarm(tls *libc.TLS, __ccgo_fp_xCallback uintptr, pArg uintptr, iThreshold Tsqlite3_int64) (r int32) {
+ _ = __ccgo_fp_xCallback
_ = pArg
_ = iThreshold
return SQLITE_OK
@@ -20133,63 +16534,10 @@ func _sqlite3PrngRestoreState(tls *libc.TLS) {
libc.Xmemcpy(tls, uintptr(unsafe.Pointer(&_sqlite3Prng)), uintptr(unsafe.Pointer(&_sqlite3SavedPrng)), uint64(132))
}
-/************** End of random.c **********************************************/
-/************** Begin file threads.c *****************************************/
-/*
-** 2012 July 21
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
-** This file presents a simple cross-platform threading interface for
-** use internally by SQLite.
-**
-** A "thread" can be created using sqlite3ThreadCreate(). This thread
-** runs independently of its creator until it is joined using
-** sqlite3ThreadJoin(), at which point it terminates.
-**
-** Threads do not have to be real. It could be that the work of the
-** "thread" is done by the main thread at either the sqlite3ThreadCreate()
-** or sqlite3ThreadJoin() call. This is, in fact, what happens in
-** single threaded systems. Nothing in SQLite requires multiple threads.
-** This interface exists so that applications that want to take advantage
-** of multiple cores can do so, while also allowing applications to stay
-** single-threaded if desired.
- */
-/* #include "sqliteInt.h" */
-
-/********************************* Unix Pthreads ****************************/
-/******************************** End Unix Pthreads *************************/
-
-/********************************* Win32 Threads ****************************/
-/******************************** End Win32 Threads *************************/
-
-/********************************* Single-Threaded **************************/
-/*
-** This implementation does not actually create a new thread. It does the
-** work of the thread in the main thread, when either the thread is created
-** or when it is joined
- */
-
-/* A running thread */
-type TSQLiteThread1 = struct {
- FxTask uintptr
- FpIn uintptr
- FpResult uintptr
-}
-
-type SQLiteThread1 = TSQLiteThread1
-
// C documentation
//
// /* Create a new thread */
-func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, xTask uintptr, pIn uintptr) (r int32) {
+func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, __ccgo_fp_xTask uintptr, pIn uintptr) (r int32) {
var p uintptr
_ = p
*(*uintptr)(unsafe.Pointer(ppThread)) = uintptr(0)
@@ -20198,11 +16546,11 @@ func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, xTask uintptr, pIn ui
return int32(SQLITE_NOMEM)
}
if int32(int64(p))/int32(17)&int32(1) != 0 {
- (*TSQLiteThread)(unsafe.Pointer(p)).FxTask = xTask
+ (*TSQLiteThread)(unsafe.Pointer(p)).FxTask = __ccgo_fp_xTask
(*TSQLiteThread)(unsafe.Pointer(p)).FpIn = pIn
} else {
(*TSQLiteThread)(unsafe.Pointer(p)).FxTask = uintptr(0)
- (*TSQLiteThread)(unsafe.Pointer(p)).FpResult = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(&struct{ uintptr }{xTask})))(tls, pIn)
+ (*TSQLiteThread)(unsafe.Pointer(p)).FpResult = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xTask})))(tls, pIn)
}
*(*uintptr)(unsafe.Pointer(ppThread)) = p
return SQLITE_OK
@@ -24275,22 +20623,6 @@ type TUnixUnusedFd = struct {
type UnixUnusedFd = TUnixUnusedFd
-/* An unused file descriptor */
-
-/*
-** Sometimes, after a file handle is closed by SQLite, the file descriptor
-** cannot be closed immediately. In these cases, instances of the following
-** structure are used to store the file descriptor while waiting for an
-** opportunity to either close or reuse it.
- */
-type TUnixUnusedFd1 = struct {
- Ffd int32
- Fflags int32
- FpNext uintptr
-}
-
-type UnixUnusedFd1 = TUnixUnusedFd1
-
// C documentation
//
// /*
@@ -24321,30 +20653,6 @@ type TunixFile = struct {
type unixFile = TunixFile
-type TunixFile1 = struct {
- FpMethod uintptr
- FpVfs uintptr
- FpInode uintptr
- Fh int32
- FeFileLock uint8
- FctrlFlags uint16
- FlastErrno int32
- FlockingContext uintptr
- FpPreallocatedUnused uintptr
- FzPath uintptr
- FpShm uintptr
- FszChunk int32
- FnFetchOut int32
- FmmapSize Tsqlite3_int64
- FmmapSizeActual Tsqlite3_int64
- FmmapSizeMax Tsqlite3_int64
- FpMapRegion uintptr
- FsectorSize int32
- FdeviceCharacteristics int32
-}
-
-type unixFile1 = TunixFile1
-
// C documentation
//
// /* This variable holds the process id (pid) from when the xRandomness()
@@ -24564,7 +20872,7 @@ func _robustFchown(tls *libc.TLS, fd int32, uid Tuid_t, gid Tgid_t) (r int32) {
// ** system call pointer, or SQLITE_NOTFOUND if there is no configurable
// ** system call named zName.
// */
-func _unixSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, pNewFunc Tsqlite3_syscall_ptr) (r int32) {
+func _unixSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, __ccgo_fp_pNewFunc Tsqlite3_syscall_ptr) (r int32) {
var i uint32
var rc int32
_, _ = i, rc
@@ -24602,10 +20910,10 @@ func _unixSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, pNewFunc
_aSyscall[i].FpDefault = _aSyscall[i].FpCurrent
}
rc = SQLITE_OK
- if pNewFunc == uintptr(0) {
- pNewFunc = _aSyscall[i].FpDefault
+ if __ccgo_fp_pNewFunc == uintptr(0) {
+ __ccgo_fp_pNewFunc = _aSyscall[i].FpDefault
}
- _aSyscall[i].FpCurrent = pNewFunc
+ _aSyscall[i].FpCurrent = __ccgo_fp_pNewFunc
break
}
goto _2
@@ -24979,47 +21287,6 @@ type TunixFileId = struct {
type unixFileId = TunixFileId
-/*
-** An instance of the following structure is allocated for each open
-** inode.
-**
-** A single inode can have multiple file descriptors, so each unixFile
-** structure contains a pointer to an instance of this object and this
-** object keeps a count of the number of unixFile pointing to it.
-**
-** Mutex rules:
-**
-** (1) Only the pLockMutex mutex must be held in order to read or write
-** any of the locking fields:
-** nShared, nLock, eFileLock, bProcessLock, pUnused
-**
-** (2) When nRef>0, then the following fields are unchanging and can
-** be read (but not written) without holding any mutex:
-** fileId, pLockMutex
-**
-** (3) With the exceptions above, all the fields may only be read
-** or written while holding the global unixBigLock mutex.
-**
-** Deadlock prevention: The global unixBigLock mutex may not
-** be acquired while holding the pLockMutex mutex. If both unixBigLock
-** and pLockMutex are needed, then unixBigLock must be acquired first.
- */
-type TunixInodeInfo1 = struct {
- FfileId TunixFileId
- FpLockMutex uintptr
- FnShared int32
- FnLock int32
- FeFileLock uint8
- FbProcessLock uint8
- FpUnused uintptr
- FnRef int32
- FpShmNode uintptr
- FpNext uintptr
- FpPrev uintptr
-}
-
-type unixInodeInfo1 = TunixInodeInfo1
-
// C documentation
//
// /*
@@ -25120,7 +21387,7 @@ func _closePendingFds(tls *libc.TLS, pFile uintptr) {
break
}
pNext = (*TUnixUnusedFd)(unsafe.Pointer(p)).FpNext
- _robust_close(tls, pFile, (*TUnixUnusedFd)(unsafe.Pointer(p)).Ffd, int32(40205))
+ _robust_close(tls, pFile, (*TUnixUnusedFd)(unsafe.Pointer(p)).Ffd, int32(40207))
Xsqlite3_free(tls, p)
goto _1
_1:
@@ -25750,7 +22017,7 @@ func _closeUnixFile(tls *libc.TLS, id uintptr) (r int32) {
pFile = id
_unixUnmapfile(tls, pFile)
if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
- _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40996))
+ _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40998))
(*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1)
}
Xsqlite3_free(tls, (*TunixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused)
@@ -26393,7 +22660,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) {
if fd >= 0 {
return SQLITE_OK
}
- return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42577)), __ccgo_ts+3603, bp, int32(42577))
+ return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42579)), __ccgo_ts+3603, bp, int32(42579))
}
// C documentation
@@ -26430,7 +22697,7 @@ func _unixSync(tls *libc.TLS, id uintptr, flags int32) (r int32) {
rc = _full_fsync(tls, (*TunixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly)
if rc != 0 {
_storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
- return _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(4)<pShmMutex must
-** be held while accessing any read/write fields.
- */
-type TunixShm1 = struct {
- FpShmNode uintptr
- FpNext uintptr
- FhasMutex Tu8
- Fid Tu8
- FsharedMask Tu16
- FexclMask Tu16
-}
-
-type unixShm1 = TunixShm1
-
/*
** Constants used for locking
*/
@@ -26978,7 +23156,7 @@ func _unixShmPurge(tls *libc.TLS, pFd uintptr) {
}
Xsqlite3_free(tls, (*TunixShmNode)(unsafe.Pointer(p)).FapRegion)
if (*TunixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
- _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(43394))
+ _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(43396))
(*TunixShmNode)(unsafe.Pointer(p)).FhShm = -int32(1)
}
(*TunixInodeInfo)(unsafe.Pointer((*TunixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -27041,7 +23219,7 @@ func _unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) (r in
** help detect if a -shm file truncation is legitimate or is the work
** or a rogue process. */
if rc == SQLITE_OK && _robust_ftruncate(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
- rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(18)<pFirst. This must be done while holding the
** pShmNode->pShmMutex.
*/
- Xsqlite3_mutex_enter(tls, (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpShmMutex)
- (*TunixShm1)(unsafe.Pointer(p)).FpNext = (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpFirst
- (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpFirst = p
- Xsqlite3_mutex_leave(tls, (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpShmMutex)
+ Xsqlite3_mutex_enter(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpShmMutex)
+ (*TunixShm)(unsafe.Pointer(p)).FpNext = (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpFirst
+ (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpFirst = p
+ Xsqlite3_mutex_leave(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpShmMutex)
return rc
/* Jump here on any error */
goto shm_open_err
@@ -27274,7 +23452,7 @@ func _unixShmMap(tls *libc.TLS, fd uintptr, iRegion int32, szRegion int32, bExte
*(*int32)(unsafe.Pointer(bp + 224)) = 0
if _seekAndWriteFd(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(iPg*_pgsz+_pgsz-int32(1)), __ccgo_ts+1665, int32(1), bp+224) != int32(1) {
zFile = (*TunixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
- rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(19)<= 0 {
- _robust_close(tls, pNew, h, int32(44804))
+ _robust_close(tls, pNew, h, int32(44806))
}
} else {
(*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -28451,7 +24629,7 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags
}
}
if fd < 0 {
- rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45252)), __ccgo_ts+3486, zName, int32(45252))
+ rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45254)), __ccgo_ts+3486, zName, int32(45254))
if rc == SQLITE_OK {
rc = rc2
}
@@ -28528,7 +24706,7 @@ func _unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) (
if *(*int32)(unsafe.Pointer(libc.X__error(tls))) == int32(ENOENT) {
rc = libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(23)< int32(SQLITE_MAX_SYMLINK) {
- (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45503))
+ (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45505))
return
}
got = (*(*func(*libc.TLS, uintptr, uintptr, Tsize_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls, zIn, bp+224, libc.Uint64FromInt64(1026)-libc.Uint64FromInt32(2))
if got <= 0 || got >= libc.Int64FromInt64(1026)-libc.Int64FromInt32(2) {
- (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45508)), __ccgo_ts+3675, zIn, int32(45508))
+ (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45510)), __ccgo_ts+3675, zIn, int32(45510))
return
}
(*(*[1026]int8)(unsafe.Pointer(bp + 224)))[got] = 0
@@ -28726,14 +24894,14 @@ func _unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z
(*(*TDbPath)(unsafe.Pointer(bp))).FzOut = zOut
if int32(*(*int8)(unsafe.Pointer(zPath))) != int32('/') {
if (*(*func(*libc.TLS, uintptr, Tsize_t) uintptr)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(3)].FpCurrent})))(tls, bp+24, libc.Uint64FromInt64(1026)-libc.Uint64FromInt32(2)) == uintptr(0) {
- return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45566)), __ccgo_ts+3504, zPath, int32(45566))
+ return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45568)), __ccgo_ts+3504, zPath, int32(45568))
}
_appendAllPathElements(tls, bp, bp+24)
}
_appendAllPathElements(tls, bp, zPath)
*(*int8)(unsafe.Pointer(zOut + uintptr((*(*TDbPath)(unsafe.Pointer(bp))).FnUsed))) = 0
if (*(*TDbPath)(unsafe.Pointer(bp))).Frc != 0 || (*(*TDbPath)(unsafe.Pointer(bp))).FnUsed < int32(2) {
- return _sqlite3CantopenError(tls, int32(45572))
+ return _sqlite3CantopenError(tls, int32(45574))
}
if (*(*TDbPath)(unsafe.Pointer(bp))).FnSymlink != 0 {
return libc.Int32FromInt32(SQLITE_OK) | libc.Int32FromInt32(2)<BITVEC_NBIT and iDivisor==0 then Bitvec.u.aHash[] is
-** a hash table that will hold up to BITVEC_MXHASH distinct values.
-**
-** Otherwise, the value i is redirected into one of BITVEC_NPTR
-** sub-bitmaps pointed to by Bitvec.u.apSub[]. Each subbitmap
-** handles up to iDivisor separate values of i. apSub[0] holds
-** values between 1 and iDivisor. apSub[1] holds values between
-** iDivisor+1 and 2*iDivisor. apSub[N] holds values between
-** N*iDivisor+1 and (N+1)*iDivisor. Each subbitmap is normalized
-** to hold deal with values between 1 and iDivisor.
- */
-type TBitvec1 = struct {
- FiSize Tu32
- FnSet Tu32
- FiDivisor Tu32
- Fu struct {
- FaHash [0][124]Tu32
- FapSub [0][62]uintptr
- FaBitmap [496]Tu8
- }
-}
-
-type Bitvec1 = TBitvec1
-
// C documentation
//
// /*
@@ -30840,66 +26848,6 @@ bitvec_end:
return rc
}
-/************** End of bitvec.c **********************************************/
-/************** Begin file pcache.c ******************************************/
-/*
-** 2008 August 05
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file implements that page cache.
- */
-/* #include "sqliteInt.h" */
-
-/*
-** A complete page cache is an instance of this structure. Every
-** entry in the cache holds a single page of the database file. The
-** btree layer only operates on the cached copy of the database pages.
-**
-** A page cache entry is "clean" if it exactly matches what is currently
-** on disk. A page is "dirty" if it has been modified and needs to be
-** persisted to disk.
-**
-** pDirty, pDirtyTail, pSynced:
-** All dirty pages are linked into the doubly linked list using
-** PgHdr.pDirtyNext and pDirtyPrev. The list is maintained in LRU order
-** such that p was added to the list more recently than p->pDirtyNext.
-** PCache.pDirty points to the first (newest) element in the list and
-** pDirtyTail to the last (oldest).
-**
-** The PCache.pSynced variable is used to optimize searching for a dirty
-** page to eject from the cache mid-transaction. It is better to eject
-** a page that does not require a journal sync than one that does.
-** Therefore, pSynced is maintained so that it *almost* always points
-** to either the oldest page in the pDirty/pDirtyTail list that has a
-** clear PGHDR_NEED_SYNC flag or to a page that is older than this one
-** (so that the right page to eject can be found by following pDirtyPrev
-** pointers).
- */
-type TPCache2 = struct {
- FpDirty uintptr
- FpDirtyTail uintptr
- FpSynced uintptr
- FnRefSum Ti64
- FszCache int32
- FszSpill int32
- FszPage int32
- FszExtra int32
- FbPurgeable Tu8
- FeCreate Tu8
- FxStress uintptr
- FpStress uintptr
- FpCache uintptr
-}
-
-type PCache2 = TPCache2
-
/********************************** Test and Debug Logic **********************/
/*
** Debug tracing macros. Enable by by changing the "0" to "1" and
@@ -31073,14 +27021,14 @@ func _sqlite3PcacheSize(tls *libc.TLS) (r int32) {
// ** to this module, the extra space really ends up being the MemPage
// ** structure in the pager.
// */
-func _sqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) (r int32) {
+func _sqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, __ccgo_fp_xStress uintptr, pStress uintptr, p uintptr) (r int32) {
libc.Xmemset(tls, p, 0, uint64(80))
(*TPCache)(unsafe.Pointer(p)).FszPage = int32(1)
(*TPCache)(unsafe.Pointer(p)).FszExtra = szExtra
/* First 8 bytes will be zeroed */
(*TPCache)(unsafe.Pointer(p)).FbPurgeable = libc.Uint8FromInt32(bPurgeable)
(*TPCache)(unsafe.Pointer(p)).FeCreate = uint8(2)
- (*TPCache)(unsafe.Pointer(p)).FxStress = xStress
+ (*TPCache)(unsafe.Pointer(p)).FxStress = __ccgo_fp_xStress
(*TPCache)(unsafe.Pointer(p)).FpStress = pStress
(*TPCache)(unsafe.Pointer(p)).FszCache = int32(100)
(*TPCache)(unsafe.Pointer(p)).FszSpill = int32(1)
@@ -31896,123 +27844,6 @@ type TPGroup = struct {
type PGroup = TPGroup
-/*
-** Each cache entry is represented by an instance of the following
-** structure. A buffer of PgHdr1.pCache->szPage bytes is allocated
-** directly before this structure and is used to cache the page content.
-**
-** When reading a corrupt database file, it is possible that SQLite might
-** read a few bytes (no more than 16 bytes) past the end of the page buffer.
-** It will only read past the end of the page buffer, never write. This
-** object is positioned immediately after the page buffer to serve as an
-** overrun area, so that overreads are harmless.
-**
-** Variables isBulkLocal and isAnchor were once type "u8". That works,
-** but causes a 2-byte gap in the structure for most architectures (since
-** pointers must be either 4 or 8-byte aligned). As this structure is located
-** in memory directly after the associated page data, if the database is
-** corrupt, code at the b-tree layer may overread the page buffer and
-** read part of this structure before the corruption is detected. This
-** can cause a valgrind error if the uninitialized gap is accessed. Using u16
-** ensures there is no such gap, and therefore no bytes of uninitialized
-** memory in the structure.
-**
-** The pLruNext and pLruPrev pointers form a double-linked circular list
-** of all pages that are unpinned. The PGroup.lru element (which should be
-** the only element on the list with PgHdr1.isAnchor set to 1) forms the
-** beginning and the end of the list.
- */
-type TPgHdr11 = struct {
- Fpage Tsqlite3_pcache_page
- FiKey uint32
- FisBulkLocal Tu16
- FisAnchor Tu16
- FpNext uintptr
- FpCache uintptr
- FpLruNext uintptr
- FpLruPrev uintptr
-}
-
-type PgHdr11 = TPgHdr11
-
-/*
-** A page is pinned if it is not on the LRU list. To be "pinned" means
-** that the page is in active use and must not be deallocated.
- */
-
-/* Each page cache (or PCache) belongs to a PGroup. A PGroup is a set
-** of one or more PCaches that are able to recycle each other's unpinned
-** pages when they are under memory pressure. A PGroup is an instance of
-** the following object.
-**
-** This page cache implementation works in one of two modes:
-**
-** (1) Every PCache is the sole member of its own PGroup. There is
-** one PGroup per PCache.
-**
-** (2) There is a single global PGroup that all PCaches are a member
-** of.
-**
-** Mode 1 uses more memory (since PCache instances are not able to rob
-** unused pages from other PCaches) but it also operates without a mutex,
-** and is therefore often faster. Mode 2 requires a mutex in order to be
-** threadsafe, but recycles pages more efficiently.
-**
-** For mode (1), PGroup.mutex is NULL. For mode (2) there is only a single
-** PGroup which is the pcache1.grp global variable and its mutex is
-** SQLITE_MUTEX_STATIC_LRU.
- */
-type TPGroup1 = struct {
- Fmutex uintptr
- FnMaxPage uint32
- FnMinPage uint32
- FmxPinned uint32
- FnPurgeable uint32
- Flru TPgHdr1
-}
-
-type PGroup1 = TPGroup1
-
-/* Each page cache is an instance of the following object. Every
-** open database file (including each in-memory database and each
-** temporary or transient database) has a single page cache which
-** is an instance of this object.
-**
-** Pointers to structures of this type are cast and returned as
-** opaque sqlite3_pcache* handles.
- */
-type TPCache11 = struct {
- FpGroup uintptr
- FpnPurgeable uintptr
- FszPage int32
- FszExtra int32
- FszAlloc int32
- FbPurgeable int32
- FnMin uint32
- FnMax uint32
- Fn90pct uint32
- FiMaxKey uint32
- FnPurgeableDummy uint32
- FnRecyclable uint32
- FnPage uint32
- FnHash uint32
- FapHash uintptr
- FpFree uintptr
- FpBulk uintptr
-}
-
-type PCache11 = TPCache11
-
-/*
-** Free slots in the allocator used to divide up the global page cache
-** buffer provided using the SQLITE_CONFIG_PAGECACHE mechanism.
- */
-type TPgFreeslot1 = struct {
- FpNext uintptr
-}
-
-type PgFreeslot1 = TPgFreeslot1
-
// C documentation
//
// /*
@@ -33209,25 +29040,6 @@ type TRowSetChunk = struct {
type RowSetChunk = TRowSetChunk
-/*
-** A RowSet in an instance of the following structure.
-**
-** A typedef of this structure if found in sqliteInt.h.
- */
-type TRowSet1 = struct {
- FpChunk uintptr
- Fdb uintptr
- FpEntry uintptr
- FpLast uintptr
- FpFresh uintptr
- FpForest uintptr
- FnFresh Tu16
- FrsFlags Tu16
- FiBatch int32
-}
-
-type RowSet1 = TRowSet1
-
/*
** Allowed values for RowSet.rsFlags
*/
@@ -34189,258 +30001,6 @@ type TPagerSavepoint = struct {
type PagerSavepoint = TPagerSavepoint
-type TPagerSavepoint1 = struct {
- FiOffset Ti64
- FiHdrOffset Ti64
- FpInSavepoint uintptr
- FnOrig TPgno
- FiSubRec TPgno
- FbTruncateOnRelease int32
- FaWalData [4]Tu32
-}
-
-type PagerSavepoint1 = TPagerSavepoint1
-
-/*
-** Bits of the Pager.doNotSpill flag. See further description below.
- */
-
-/*
-** An open page cache is an instance of struct Pager. A description of
-** some of the more important member variables follows:
-**
-** eState
-**
-** The current 'state' of the pager object. See the comment and state
-** diagram above for a description of the pager state.
-**
-** eLock
-**
-** For a real on-disk database, the current lock held on the database file -
-** NO_LOCK, SHARED_LOCK, RESERVED_LOCK or EXCLUSIVE_LOCK.
-**
-** For a temporary or in-memory database (neither of which require any
-** locks), this variable is always set to EXCLUSIVE_LOCK. Since such
-** databases always have Pager.exclusiveMode==1, this tricks the pager
-** logic into thinking that it already has all the locks it will ever
-** need (and no reason to release them).
-**
-** In some (obscure) circumstances, this variable may also be set to
-** UNKNOWN_LOCK. See the comment above the #define of UNKNOWN_LOCK for
-** details.
-**
-** changeCountDone
-**
-** This boolean variable is used to make sure that the change-counter
-** (the 4-byte header field at byte offset 24 of the database file) is
-** not updated more often than necessary.
-**
-** It is set to true when the change-counter field is updated, which
-** can only happen if an exclusive lock is held on the database file.
-** It is cleared (set to false) whenever an exclusive lock is
-** relinquished on the database file. Each time a transaction is committed,
-** The changeCountDone flag is inspected. If it is true, the work of
-** updating the change-counter is omitted for the current transaction.
-**
-** This mechanism means that when running in exclusive mode, a connection
-** need only update the change-counter once, for the first transaction
-** committed.
-**
-** setSuper
-**
-** When PagerCommitPhaseOne() is called to commit a transaction, it may
-** (or may not) specify a super-journal name to be written into the
-** journal file before it is synced to disk.
-**
-** Whether or not a journal file contains a super-journal pointer affects
-** the way in which the journal file is finalized after the transaction is
-** committed or rolled back when running in "journal_mode=PERSIST" mode.
-** If a journal file does not contain a super-journal pointer, it is
-** finalized by overwriting the first journal header with zeroes. If
-** it does contain a super-journal pointer the journal file is finalized
-** by truncating it to zero bytes, just as if the connection were
-** running in "journal_mode=truncate" mode.
-**
-** Journal files that contain super-journal pointers cannot be finalized
-** simply by overwriting the first journal-header with zeroes, as the
-** super-journal pointer could interfere with hot-journal rollback of any
-** subsequently interrupted transaction that reuses the journal file.
-**
-** The flag is cleared as soon as the journal file is finalized (either
-** by PagerCommitPhaseTwo or PagerRollback). If an IO error prevents the
-** journal file from being successfully finalized, the setSuper flag
-** is cleared anyway (and the pager will move to ERROR state).
-**
-** doNotSpill
-**
-** This variables control the behavior of cache-spills (calls made by
-** the pcache module to the pagerStress() routine to write cached data
-** to the file-system in order to free up memory).
-**
-** When bits SPILLFLAG_OFF or SPILLFLAG_ROLLBACK of doNotSpill are set,
-** writing to the database from pagerStress() is disabled altogether.
-** The SPILLFLAG_ROLLBACK case is done in a very obscure case that
-** comes up during savepoint rollback that requires the pcache module
-** to allocate a new page to prevent the journal file from being written
-** while it is being traversed by code in pager_playback(). The SPILLFLAG_OFF
-** case is a user preference.
-**
-** If the SPILLFLAG_NOSYNC bit is set, writing to the database from
-** pagerStress() is permitted, but syncing the journal file is not.
-** This flag is set by sqlite3PagerWrite() when the file-system sector-size
-** is larger than the database page-size in order to prevent a journal sync
-** from happening in between the journalling of two pages on the same sector.
-**
-** subjInMemory
-**
-** This is a boolean variable. If true, then any required sub-journal
-** is opened as an in-memory journal file. If false, then in-memory
-** sub-journals are only used for in-memory pager files.
-**
-** This variable is updated by the upper layer each time a new
-** write-transaction is opened.
-**
-** dbSize, dbOrigSize, dbFileSize
-**
-** Variable dbSize is set to the number of pages in the database file.
-** It is valid in PAGER_READER and higher states (all states except for
-** OPEN and ERROR).
-**
-** dbSize is set based on the size of the database file, which may be
-** larger than the size of the database (the value stored at offset
-** 28 of the database header by the btree). If the size of the file
-** is not an integer multiple of the page-size, the value stored in
-** dbSize is rounded down (i.e. a 5KB file with 2K page-size has dbSize==2).
-** Except, any file that is greater than 0 bytes in size is considered
-** to have at least one page. (i.e. a 1KB file with 2K page-size leads
-** to dbSize==1).
-**
-** During a write-transaction, if pages with page-numbers greater than
-** dbSize are modified in the cache, dbSize is updated accordingly.
-** Similarly, if the database is truncated using PagerTruncateImage(),
-** dbSize is updated.
-**
-** Variables dbOrigSize and dbFileSize are valid in states
-** PAGER_WRITER_LOCKED and higher. dbOrigSize is a copy of the dbSize
-** variable at the start of the transaction. It is used during rollback,
-** and to determine whether or not pages need to be journalled before
-** being modified.
-**
-** Throughout a write-transaction, dbFileSize contains the size of
-** the file on disk in pages. It is set to a copy of dbSize when the
-** write-transaction is first opened, and updated when VFS calls are made
-** to write or truncate the database file on disk.
-**
-** The only reason the dbFileSize variable is required is to suppress
-** unnecessary calls to xTruncate() after committing a transaction. If,
-** when a transaction is committed, the dbFileSize variable indicates
-** that the database file is larger than the database image (Pager.dbSize),
-** pager_truncate() is called. The pager_truncate() call uses xFilesize()
-** to measure the database file on disk, and then truncates it if required.
-** dbFileSize is not used when rolling back a transaction. In this case
-** pager_truncate() is called unconditionally (which means there may be
-** a call to xFilesize() that is not strictly required). In either case,
-** pager_truncate() may cause the file to become smaller or larger.
-**
-** dbHintSize
-**
-** The dbHintSize variable is used to limit the number of calls made to
-** the VFS xFileControl(FCNTL_SIZE_HINT) method.
-**
-** dbHintSize is set to a copy of the dbSize variable when a
-** write-transaction is opened (at the same time as dbFileSize and
-** dbOrigSize). If the xFileControl(FCNTL_SIZE_HINT) method is called,
-** dbHintSize is increased to the number of pages that correspond to the
-** size-hint passed to the method call. See pager_write_pagelist() for
-** details.
-**
-** errCode
-**
-** The Pager.errCode variable is only ever used in PAGER_ERROR state. It
-** is set to zero in all other states. In PAGER_ERROR state, Pager.errCode
-** is always set to SQLITE_FULL, SQLITE_IOERR or one of the SQLITE_IOERR_XXX
-** sub-codes.
-**
-** syncFlags, walSyncFlags
-**
-** syncFlags is either SQLITE_SYNC_NORMAL (0x02) or SQLITE_SYNC_FULL (0x03).
-** syncFlags is used for rollback mode. walSyncFlags is used for WAL mode
-** and contains the flags used to sync the checkpoint operations in the
-** lower two bits, and sync flags used for transaction commits in the WAL
-** file in bits 0x04 and 0x08. In other words, to get the correct sync flags
-** for checkpoint operations, use (walSyncFlags&0x03) and to get the correct
-** sync flags for transaction commit, use ((walSyncFlags>>2)&0x03). Note
-** that with synchronous=NORMAL in WAL mode, transaction commit is not synced
-** meaning that the 0x04 and 0x08 bits are both zero.
- */
-type TPager1 = struct {
- FpVfs uintptr
- FexclusiveMode Tu8
- FjournalMode Tu8
- FuseJournal Tu8
- FnoSync Tu8
- FfullSync Tu8
- FextraSync Tu8
- FsyncFlags Tu8
- FwalSyncFlags Tu8
- FtempFile Tu8
- FnoLock Tu8
- FreadOnly Tu8
- FmemDb Tu8
- FmemVfs Tu8
- FeState Tu8
- FeLock Tu8
- FchangeCountDone Tu8
- FsetSuper Tu8
- FdoNotSpill Tu8
- FsubjInMemory Tu8
- FbUseFetch Tu8
- FhasHeldSharedLock Tu8
- FdbSize TPgno
- FdbOrigSize TPgno
- FdbFileSize TPgno
- FdbHintSize TPgno
- FerrCode int32
- FnRec int32
- FcksumInit Tu32
- FnSubRec Tu32
- FpInJournal uintptr
- Ffd uintptr
- Fjfd uintptr
- Fsjfd uintptr
- FjournalOff Ti64
- FjournalHdr Ti64
- FpBackup uintptr
- FaSavepoint uintptr
- FnSavepoint int32
- FiDataVersion Tu32
- FdbFileVers [16]int8
- FnMmapOut int32
- FszMmap Tsqlite3_int64
- FpMmapFreelist uintptr
- FnExtra Tu16
- FnReserve Ti16
- FvfsFlags Tu32
- FsectorSize Tu32
- FmxPgno TPgno
- FlckPgno TPgno
- FpageSize Ti64
- FjournalSizeLimit Ti64
- FzFilename uintptr
- FzJournal uintptr
- FxBusyHandler uintptr
- FpBusyHandlerArg uintptr
- FaStat [4]Tu32
- FxReiniter uintptr
- FxGet uintptr
- FpTmpSpace uintptr
- FpPCache uintptr
- FpWal uintptr
- FzWal uintptr
-}
-
-type Pager1 = TPager1
-
/*
** Indexes for use with Pager.aStat[]. The Pager.aStat[] array contains
** the values accessed by passing SQLITE_DBSTATUS_CACHE_HIT, CACHE_MISS
@@ -34539,7 +30099,7 @@ func _sqlite3PagerDirectReadOk(tls *libc.TLS, pPager uintptr, pgno TPgno) (r int
return 0
} /* Case (4) */
}
- if (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TPager)(unsafe.Pointer(pPager)).Ffd)).FpMethods)).FxDeviceCharacteristics})))(tls, (*TPager)(unsafe.Pointer(pPager)).Ffd)&int32(SQLITE_IOCAP_SUBPAGE_READ) == 0 {
+ if (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TPager)(unsafe.Pointer(pPager)).Ffd)).FpMethods)).FxDeviceCharacteristics})))(tls, (*TPager)(unsafe.Pointer(pPager)).Ffd)&int32(SQLITE_IOCAP_SUBPAGE_READ) == 0 {
return 0 /* Case (2) */
}
return int32(1)
@@ -37024,7 +32584,7 @@ func _pagerFixMaplimit(tls *libc.TLS, pPager uintptr) {
var _ /* sz at bp+0 */ Tsqlite3_int64
_ = fd
fd = (*TPager)(unsafe.Pointer(pPager)).Ffd
- if (*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods != uintptr(0) && (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FiVersion >= int32(3) {
+ if (*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods != uintptr(0) && (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FiVersion >= int32(3) {
*(*Tsqlite3_int64)(unsafe.Pointer(bp)) = (*TPager)(unsafe.Pointer(pPager)).FszMmap
(*TPager)(unsafe.Pointer(pPager)).FbUseFetch = libc.BoolUint8(*(*Tsqlite3_int64)(unsafe.Pointer(bp)) > libc.Int64FromInt32(0))
_setGetterMethod(tls, pPager)
@@ -37215,10 +32775,10 @@ func _pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32
// ** retried. If it returns zero, then the SQLITE_BUSY error is
// ** returned to the caller of the pager API function.
// */
-func _sqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) {
+func _sqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, __ccgo_fp_xBusyHandler uintptr, pBusyHandlerArg uintptr) {
var ap uintptr
_ = ap
- (*TPager)(unsafe.Pointer(pPager)).FxBusyHandler = xBusyHandler
+ (*TPager)(unsafe.Pointer(pPager)).FxBusyHandler = __ccgo_fp_xBusyHandler
(*TPager)(unsafe.Pointer(pPager)).FpBusyHandlerArg = pBusyHandlerArg
ap = pPager + 232
_sqlite3OsFileControlHint(tls, (*TPager)(unsafe.Pointer(pPager)).Ffd, int32(SQLITE_FCNTL_BUSYHANDLER), ap)
@@ -38119,7 +33679,7 @@ func _sqlite3PagerFlush(tls *libc.TLS, pPager uintptr) (r int32) {
// ** (sqlite3Malloc() is used to allocate memory), SQLITE_CANTOPEN or
// ** various SQLITE_IO_XXX errors.
// */
-func _sqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) (r int32) {
+func _sqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, __ccgo_fp_xReinit uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var iDc, journalFileSize, memDb, memJM, nPathname, nUriByte, pcacheSize, rc, readOnly, tempFile, useJournal, v4 int32
@@ -38194,7 +33754,7 @@ func _sqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename u
** as it will not be possible to open the journal file or even
** check for a hot-journal before reading.
*/
- rc = _sqlite3CantopenError(tls, int32(62857))
+ rc = _sqlite3CantopenError(tls, int32(62859))
}
if rc != SQLITE_OK {
_sqlite3DbFree(tls, uintptr(0), zPathname)
@@ -38416,7 +33976,7 @@ _3:
}
/* pPager->xBusyHandler = 0; */
/* pPager->pBusyHandlerArg = 0; */
- (*TPager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FxReiniter = xReinit
+ (*TPager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FxReiniter = __ccgo_fp_xReinit
_setGetterMethod(tls, *(*uintptr)(unsafe.Pointer(bp)))
/* memset(pPager->aHash, 0, sizeof(pPager->aHash)); */
/* pPager->szMmap = SQLITE_DEFAULT_MMAP_SIZE // will be set by btree.c */
@@ -38672,7 +34232,7 @@ func _sqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) (r int32) {
f = libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_MAIN_JOURNAL)
rc = _sqlite3OsOpen(tls, pVfs, (*TPager)(unsafe.Pointer(pPager)).FzJournal, (*TPager)(unsafe.Pointer(pPager)).Fjfd, f, bp+8)
if rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&int32(SQLITE_OPEN_READONLY) != 0 {
- rc = _sqlite3CantopenError(tls, int32(63378))
+ rc = _sqlite3CantopenError(tls, int32(63380))
_sqlite3OsClose(tls, (*TPager)(unsafe.Pointer(pPager)).Fjfd)
}
}
@@ -38847,7 +34407,7 @@ func _getPageNormal(tls *libc.TLS, pPager uintptr, pgno TPgno, ppPage uintptr, f
_, _, _, _ = noContent, pPg, rc, v1
rc = SQLITE_OK
if pgno == uint32(0) {
- return _sqlite3CorruptError(tls, int32(63591))
+ return _sqlite3CorruptError(tls, int32(63593))
}
*(*uintptr)(unsafe.Pointer(bp)) = _sqlite3PcacheFetch(tls, (*TPager)(unsafe.Pointer(pPager)).FpPCache, pgno, int32(3))
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
@@ -38878,7 +34438,7 @@ func _getPageNormal(tls *libc.TLS, pPager uintptr, pgno TPgno, ppPage uintptr, f
** (2) Never try to fetch the locking page
*/
if pgno == (*TPager)(unsafe.Pointer(pPager)).FlckPgno {
- rc = _sqlite3CorruptError(tls, int32(63623))
+ rc = _sqlite3CorruptError(tls, int32(63625))
goto pager_acquire_err
}
(*TPgHdr)(unsafe.Pointer(pPg)).FpPager = pPager
@@ -38950,7 +34510,7 @@ func _getPageMMap(tls *libc.TLS, pPager uintptr, pgno TPgno, ppPage uintptr, fla
** test in the previous statement, and avoid testing pgno==0 in the
** common case where pgno is large. */
if pgno <= uint32(1) && pgno == uint32(0) {
- return _sqlite3CorruptError(tls, int32(63706))
+ return _sqlite3CorruptError(tls, int32(63708))
}
if bMmapOk != 0 && (*TPager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
rc = _sqlite3WalFindFrame(tls, (*TPager)(unsafe.Pointer(pPager)).FpWal, pgno, bp+8)
@@ -40307,7 +35867,7 @@ func _sqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno TPgn
if pPgOld != 0 {
if (*TPgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
_sqlite3PagerUnrefNotNull(tls, pPgOld)
- return _sqlite3CorruptError(tls, int32(65272))
+ return _sqlite3CorruptError(tls, int32(65274))
}
p4 = pPg + 52
*(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) | libc.Int32FromUint16((*TPgHdr)(unsafe.Pointer(pPgOld)).Fflags)&libc.Int32FromInt32(PGHDR_NEED_SYNC))
@@ -41156,232 +36716,6 @@ type TWalCkptInfo = struct {
type WalCkptInfo = TWalCkptInfo
-/*
-** The following object holds a copy of the wal-index header content.
-**
-** The actual header in the wal-index consists of two copies of this
-** object followed by one instance of the WalCkptInfo object.
-** For all versions of SQLite through 3.10.0 and probably beyond,
-** the locking bytes (WalCkptInfo.aLock) start at offset 120 and
-** the total header size is 136 bytes.
-**
-** The szPage value can be any power of 2 between 512 and 32768, inclusive.
-** Or it can be 1 to represent a 65536-byte page. The latter case was
-** added in 3.7.1 when support for 64K pages was added.
- */
-type TWalIndexHdr1 = struct {
- FiVersion Tu32
- Funused Tu32
- FiChange Tu32
- FisInit Tu8
- FbigEndCksum Tu8
- FszPage Tu16
- FmxFrame Tu32
- FnPage Tu32
- FaFrameCksum [2]Tu32
- FaSalt [2]Tu32
- FaCksum [2]Tu32
-}
-
-type WalIndexHdr1 = TWalIndexHdr1
-
-/*
-** A copy of the following object occurs in the wal-index immediately
-** following the second copy of the WalIndexHdr. This object stores
-** information used by checkpoint.
-**
-** nBackfill is the number of frames in the WAL that have been written
-** back into the database. (We call the act of moving content from WAL to
-** database "backfilling".) The nBackfill number is never greater than
-** WalIndexHdr.mxFrame. nBackfill can only be increased by threads
-** holding the WAL_CKPT_LOCK lock (which includes a recovery thread).
-** However, a WAL_WRITE_LOCK thread can move the value of nBackfill from
-** mxFrame back to zero when the WAL is reset.
-**
-** nBackfillAttempted is the largest value of nBackfill that a checkpoint
-** has attempted to achieve. Normally nBackfill==nBackfillAtempted, however
-** the nBackfillAttempted is set before any backfilling is done and the
-** nBackfill is only set after all backfilling completes. So if a checkpoint
-** crashes, nBackfillAttempted might be larger than nBackfill. The
-** WalIndexHdr.mxFrame must never be less than nBackfillAttempted.
-**
-** The aLock[] field is a set of bytes used for locking. These bytes should
-** never be read or written.
-**
-** There is one entry in aReadMark[] for each reader lock. If a reader
-** holds read-lock K, then the value in aReadMark[K] is no greater than
-** the mxFrame for that reader. The value READMARK_NOT_USED (0xffffffff)
-** for any aReadMark[] means that entry is unused. aReadMark[0] is
-** a special case; its value is never used and it exists as a place-holder
-** to avoid having to offset aReadMark[] indexes by one. Readers holding
-** WAL_READ_LOCK(0) always ignore the entire WAL and read all content
-** directly from the database.
-**
-** The value of aReadMark[K] may only be changed by a thread that
-** is holding an exclusive lock on WAL_READ_LOCK(K). Thus, the value of
-** aReadMark[K] cannot changed while there is a reader is using that mark
-** since the reader will be holding a shared lock on WAL_READ_LOCK(K).
-**
-** The checkpointer may only transfer frames from WAL to database where
-** the frame numbers are less than or equal to every aReadMark[] that is
-** in use (that is, every aReadMark[j] for which there is a corresponding
-** WAL_READ_LOCK(j)). New readers (usually) pick the aReadMark[] with the
-** largest value and will increase an unused aReadMark[] to mxFrame if there
-** is not already an aReadMark[] equal to mxFrame. The exception to the
-** previous sentence is when nBackfill equals mxFrame (meaning that everything
-** in the WAL has been backfilled into the database) then new readers
-** will choose aReadMark[0] which has value 0 and hence such reader will
-** get all their all content directly from the database file and ignore
-** the WAL.
-**
-** Writers normally append new frames to the end of the WAL. However,
-** if nBackfill equals mxFrame (meaning that all WAL content has been
-** written back into the database) and if no readers are using the WAL
-** (in other words, if there are no WAL_READ_LOCK(i) where i>0) then
-** the writer will first "reset" the WAL back to the beginning and start
-** writing new content beginning at frame 1.
-**
-** We assume that 32-bit loads are atomic and so no locks are needed in
-** order to read from any aReadMark[] entries.
- */
-type TWalCkptInfo1 = struct {
- FnBackfill Tu32
- FaReadMark [5]Tu32
- FaLock [8]Tu8
- FnBackfillAttempted Tu32
- FnotUsed0 Tu32
-}
-
-type WalCkptInfo1 = TWalCkptInfo1
-
-/*
-** This is a schematic view of the complete 136-byte header of the
-** wal-index file (also known as the -shm file):
-**
-** +-----------------------------+
-** 0: | iVersion | ** +-----------------------------+ |
-** 4: | (unused padding) | |
-** +-----------------------------+ |
-** 8: | iChange | |
-** +-------+-------+-------------+ |
-** 12: | bInit | bBig | szPage | |
-** +-------+-------+-------------+ |
-** 16: | mxFrame | | First copy of the
-** +-----------------------------+ | WalIndexHdr object
-** 20: | nPage | |
-** +-----------------------------+ |
-** 24: | aFrameCksum | |
-** | | |
-** +-----------------------------+ |
-** 32: | aSalt | |
-** | | |
-** +-----------------------------+ |
-** 40: | aCksum | |
-** | | /
-** +-----------------------------+
-** 48: | iVersion | ** +-----------------------------+ |
-** 52: | (unused padding) | |
-** +-----------------------------+ |
-** 56: | iChange | |
-** +-------+-------+-------------+ |
-** 60: | bInit | bBig | szPage | |
-** +-------+-------+-------------+ | Second copy of the
-** 64: | mxFrame | | WalIndexHdr
-** +-----------------------------+ |
-** 68: | nPage | |
-** +-----------------------------+ |
-** 72: | aFrameCksum | |
-** | | |
-** +-----------------------------+ |
-** 80: | aSalt | |
-** | | |
-** +-----------------------------+ |
-** 88: | aCksum | |
-** | | /
-** +-----------------------------+
-** 96: | nBackfill |
-** +-----------------------------+
-** 100: | 5 read marks |
-** | |
-** | |
-** | |
-** | |
-** +-------+-------+------+------+
-** 120: | Write | Ckpt | Rcvr | Rd0 | ** +-------+-------+------+------+ ) 8 lock bytes
-** | Read1 | Read2 | Rd3 | Rd4 | /
-** +-------+-------+------+------+
-** 128: | nBackfillAttempted |
-** +-----------------------------+
-** 132: | (unused padding) |
-** +-----------------------------+
- */
-
-/* A block of WALINDEX_LOCK_RESERVED bytes beginning at
-** WALINDEX_LOCK_OFFSET is reserved for locks. Since some systems
-** only support mandatory file-locks, we do not read or write data
-** from the region of the file on which locks are applied.
- */
-
-/* Size of header before each frame in wal */
-
-/* Size of write ahead log header, including checksum. */
-
-/* WAL magic value. Either this value, or the same value with the least
-** significant bit also set (WAL_MAGIC | 0x00000001) is stored in 32-bit
-** big-endian format in the first 4 bytes of a WAL file.
-**
-** If the LSB is set, then the checksums for each frame within the WAL
-** file are calculated by treating all data as an array of 32-bit
-** big-endian words. Otherwise, they are calculated by interpreting
-** all data as 32-bit little-endian words.
- */
-
-/*
-** Return the offset of frame iFrame in the write-ahead log file,
-** assuming a database page size of szPage bytes. The offset returned
-** is to the start of the write-ahead log frame-header.
- */
-
-/*
-** An open write-ahead log file is represented by an instance of the
-** following object.
-**
-** writeLock:
-** This is usually set to 1 whenever the WRITER lock is held. However,
-** if it is set to 2, then the WRITER lock is held but must be released
-** by walHandleException() if a SEH exception is thrown.
- */
-type TWal1 = struct {
- FpVfs uintptr
- FpDbFd uintptr
- FpWalFd uintptr
- FiCallback Tu32
- FmxWalSize Ti64
- FnWiData int32
- FszFirstBlock int32
- FapWiData uintptr
- FszPage Tu32
- FreadLock Ti16
- FsyncFlags Tu8
- FexclusiveMode Tu8
- FwriteLock Tu8
- FckptLock Tu8
- FreadOnly Tu8
- FtruncateOnCommit Tu8
- FsyncHeader Tu8
- FpadToSectorBoundary Tu8
- FbShmUnreliable Tu8
- Fhdr TWalIndexHdr
- FminFrame Tu32
- FiReCksum Tu32
- FzWalName uintptr
- FnCkpt Tu32
- FpSnapshot uintptr
- FbGetSnapshot int32
-}
-
-type Wal1 = TWal1
-
/*
** Candidate values for Wal.exclusiveMode.
*/
@@ -41400,29 +36734,6 @@ type Tht_slot = uint16
type ht_slot = Tht_slot
-/*
-** This structure is used to implement an iterator that loops through
-** all frames in the WAL in database page order. Where two or more frames
-** correspond to the same database page, the iterator visits only the
-** frame most recently written to the WAL (in other words, the frame with
-** the largest index).
-**
-** The internals of this structure are only accessed by:
-**
-** walIteratorInit() - Create a new iterator,
-** walIteratorNext() - Step an iterator,
-** walIteratorFree() - Free an iterator.
-**
-** This functionality is used by the checkpoint code (see walCheckpoint()).
- */
-type TWalIterator1 = struct {
- F__ccgo_align [0]uint64
- FiPrior Tu32
- FnSegment int32
-}
-
-type WalIterator1 = TWalIterator1
-
/* Size (in bytes) of a WalIterator object suitable for N or fewer segments */
/*
@@ -41851,14 +37162,6 @@ type TWalHashLoc = struct {
type WalHashLoc = TWalHashLoc
-type TWalHashLoc1 = struct {
- FaHash uintptr
- FaPgno uintptr
- FiZero Tu32
-}
-
-type WalHashLoc1 = TWalHashLoc1
-
// C documentation
//
// /*
@@ -42025,7 +37328,7 @@ func _walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame Tu32, iPage Tu32) (r in
v2 = nCollide
nCollide--
if v2 == 0 {
- return _sqlite3CorruptError(tls, int32(67212))
+ return _sqlite3CorruptError(tls, int32(67214))
}
goto _1
_1:
@@ -42113,7 +37416,7 @@ func _walIndexRecover(tls *libc.TLS, pWal uintptr) (r int32) {
** are able to understand */
version = _sqlite3Get4byte(tls, bp+8+4)
if version != uint32(WAL_MAX_VERSION) {
- rc = _sqlite3CantopenError(tls, int32(67344))
+ rc = _sqlite3CantopenError(tls, int32(67346))
goto finished
}
/* Malloc a buffer to read frames into. */
@@ -42693,10 +37996,10 @@ func _walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill Tu32, pp uintptr) (
// ** busy-handler function. Invoke it and retry the lock until either the
// ** lock is successfully obtained or the busy-handler returns 0.
// */
-func _walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) (r int32) {
+func _walBusyLock(tls *libc.TLS, pWal uintptr, __ccgo_fp_xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) (r int32) {
var rc int32
_ = rc
- for cond := true; cond; cond = xBusy != 0 && rc == int32(SQLITE_BUSY) && (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xBusy})))(tls, pBusyArg) != 0 {
+ for cond := true; cond; cond = __ccgo_fp_xBusy != 0 && rc == int32(SQLITE_BUSY) && (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xBusy})))(tls, pBusyArg) != 0 {
rc = _walLockExclusive(tls, pWal, lockIdx, n)
}
return rc
@@ -42794,7 +38097,7 @@ func _walRestartHdr(tls *libc.TLS, pWal uintptr, _salt1 Tu32) {
// ** checkpoint is running (in any other thread or process) at the same
// ** time.
// */
-func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) (r int32) {
+func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, __ccgo_fp_xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) (r int32) {
bp := tls.Alloc(48)
defer tls.Free(48)
var i, rc, szPage, v3, v5 int32
@@ -42833,7 +38136,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
}
y = *(*Tu32)(unsafe.Pointer(pInfo + 4 + uintptr(i)*4))
if mxSafeFrame > y {
- rc = _walBusyLock(tls, pWal, xBusy, pBusyArg, int32(3)+i, int32(1))
+ rc = _walBusyLock(tls, pWal, __ccgo_fp_xBusy, pBusyArg, int32(3)+i, int32(1))
if rc == SQLITE_OK {
if i == int32(1) {
v2 = mxSafeFrame
@@ -42846,7 +38149,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
} else {
if rc == int32(SQLITE_BUSY) {
mxSafeFrame = y
- xBusy = uintptr(0)
+ __ccgo_fp_xBusy = uintptr(0)
} else {
goto walcheckpoint_out
}
@@ -42862,7 +38165,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
rc = _walIteratorInit(tls, pWal, (*TWalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill, bp)
}
if v4 = *(*uintptr)(unsafe.Pointer(bp)) != 0; v4 {
- v3 = _walBusyLock(tls, pWal, xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(0), int32(1))
+ v3 = _walBusyLock(tls, pWal, __ccgo_fp_xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(0), int32(1))
rc = v3
}
if v4 && v3 == SQLITE_OK {
@@ -42883,7 +38186,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
** database plus the amount of data in the wal file, plus the
** maximum size of the pending-byte page (65536 bytes), then
** must be corruption somewhere. */
- rc = _sqlite3CorruptError(tls, int32(68153))
+ rc = _sqlite3CorruptError(tls, int32(68155))
} else {
_sqlite3OsFileControlHint(tls, (*TWal)(unsafe.Pointer(pWal)).FpDbFd, int32(SQLITE_FCNTL_SIZE_HINT), bp+16)
}
@@ -42949,7 +38252,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
} else {
if eMode >= int32(SQLITE_CHECKPOINT_RESTART) {
Xsqlite3_randomness(tls, int32(4), bp+32)
- rc = _walBusyLock(tls, pWal, xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(1), libc.Int32FromInt32(SQLITE_SHM_NLOCK)-libc.Int32FromInt32(3)-libc.Int32FromInt32(1))
+ rc = _walBusyLock(tls, pWal, __ccgo_fp_xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(1), libc.Int32FromInt32(SQLITE_SHM_NLOCK)-libc.Int32FromInt32(3)-libc.Int32FromInt32(1))
if rc == SQLITE_OK {
if eMode == int32(SQLITE_CHECKPOINT_TRUNCATE) {
/* IMPLEMENTATION-OF: R-44699-57140 This mode works the same way as
@@ -43247,7 +38550,7 @@ func _walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) (r int32) {
** this version of SQLite cannot understand.
*/
if badHdr == 0 && (*TWal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != uint32(WALINDEX_MAX_VERSION) {
- rc = _sqlite3CantopenError(tls, int32(68604))
+ rc = _sqlite3CantopenError(tls, int32(68606))
}
if (*TWal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
if rc != SQLITE_OK {
@@ -44058,7 +39361,7 @@ func _walFindFrame(tls *libc.TLS, pWal uintptr, pgno TPgno, piRead uintptr) (r i
nCollide--
if v3 == 0 {
*(*Tu32)(unsafe.Pointer(piRead)) = uint32(0)
- return _sqlite3CorruptError(tls, int32(69454))
+ return _sqlite3CorruptError(tls, int32(69456))
}
iKey = _walNextHash(tls, iKey)
}
@@ -44204,7 +39507,7 @@ func _sqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) (r int32) {
// ** Otherwise, if the callback function does not return an error, this
// ** function returns SQLITE_OK.
// */
-func _sqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) (r int32) {
+func _sqlite3WalUndo(tls *libc.TLS, pWal uintptr, __ccgo_fp_xUndo uintptr, pUndoCtx uintptr) (r int32) {
var iFrame, iMax TPgno
var rc int32
_, _, _ = iFrame, iMax, rc
@@ -44231,7 +39534,7 @@ func _sqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt
** page 1 is never written to the log until the transaction is
** committed. As a result, the call to xUndo may not fail.
*/
- rc = (*(*func(*libc.TLS, uintptr, TPgno) int32)(unsafe.Pointer(&struct{ uintptr }{xUndo})))(tls, pUndoCtx, _walFramePgno(tls, pWal, iFrame))
+ rc = (*(*func(*libc.TLS, uintptr, TPgno) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xUndo})))(tls, pUndoCtx, _walFramePgno(tls, pWal, iFrame))
goto _1
_1:
;
@@ -44559,7 +39862,7 @@ func _walFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTrunc
}
}
if libc.Int32FromUint32((*TWal)(unsafe.Pointer(pWal)).FszPage) != szPage {
- return _sqlite3CorruptError(tls, int32(69981)) /* TH3 test case: cov1/corrupt155.test */
+ return _sqlite3CorruptError(tls, int32(69983)) /* TH3 test case: cov1/corrupt155.test */
}
/* Setup information needed to write frames into the WAL */
(*(*TWalWriter)(unsafe.Pointer(bp))).FpWal = pWal
@@ -44740,7 +40043,7 @@ func _sqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr,
// ** If parameter xBusy is not NULL, it is a pointer to a busy-handler
// ** callback. In this case this function runs a blocking checkpoint.
// */
-func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) (r int32) {
+func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, __ccgo_fp_xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var eMode2, rc, v1 int32
@@ -44749,7 +40052,7 @@ func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
_, _, _, _ = eMode2, rc, xBusy2, v1 /* Return code */
*(*int32)(unsafe.Pointer(bp)) = 0 /* True if a new wal-index header is loaded */
eMode2 = eMode /* Mode to pass to walCheckpoint() */
- xBusy2 = xBusy /* Busy handler for eMode2 */
+ xBusy2 = __ccgo_fp_xBusy /* Busy handler for eMode2 */
/* EVIDENCE-OF: R-62920-47450 The busy-handler callback is never invoked
** in the SQLITE_CHECKPOINT_PASSIVE mode. */
if (*TWal)(unsafe.Pointer(pWal)).FreadOnly != 0 {
@@ -44801,14 +40104,14 @@ func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
rc = _walIndexReadHdr(tls, pWal, bp)
if eMode2 != SQLITE_CHECKPOINT_PASSIVE {
}
- if *(*int32)(unsafe.Pointer(bp)) != 0 && (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TWal)(unsafe.Pointer(pWal)).FpDbFd)).FpMethods)).FiVersion >= int32(3) {
+ if *(*int32)(unsafe.Pointer(bp)) != 0 && (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TWal)(unsafe.Pointer(pWal)).FpDbFd)).FpMethods)).FiVersion >= int32(3) {
_sqlite3OsUnfetch(tls, (*TWal)(unsafe.Pointer(pWal)).FpDbFd, 0, uintptr(0))
}
}
/* Copy data from the log to the database file. */
if rc == SQLITE_OK {
if (*TWal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && _walPagesize(tls, pWal) != nBuf {
- rc = _sqlite3CorruptError(tls, int32(70241))
+ rc = _sqlite3CorruptError(tls, int32(70243))
} else {
rc = _walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
}
@@ -45354,288 +40657,6 @@ type TCellInfo = struct {
type CellInfo = TCellInfo
-/*
-** This is a magic string that appears at the beginning of every
-** SQLite database in order to identify the file as a real database.
-**
-** You can change this value at compile-time by specifying a
-** -DSQLITE_FILE_HEADER="..." on the compiler command-line. The
-** header must be exactly 16 bytes including the zero-terminator so
-** the string itself should be 15 characters long. If you change
-** the header, then your custom library will not be able to read
-** databases generated by the standard tools and the standard tools
-** will not be able to read databases created by your custom library.
- */
-
-/*
-** Page type flags. An ORed combination of these flags appear as the
-** first byte of on-disk image of every BTree page.
- */
-
-/*
-** An instance of this object stores information about each a single database
-** page that has been loaded into memory. The information in this object
-** is derived from the raw on-disk page content.
-**
-** As each database page is loaded into memory, the pager allocates an
-** instance of this object and zeros the first 8 bytes. (This is the
-** "extra" information associated with each page of the pager.)
-**
-** Access to all fields of this structure is controlled by the mutex
-** stored in MemPage.pBt->mutex.
- */
-type TMemPage1 = struct {
- FisInit Tu8
- FintKey Tu8
- FintKeyLeaf Tu8
- Fpgno TPgno
- Fleaf Tu8
- FhdrOffset Tu8
- FchildPtrSize Tu8
- Fmax1bytePayload Tu8
- FnOverflow Tu8
- FmaxLocal Tu16
- FminLocal Tu16
- FcellOffset Tu16
- FnFree int32
- FnCell Tu16
- FmaskPage Tu16
- FaiOvfl [4]Tu16
- FapOvfl [4]uintptr
- FpBt uintptr
- FaData uintptr
- FaDataEnd uintptr
- FaCellIdx uintptr
- FaDataOfst uintptr
- FpDbPage uintptr
- FxCellSize uintptr
- FxParseCell uintptr
-}
-
-type MemPage1 = TMemPage1
-
-/*
-** A linked list of the following structures is stored at BtShared.pLock.
-** Locks are added (or upgraded from READ_LOCK to WRITE_LOCK) when a cursor
-** is opened on the table with root page BtShared.iTable. Locks are removed
-** from this list when a transaction is committed or rolled back, or when
-** a btree handle is closed.
- */
-type TBtLock1 = struct {
- FpBtree uintptr
- FiTable TPgno
- FeLock Tu8
- FpNext uintptr
-}
-
-type BtLock1 = TBtLock1
-
-/* Candidate values for BtLock.eLock */
-
-/* A Btree handle
-**
-** A database connection contains a pointer to an instance of
-** this object for every database file that it has open. This structure
-** is opaque to the database connection. The database connection cannot
-** see the internals of this structure and only deals with pointers to
-** this structure.
-**
-** For some database files, the same underlying database cache might be
-** shared between multiple connections. In that case, each connection
-** has it own instance of this object. But each instance of this object
-** points to the same BtShared object. The database cache and the
-** schema associated with the database file are all contained within
-** the BtShared object.
-**
-** All fields in this structure are accessed under sqlite3.mutex.
-** The pBt pointer itself may not be changed while there exists cursors
-** in the referenced BtShared that point back to this Btree since those
-** cursors have to go through this Btree to find their BtShared and
-** they often do so without holding sqlite3.mutex.
- */
-type TBtree1 = struct {
- Fdb uintptr
- FpBt uintptr
- FinTrans Tu8
- Fsharable Tu8
- Flocked Tu8
- FhasIncrblobCur Tu8
- FwantToLock int32
- FnBackup int32
- FiBDataVersion Tu32
- FpNext uintptr
- FpPrev uintptr
- Flock TBtLock
-}
-
-type Btree1 = TBtree1
-
-/*
-** Btree.inTrans may take one of the following values.
-**
-** If the shared-data extension is enabled, there may be multiple users
-** of the Btree structure. At most one of these may open a write transaction,
-** but any number may have active read transactions.
-**
-** These values must match SQLITE_TXN_NONE, SQLITE_TXN_READ, and
-** SQLITE_TXN_WRITE
- */
-
-/*
-** An instance of this object represents a single database file.
-**
-** A single database file can be in use at the same time by two
-** or more database connections. When two or more connections are
-** sharing the same database file, each connection has it own
-** private Btree object for the file and each of those Btrees points
-** to this one BtShared object. BtShared.nRef is the number of
-** connections currently sharing this database file.
-**
-** Fields in this structure are accessed under the BtShared.mutex
-** mutex, except for nRef and pNext which are accessed under the
-** global SQLITE_MUTEX_STATIC_MAIN mutex. The pPager field
-** may not be modified once it is initially set as long as nRef>0.
-** The pSchema field may be set once under BtShared.mutex and
-** thereafter is unchanged as long as nRef>0.
-**
-** isPending:
-**
-** If a BtShared client fails to obtain a write-lock on a database
-** table (because there exists one or more read-locks on the table),
-** the shared-cache enters 'pending-lock' state and isPending is
-** set to true.
-**
-** The shared-cache leaves the 'pending lock' state when either of
-** the following occur:
-**
-** 1) The current writer (BtShared.pWriter) concludes its transaction, OR
-** 2) The number of locks held by other connections drops to zero.
-**
-** while in the 'pending-lock' state, no connection may start a new
-** transaction.
-**
-** This feature is included to help prevent writer-starvation.
- */
-type TBtShared1 = struct {
- FpPager uintptr
- Fdb uintptr
- FpCursor uintptr
- FpPage1 uintptr
- FopenFlags Tu8
- FautoVacuum Tu8
- FincrVacuum Tu8
- FbDoTruncate Tu8
- FinTransaction Tu8
- Fmax1bytePayload Tu8
- FnReserveWanted Tu8
- FbtsFlags Tu16
- FmaxLocal Tu16
- FminLocal Tu16
- FmaxLeaf Tu16
- FminLeaf Tu16
- FpageSize Tu32
- FusableSize Tu32
- FnTransaction int32
- FnPage Tu32
- FpSchema uintptr
- FxFreeSchema uintptr
- Fmutex uintptr
- FpHasContent uintptr
- FnRef int32
- FpNext uintptr
- FpLock uintptr
- FpWriter uintptr
- FpTmpSpace uintptr
- FnPreformatSize int32
-}
-
-type BtShared1 = TBtShared1
-
-/*
-** Allowed values for BtShared.btsFlags
- */
-
-/*
-** An instance of the following structure is used to hold information
-** about a cell. The parseCellPtr() function fills in this structure
-** based on information extract from the raw disk page.
- */
-type TCellInfo1 = struct {
- FnKey Ti64
- FpPayload uintptr
- FnPayload Tu32
- FnLocal Tu16
- FnSize Tu16
-}
-
-type CellInfo1 = TCellInfo1
-
-/*
-** Maximum depth of an SQLite B-Tree structure. Any B-Tree deeper than
-** this will be declared corrupt. This value is calculated based on a
-** maximum database size of 2^31 pages a minimum fanout of 2 for a
-** root-node and 3 for all other internal nodes.
-**
-** If a tree that appears to be taller than this is encountered, it is
-** assumed that the database is corrupt.
- */
-
-/*
-** Maximum amount of storage local to a database page, regardless of
-** page size.
- */
-
-/*
-** A cursor is a pointer to a particular entry within a particular
-** b-tree within a database file.
-**
-** The entry is identified by its MemPage and the index in
-** MemPage.aCell[] of the entry.
-**
-** A single database file can be shared by two more database connections,
-** but cursors cannot be shared. Each cursor is associated with a
-** particular database connection identified BtCursor.pBtree.db.
-**
-** Fields in this structure are accessed under the BtShared.mutex
-** found at self->pBt->mutex.
-**
-** skipNext meaning:
-** The meaning of skipNext depends on the value of eState:
-**
-** eState Meaning of skipNext
-** VALID skipNext is meaningless and is ignored
-** INVALID skipNext is meaningless and is ignored
-** SKIPNEXT sqlite3BtreeNext() is a no-op if skipNext>0 and
-** sqlite3BtreePrevious() is no-op if skipNext<0.
-** REQUIRESEEK restoreCursorPosition() restores the cursor to
-** eState=SKIPNEXT if skipNext!=0
-** FAULT skipNext holds the cursor fault error code.
- */
-type TBtCursor1 = struct {
- FeState Tu8
- FcurFlags Tu8
- FcurPagerFlags Tu8
- Fhints Tu8
- FskipNext int32
- FpBtree uintptr
- FaOverflow uintptr
- FpKey uintptr
- FpBt uintptr
- FpNext uintptr
- Finfo TCellInfo
- FnKey Ti64
- FpgnoRoot TPgno
- FiPage Ti8
- FcurIntKey Tu8
- Fix Tu16
- FaiIdx [19]Tu16
- FpKeyInfo uintptr
- FpPage uintptr
- FapPage [19]uintptr
-}
-
-type BtCursor1 = TBtCursor1
-
/*
** Legal values for BtCursor.curFlags
*/
@@ -45768,27 +40789,6 @@ type TIntegrityCk = struct {
type IntegrityCk = TIntegrityCk
-type TIntegrityCk1 = struct {
- FpBt uintptr
- FpPager uintptr
- FaPgRef uintptr
- FnCkPage TPgno
- FmxErr int32
- FnErr int32
- Frc int32
- FnStep Tu32
- FzPfx uintptr
- Fv0 TPgno
- Fv1 TPgno
- Fv2 int32
- FerrMsg TStrAccum
- Fheap uintptr
- Fdb uintptr
- FnRow Ti64
-}
-
-type IntegrityCk1 = TIntegrityCk1
-
/*
** Routines to read or write a two- and four-byte big-endian integer values.
*/
@@ -46671,11 +41671,11 @@ func _btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey Ti64, bias int
}
_sqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
if libc.Int32FromUint16((*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || libc.Int32FromUint16((*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > libc.Int32FromUint16((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
- rc = _sqlite3CorruptError(tls, int32(72429))
+ rc = _sqlite3CorruptError(tls, int32(72431))
} else {
rc = _sqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
}
- _sqlite3DbFree(tls, (*TKeyInfo1)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo)).Fdb, pIdxKey)
+ _sqlite3DbFree(tls, (*TKeyInfo)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo)).Fdb, pIdxKey)
} else {
pIdxKey = uintptr(0)
rc = _sqlite3BtreeTableMoveto(tls, pCur, nKey, bias, pRes)
@@ -46849,7 +41849,7 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno,
}
/* The super-journal page number must never be used as a pointer map page */
if key == uint32(0) {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72627))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72629))
return
}
iPtrmap = _ptrmapPageno(tls, pBt, key)
@@ -46862,12 +41862,12 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno,
/* The first byte of the extra data is the MemPage.isInit byte.
** If that byte is set, it means this page is also being used
** as a btree page. */
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72640))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72642))
goto ptrmap_exit
}
offset = libc.Int32FromUint32(libc.Uint32FromInt32(5) * (key - iPtrmap - libc.Uint32FromInt32(1)))
if offset < 0 {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72645))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72647))
goto ptrmap_exit
}
pPtrmap = _sqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp)))
@@ -46911,7 +41911,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin
offset = libc.Int32FromUint32(libc.Uint32FromInt32(5) * (key - libc.Uint32FromInt32(iPtrmap) - libc.Uint32FromInt32(1)))
if offset < 0 {
_sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
- return _sqlite3CorruptError(tls, int32(72690))
+ return _sqlite3CorruptError(tls, int32(72692))
}
*(*Tu8)(unsafe.Pointer(pEType)) = *(*Tu8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
if pPgno != 0 {
@@ -46919,7 +41919,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin
}
_sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(pEType))) < int32(1) || libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(pEType))) > int32(5) {
- return _sqlite3CorruptError(tls, int32(72698))
+ return _sqlite3CorruptError(tls, int32(72700))
}
return SQLITE_OK
}
@@ -47339,7 +42339,7 @@ func _ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr
(*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp)
if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload {
if uint64(pCell) < uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) && uint64(pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal)) > uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(73143))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(73145))
return
}
ovfl = _sqlite3Get4byte(tls, pCell+uintptr(libc.Int32FromUint16((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-int32(4)))
@@ -47379,12 +42379,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) <= nMaxFrag {
iFree = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(1)))))< usableSize-int32(4) {
- return _sqlite3CorruptError(tls, int32(73201))
+ return _sqlite3CorruptError(tls, int32(73203))
}
if iFree != 0 {
iFree2 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree))))< usableSize-int32(4) {
- return _sqlite3CorruptError(tls, int32(73204))
+ return _sqlite3CorruptError(tls, int32(73206))
}
if 0 == iFree2 || libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(1))))) == 0 {
pEnd = data + uintptr(cellOffset+nCell*int32(2))
@@ -47392,21 +42392,21 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
sz = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree+int32(2)))))<= iFree {
- return _sqlite3CorruptError(tls, int32(73212))
+ return _sqlite3CorruptError(tls, int32(73214))
}
if iFree2 != 0 {
if iFree+sz > iFree2 {
- return _sqlite3CorruptError(tls, int32(73215))
+ return _sqlite3CorruptError(tls, int32(73217))
}
sz2 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(2)))))< usableSize {
- return _sqlite3CorruptError(tls, int32(73217))
+ return _sqlite3CorruptError(tls, int32(73219))
}
libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), libc.Uint64FromInt32(iFree2-(iFree+sz)))
sz += sz2
} else {
if iFree+sz > usableSize {
- return _sqlite3CorruptError(tls, int32(73221))
+ return _sqlite3CorruptError(tls, int32(73223))
}
}
cbrk = top + sz
@@ -47453,12 +42453,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
** if PRAGMA cell_size_check=ON.
*/
if pc > iCellLast {
- return _sqlite3CorruptError(tls, int32(73254))
+ return _sqlite3CorruptError(tls, int32(73256))
}
size = libc.Int32FromUint16((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, src+uintptr(pc)))
cbrk -= size
if cbrk < iCellStart || pc+size > usableSize {
- return _sqlite3CorruptError(tls, int32(73260))
+ return _sqlite3CorruptError(tls, int32(73262))
}
*(*Tu8)(unsafe.Pointer(pAddr1)) = libc.Uint8FromInt32(cbrk >> libc.Int32FromInt32(8))
*(*Tu8)(unsafe.Pointer(pAddr1 + 1)) = libc.Uint8FromInt32(cbrk)
@@ -47474,7 +42474,7 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
defragment_out:
;
if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7)))))+cbrk-iCellFirst != (*TMemPage)(unsafe.Pointer(pPage)).FnFree {
- return _sqlite3CorruptError(tls, int32(73274))
+ return _sqlite3CorruptError(tls, int32(73276))
}
*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)))) = libc.Uint8FromInt32(cbrk >> libc.Int32FromInt32(8))
*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)) + 1)) = libc.Uint8FromInt32(cbrk)
@@ -47534,7 +42534,7 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint
} else {
if x+pc > maxPC {
/* This slot extends off the end of the usable part of the page */
- *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73331))
+ *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73333))
return uintptr(0)
} else {
/* The slot remains on the free-list. Reduce its size to account
@@ -47551,14 +42551,14 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint
if pc <= iAddr {
if pc != 0 {
/* The next slot in the chain comes before the current slot */
- *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73346))
+ *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73348))
}
return uintptr(0)
}
}
if pc > maxPC+nByte-int32(4) {
/* The free slot chain extends off the end of the page */
- *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73353))
+ *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73355))
}
return uintptr(0)
}
@@ -47601,11 +42601,11 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r
if top == 0 && (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == uint32(65536) {
top = int32(65536)
} else {
- return _sqlite3CorruptError(tls, int32(73401))
+ return _sqlite3CorruptError(tls, int32(73403))
}
} else {
if top > libc.Int32FromUint32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(73404))
+ return _sqlite3CorruptError(tls, int32(73406))
}
}
/* If there is enough space between gap and top for one more cell pointer,
@@ -47619,7 +42619,7 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r
g2 = v1
*(*int32)(unsafe.Pointer(pIdx)) = v1
if g2 <= gap {
- return _sqlite3CorruptError(tls, int32(73421))
+ return _sqlite3CorruptError(tls, int32(73423))
} else {
return SQLITE_OK
}
@@ -47700,12 +42700,12 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
if iFreeBlk == 0 {
break
} /* TH3: corrupt082.100 */
- return _sqlite3CorruptError(tls, int32(73500))
+ return _sqlite3CorruptError(tls, int32(73502))
}
iPtr = iFreeBlk
}
if iFreeBlk > libc.Int32FromUint32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize)-int32(4) { /* TH3: corrupt081.100 */
- return _sqlite3CorruptError(tls, int32(73505))
+ return _sqlite3CorruptError(tls, int32(73507))
}
/* At this point:
** iFreeBlk: First freeblock after iStart, or zero if none
@@ -47716,11 +42716,11 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
if iFreeBlk != 0 && iEnd+int32(3) >= iFreeBlk {
nFrag = iFreeBlk - iEnd
if iEnd > iFreeBlk {
- return _sqlite3CorruptError(tls, int32(73517))
+ return _sqlite3CorruptError(tls, int32(73519))
}
iEnd = iFreeBlk + (libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk+int32(2)))))< libc.Int32FromUint32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(73520))
+ return _sqlite3CorruptError(tls, int32(73522))
}
iSize = iEnd - iStart
iFreeBlk = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<= iStart {
if iPtrEnd > iStart {
- return _sqlite3CorruptError(tls, int32(73533))
+ return _sqlite3CorruptError(tls, int32(73535))
}
nFrag += iStart - iPtrEnd
iSize = iEnd - iPtr
@@ -47741,7 +42741,7 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
}
}
if nFrag > libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(libc.Int32FromUint8(hdr)+int32(7))))) {
- return _sqlite3CorruptError(tls, int32(73539))
+ return _sqlite3CorruptError(tls, int32(73541))
}
p2 = data + uintptr(libc.Int32FromUint8(hdr)+int32(7))
*(*uint8)(unsafe.Pointer(p2)) = uint8(int32(*(*uint8)(unsafe.Pointer(p2))) - libc.Int32FromUint8(libc.Uint8FromInt32(nFrag)))
@@ -47758,10 +42758,10 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
** so just extend the cell content area rather than create another
** freelist entry */
if iStart < x {
- return _sqlite3CorruptError(tls, int32(73553))
+ return _sqlite3CorruptError(tls, int32(73555))
}
if iPtr != libc.Int32FromUint8(hdr)+int32(1) {
- return _sqlite3CorruptError(tls, int32(73554))
+ return _sqlite3CorruptError(tls, int32(73556))
}
*(*uint8)(unsafe.Pointer(data + uintptr(libc.Int32FromUint8(hdr)+int32(1)))) = libc.Uint8FromInt32(iFreeBlk >> libc.Int32FromInt32(8))
*(*uint8)(unsafe.Pointer(data + uintptr(libc.Int32FromUint8(hdr)+int32(1)) + 1)) = libc.Uint8FromInt32(iFreeBlk)
@@ -47822,7 +42822,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0)
(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtrIdxLeaf)
(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex)
- return _sqlite3CorruptError(tls, int32(73609))
+ return _sqlite3CorruptError(tls, int32(73611))
}
}
} else {
@@ -47848,7 +42848,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0)
(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtr)
(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex)
- return _sqlite3CorruptError(tls, int32(73633))
+ return _sqlite3CorruptError(tls, int32(73635))
}
}
}
@@ -47887,12 +42887,12 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) {
/* EVIDENCE-OF: R-55530-52930 In a well-formed b-tree page, there will
** always be at least one cell before the first freeblock.
*/
- return _sqlite3CorruptError(tls, int32(73684))
+ return _sqlite3CorruptError(tls, int32(73686))
}
for int32(1) != 0 {
if pc > iCellLast {
/* Freeblock off the end of the page */
- return _sqlite3CorruptError(tls, int32(73689))
+ return _sqlite3CorruptError(tls, int32(73691))
}
next = libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(data + uintptr(pc))))< uint32(0) {
/* Freeblock not in ascending order */
- return _sqlite3CorruptError(tls, int32(73699))
+ return _sqlite3CorruptError(tls, int32(73701))
}
if libc.Uint32FromInt32(pc)+size > libc.Uint32FromInt32(usableSize) {
/* Last freeblock extends past page end */
- return _sqlite3CorruptError(tls, int32(73703))
+ return _sqlite3CorruptError(tls, int32(73705))
}
}
/* At this point, nFree contains the sum of the offset to the start
@@ -47919,7 +42919,7 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) {
** area, according to the page header, lies within the page.
*/
if nFree > usableSize || nFree < iCellFirst {
- return _sqlite3CorruptError(tls, int32(73715))
+ return _sqlite3CorruptError(tls, int32(73717))
}
(*TMemPage)(unsafe.Pointer(pPage)).FnFree = libc.Int32FromUint16(libc.Uint16FromInt32(nFree - iCellFirst))
return SQLITE_OK
@@ -47950,11 +42950,11 @@ func _btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) (r int32) {
}
pc = libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(data + uintptr(cellOffset+i*int32(2)))))< iCellLast {
- return _sqlite3CorruptError(tls, int32(73746))
+ return _sqlite3CorruptError(tls, int32(73748))
}
sz = libc.Int32FromUint16((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, data+uintptr(pc)))
if pc+sz > usableSize {
- return _sqlite3CorruptError(tls, int32(73751))
+ return _sqlite3CorruptError(tls, int32(73753))
}
goto _1
_1:
@@ -47983,7 +42983,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) {
/* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating
** the b-tree page type. */
if _decodeFlags(tls, pPage, libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(data)))) != 0 {
- return _sqlite3CorruptError(tls, int32(73783))
+ return _sqlite3CorruptError(tls, int32(73785))
}
(*TMemPage)(unsafe.Pointer(pPage)).FmaskPage = uint16((*TBtShared)(unsafe.Pointer(pBt)).FpageSize - libc.Uint32FromInt32(1))
(*TMemPage)(unsafe.Pointer(pPage)).FnOverflow = uint8(0)
@@ -47996,7 +42996,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FnCell = libc.Uint16FromInt32(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(data + 3)))< ((*TBtShared)(unsafe.Pointer(pBt)).FpageSize-uint32(8))/uint32(6) {
/* To many cells for a single page. The page must be corrupt */
- return _sqlite3CorruptError(tls, int32(73797))
+ return _sqlite3CorruptError(tls, int32(73799))
}
/* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only
** possible for a root page of a table that contains no rows) then the
@@ -48147,7 +43147,7 @@ func _getAndInitPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, bRe
_, _ = pPage, rc
if pgno > _btreePagecount(tls, pBt) {
*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
- return _sqlite3CorruptError(tls, int32(73940))
+ return _sqlite3CorruptError(tls, int32(73942))
}
rc = _sqlite3PagerGet(tls, (*TBtShared)(unsafe.Pointer(pBt)).FpPager, pgno, bp, bReadOnly)
if rc != 0 {
@@ -48209,7 +43209,7 @@ func _btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr,
if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > int32(1) {
_releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
- return _sqlite3CorruptError(tls, int32(74012))
+ return _sqlite3CorruptError(tls, int32(74014))
}
(*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = uint8(0)
} else {
@@ -49121,7 +44121,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) {
}
if nPage > *(*Tu32)(unsafe.Pointer(bp + 8)) {
if _sqlite3WritableSchema(tls, (*TBtShared)(unsafe.Pointer(pBt)).Fdb) == 0 {
- rc = _sqlite3CorruptError(tls, int32(74950))
+ rc = _sqlite3CorruptError(tls, int32(74952))
goto page1_init_failed
} else {
nPage = *(*Tu32)(unsafe.Pointer(bp + 8))
@@ -49562,7 +44562,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
if libc.Int32FromUint8(eType) == int32(PTRMAP_OVERFLOW2) {
/* The pointer is always the first 4 bytes of the page in this case. */
if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
- return _sqlite3CorruptError(tls, int32(75405))
+ return _sqlite3CorruptError(tls, int32(75407))
}
_sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData, iTo)
} else {
@@ -49586,7 +44586,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
(*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp)
if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload {
if pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(75424))
+ return _sqlite3CorruptError(tls, int32(75426))
}
if iFrom == _sqlite3Get4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4)) {
_sqlite3Put4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4), iTo)
@@ -49595,7 +44595,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
}
} else {
if pCell+uintptr(4) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(75433))
+ return _sqlite3CorruptError(tls, int32(75435))
}
if _sqlite3Get4byte(tls, pCell) == iFrom {
_sqlite3Put4byte(tls, pCell, iTo)
@@ -49609,7 +44609,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
}
if i == nCell {
if libc.Int32FromUint8(eType) != int32(PTRMAP_BTREE) || _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8))) != iFrom {
- return _sqlite3CorruptError(tls, int32(75445))
+ return _sqlite3CorruptError(tls, int32(75447))
}
_sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8)), iTo)
}
@@ -49639,7 +44639,7 @@ func _relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType Tu8, iPtrP
iDbPage = (*TMemPage)(unsafe.Pointer(pDbPage)).Fpgno
pPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager
if iDbPage < uint32(3) {
- return _sqlite3CorruptError(tls, int32(75480))
+ return _sqlite3CorruptError(tls, int32(75482))
}
/* Move page iDbPage from its current location to page number iFreePage */
*(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3PagerMovepage(tls, pPager, (*TMemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -49735,7 +44735,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom
return rc
}
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_ROOTPAGE) {
- return _sqlite3CorruptError(tls, int32(75578))
+ return _sqlite3CorruptError(tls, int32(75580))
}
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_FREEPAGE) {
if bCommit == 0 {
@@ -49773,7 +44773,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom
_releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 40)))
if *(*TPgno)(unsafe.Pointer(bp + 24)) > dbSize {
_releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
- return _sqlite3CorruptError(tls, int32(75630))
+ return _sqlite3CorruptError(tls, int32(75632))
}
}
rc = _relocatePage(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*Tu8)(unsafe.Pointer(bp)), *(*TPgno)(unsafe.Pointer(bp + 4)), *(*TPgno)(unsafe.Pointer(bp + 24)), bCommit)
@@ -49840,7 +44840,7 @@ func _sqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) (r int32) {
nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
nFin = _finalDbSize(tls, pBt, nOrig, nFree)
if nOrig < nFin || nFree >= nOrig {
- rc = _sqlite3CorruptError(tls, int32(75698))
+ rc = _sqlite3CorruptError(tls, int32(75700))
} else {
if nFree > uint32(0) {
rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -49883,7 +44883,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) {
** is either a pointer-map page or the pending-byte page. If one
** is encountered, this indicates corruption.
*/
- return _sqlite3CorruptError(tls, int32(75749))
+ return _sqlite3CorruptError(tls, int32(75751))
}
nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
db = (*TBtree)(unsafe.Pointer(p)).Fdb
@@ -49913,7 +44913,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) {
}
nFin = _finalDbSize(tls, pBt, nOrig, nVac)
if nFin > nOrig {
- return _sqlite3CorruptError(tls, int32(75776))
+ return _sqlite3CorruptError(tls, int32(75778))
}
if nFin < nOrig {
rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -50379,7 +45379,7 @@ func _btreeCursor(tls *libc.TLS, p uintptr, iTable TPgno, wrFlag int32, pKeyInfo
/* Assert that the caller has opened the required transaction. */
if iTable <= uint32(1) {
if iTable < uint32(1) {
- return _sqlite3CorruptError(tls, int32(76240))
+ return _sqlite3CorruptError(tls, int32(76242))
} else {
if _btreePagecount(tls, pBt) == uint32(0) {
iTable = uint32(0)
@@ -50771,7 +45771,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
pBt = (*TBtCursor)(unsafe.Pointer(pCur)).FpBt /* Btree this cursor belongs to */
pBufStart = pBuf /* Start of original out buffer */
if libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Fix) >= libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) {
- return _sqlite3CorruptError(tls, int32(76664))
+ return _sqlite3CorruptError(tls, int32(76666))
}
_getCellInfo(tls, pCur)
aPayload = (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
@@ -50781,7 +45781,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize]
** but is recast into its current form to avoid integer overflow problems
*/
- return _sqlite3CorruptError(tls, int32(76679))
+ return _sqlite3CorruptError(tls, int32(76681))
}
/* Check if data must be read/written to/from the btree page itself. */
if offset < uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -50838,7 +45838,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
for *(*TPgno)(unsafe.Pointer(bp)) != 0 {
/* If required, populate the overflow page-list cache. */
if *(*TPgno)(unsafe.Pointer(bp)) > (*TBtShared)(unsafe.Pointer(pBt)).FnPage {
- return _sqlite3CorruptError(tls, int32(76750))
+ return _sqlite3CorruptError(tls, int32(76752))
}
*(*TPgno)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*TPgno)(unsafe.Pointer(bp))
if offset >= ovflSize {
@@ -50912,7 +45912,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
}
if rc == SQLITE_OK && amt > uint32(0) {
/* Overflow chain ends prematurely */
- return _sqlite3CorruptError(tls, int32(76834))
+ return _sqlite3CorruptError(tls, int32(76836))
}
return rc
}
@@ -51047,7 +46047,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) {
var v3, p1 uintptr
_, _, _, _ = rc, v2, v3, p1
if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) {
- return _sqlite3CorruptError(tls, int32(76972))
+ return _sqlite3CorruptError(tls, int32(76974))
}
(*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0)
p1 = pCur + 1
@@ -51059,7 +46059,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) {
rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, newPgno, pCur+136, libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags))
if rc == SQLITE_OK && (libc.Int32FromUint16((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || libc.Int32FromUint8((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) {
_releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage)
- rc = _sqlite3CorruptError(tls, int32(76986))
+ rc = _sqlite3CorruptError(tls, int32(76988))
}
if rc != 0 {
v3 = pCur + 84
@@ -51175,7 +46175,7 @@ func _moveToRoot(tls *libc.TLS, pCur uintptr) (r int32) {
** in such a way that page pRoot is linked into a second b-tree table
** (or the freelist). */
if libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.BoolInt32((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pRoot)).FintKey) {
- return _sqlite3CorruptError(tls, int32(77121))
+ return _sqlite3CorruptError(tls, int32(77123))
}
goto skip_init
skip_init:
@@ -51189,7 +46189,7 @@ skip_init:
} else {
if !((*TMemPage)(unsafe.Pointer(pRoot)).Fleaf != 0) {
if (*TMemPage)(unsafe.Pointer(pRoot)).Fpgno != uint32(1) {
- return _sqlite3CorruptError(tls, int32(77133))
+ return _sqlite3CorruptError(tls, int32(77135))
}
subpage = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+int32(8)))
(*TBtCursor)(unsafe.Pointer(pCur)).FeState = uint8(CURSOR_VALID)
@@ -51423,7 +46423,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh
break
}
if pCell >= (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(77382))
+ return _sqlite3CorruptError(tls, int32(77384))
}
}
}
@@ -51507,7 +46507,7 @@ moveto_table_finish:
// ** This routine is part of an optimization. It is always safe to return
// ** a positive value as that will cause the optimization to be skipped.
// */
-func _indexCellCompare(tls *libc.TLS, pCur uintptr, idx int32, pIdxKey uintptr, xRecordCompare TRecordCompare) (r int32) {
+func _indexCellCompare(tls *libc.TLS, pCur uintptr, idx int32, pIdxKey uintptr, __ccgo_fp_xRecordCompare TRecordCompare) (r int32) {
var c, nCell, v1 int32
var pCell, pPage uintptr
var v2 bool
@@ -51519,7 +46519,7 @@ func _indexCellCompare(tls *libc.TLS, pCur uintptr, idx int32, pIdxKey uintptr,
/* This branch runs if the record-size field of the cell is a
** single byte varint and the record fits entirely on the main
** b-tree page. */
- c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xRecordCompare})))(tls, nCell, pCell+1, pIdxKey)
+ c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xRecordCompare})))(tls, nCell, pCell+1, pIdxKey)
} else {
if v2 = !(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(pCell + 1)))&libc.Int32FromInt32(0x80) != 0); v2 {
v1 = nCell&libc.Int32FromInt32(0x7f)< (*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage {
- rc = _sqlite3CorruptError(tls, int32(77665))
+ rc = _sqlite3CorruptError(tls, int32(77667))
goto moveto_index_finish
}
pCellKey = _sqlite3Malloc(tls, libc.Uint64FromInt32(nCell)+libc.Uint64FromInt32(nOverrun))
@@ -51721,7 +46721,7 @@ bypass_moveto_root:
rc = SQLITE_OK
(*TBtCursor)(unsafe.Pointer(pCur)).Fix = libc.Uint16FromInt32(idx)
if (*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0 {
- rc = _sqlite3CorruptError(tls, int32(77697))
+ rc = _sqlite3CorruptError(tls, int32(77699))
}
goto moveto_index_finish
}
@@ -51754,7 +46754,7 @@ bypass_moveto_root:
p9 = pCur + 1
*(*Tu8)(unsafe.Pointer(p9)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p9))) & ^(libc.Int32FromInt32(BTCF_ValidNKey) | libc.Int32FromInt32(BTCF_ValidOvfl)))
if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) {
- return _sqlite3CorruptError(tls, int32(77728))
+ return _sqlite3CorruptError(tls, int32(77730))
}
*(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*2)) = libc.Uint16FromInt32(lwr)
*(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*8)) = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage
@@ -51763,7 +46763,7 @@ bypass_moveto_root:
rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, chldPg, pCur+136, libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags))
if rc == SQLITE_OK && (libc.Int32FromUint16((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || libc.Int32FromUint8((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) {
_releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage)
- rc = _sqlite3CorruptError(tls, int32(77739))
+ rc = _sqlite3CorruptError(tls, int32(77741))
}
if rc != 0 {
v11 = pCur + 84
@@ -51892,7 +46892,7 @@ func _btreeNext(tls *libc.TLS, pCur uintptr) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0)
}
if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) {
- return _sqlite3CorruptError(tls, int32(77840))
+ return _sqlite3CorruptError(tls, int32(77842))
}
if idx >= libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) {
if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) {
@@ -52002,7 +47002,7 @@ func _btreePrevious(tls *libc.TLS, pCur uintptr) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0)
}
if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) {
- return _sqlite3CorruptError(tls, int32(77933))
+ return _sqlite3CorruptError(tls, int32(77935))
}
if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) {
idx = libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Fix)
@@ -52090,7 +47090,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
** stores the total number of pages on the freelist. */
n = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+36)
if n >= mxPage {
- return _sqlite3CorruptError(tls, int32(78023))
+ return _sqlite3CorruptError(tls, int32(78025))
}
if n > uint32(0) {
searchList = uint8(0) /* If the free-list must be searched for 'nearby' */
@@ -52145,7 +47145,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
nSearch++
}
if v2 || v1 > n {
- rc = _sqlite3CorruptError(tls, int32(78079))
+ rc = _sqlite3CorruptError(tls, int32(78081))
} else {
rc = _btreeGetUnusedPage(tls, pBt, iTrunk, bp, 0)
}
@@ -52171,7 +47171,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
} else {
if k > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/libc.Uint32FromInt32(4)-libc.Uint32FromInt32(2) {
/* Value of k is out of range. Database corruption */
- rc = _sqlite3CorruptError(tls, int32(78108))
+ rc = _sqlite3CorruptError(tls, int32(78110))
goto end_allocate_page
} else {
if searchList != 0 && (nearby == iTrunk || iTrunk < nearby && libc.Int32FromUint8(eMode) == int32(BTALLOC_LE)) {
@@ -52198,7 +47198,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
} else {
iNewTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+8)
if iNewTrunk > mxPage {
- rc = _sqlite3CorruptError(tls, int32(78142))
+ rc = _sqlite3CorruptError(tls, int32(78144))
goto end_allocate_page
}
rc = _btreeGetUnusedPage(tls, pBt, iNewTrunk, bp+16, 0)
@@ -52269,7 +47269,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
}
iPage = _sqlite3Get4byte(tls, aData+uintptr(uint32(8)+closest*uint32(4)))
if iPage > mxPage || iPage < uint32(2) {
- rc = _sqlite3CorruptError(tls, int32(78207))
+ rc = _sqlite3CorruptError(tls, int32(78209))
goto end_allocate_page
}
if !(searchList != 0) || (iPage == nearby || iPage < nearby && libc.Int32FromUint8(eMode) == int32(BTALLOC_LE)) {
@@ -52407,7 +47407,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in
iTrunk = uint32(0) /* Page number of free-list trunk page */
pPage1 = (*TBtShared)(unsafe.Pointer(pBt)).FpPage1 /* Initial number of pages on free-list */
if iPage < uint32(2) || iPage > (*TBtShared)(unsafe.Pointer(pBt)).FnPage {
- return _sqlite3CorruptError(tls, int32(78334))
+ return _sqlite3CorruptError(tls, int32(78336))
}
if pMemPage != 0 {
*(*uintptr)(unsafe.Pointer(bp + 8)) = pMemPage
@@ -52458,7 +47458,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in
if nFree != uint32(0) { /* Initial number of leaf cells on trunk page */
iTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+32)
if iTrunk > _btreePagecount(tls, pBt) {
- *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(78381))
+ *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(78383))
goto freepage_out
}
*(*int32)(unsafe.Pointer(bp + 16)) = _btreeGetPage(tls, pBt, iTrunk, bp, 0)
@@ -52467,7 +47467,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in
}
nLeaf = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+4)
if nLeaf > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(2) {
- *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(78392))
+ *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(78394))
goto freepage_out
}
if nLeaf < (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(8) {
@@ -52557,7 +47557,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp
_, _, _, _, _, _, _, _ = nOvfl, ovflPageSize, ovflPgno, pBt, rc, v1, v2, v3
if pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd {
/* Cell extends past end of page */
- return _sqlite3CorruptError(tls, int32(78481))
+ return _sqlite3CorruptError(tls, int32(78483))
}
ovflPgno = _sqlite3Get4byte(tls, pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt
@@ -52575,7 +47575,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp
/* 0 is not a legal page number and page 1 cannot be an
** overflow page. Therefore if ovflPgno<2 or past the end of the
** file the database must be corrupt. */
- return _sqlite3CorruptError(tls, int32(78498))
+ return _sqlite3CorruptError(tls, int32(78500))
}
if nOvfl != 0 {
rc = _getOverflowPage(tls, pBt, ovflPgno, bp+8, bp)
@@ -52598,7 +47598,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp
** caller is iterating through or using in some other way, this
** can be problematic.
*/
- rc = _sqlite3CorruptError(tls, int32(78518))
+ rc = _sqlite3CorruptError(tls, int32(78520))
} else {
rc = _freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 8)), ovflPgno)
}
@@ -52819,7 +47819,7 @@ func _dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
pc = libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(ptr)))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(78774))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(78776))
return
}
rc = _freeSpace(tls, pPage, libc.Int32FromUint32(pc), sz)
@@ -53113,17 +48113,6 @@ type TCellArray = struct {
type CellArray = TCellArray
-type TCellArray1 = struct {
- FnCell int32
- FpRef uintptr
- FapCell uintptr
- FszCell uintptr
- FapEnd [6]uintptr
- FixNx [6]int32
-}
-
-type CellArray1 = TCellArray1
-
// C documentation
//
// /*
@@ -53213,12 +48202,12 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
sz = *(*Tu16)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FszCell + uintptr(i)*2))
if uint64(pCell) >= uint64(aData+uintptr(j)) && uint64(pCell) < uint64(pEnd) {
if uint64(pCell+uintptr(sz)) > uint64(pEnd) {
- return _sqlite3CorruptError(tls, int32(79164))
+ return _sqlite3CorruptError(tls, int32(79166))
}
pCell = pTmp + uintptr(int64(pCell)-int64(aData))
} else {
if uint64(pCell+uintptr(sz)) > uint64(pSrcEnd) && uint64(pCell) < uint64(pSrcEnd) {
- return _sqlite3CorruptError(tls, int32(79169))
+ return _sqlite3CorruptError(tls, int32(79171))
}
}
pData -= uintptr(sz)
@@ -53226,7 +48215,7 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
*(*Tu8)(unsafe.Pointer(pCellptr + 1)) = libc.Uint8FromInt64(int64(pData) - int64(aData))
pCellptr += uintptr(2)
if pData < pCellptr {
- return _sqlite3CorruptError(tls, int32(79175))
+ return _sqlite3CorruptError(tls, int32(79177))
}
libc.Xmemmove(tls, pData, pCell, uint64(sz))
i++
@@ -53321,7 +48310,7 @@ func _pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr
** database. But they might for a corrupt database. Hence use memmove()
** since memcpy() sends SIGABORT with overlapping buffers on OpenBSD */
if uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > uint64(pEnd) && uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < uint64(pEnd) {
- _sqlite3CorruptError(tls, int32(79262))
+ _sqlite3CorruptError(tls, int32(79264))
return int32(1)
}
libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), libc.Uint64FromInt32(sz))
@@ -53469,7 +48458,7 @@ func _editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, p
if iOld < iNew {
nShift = _pageFreeArray(tls, pPg, iOld, iNew-iOld, pCArray)
if nShift > nCell {
- return _sqlite3CorruptError(tls, int32(79384))
+ return _sqlite3CorruptError(tls, int32(79386))
}
libc.Xmemmove(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*int32(2)), libc.Uint64FromInt32(nCell*int32(2)))
nCell -= nShift
@@ -53540,7 +48529,7 @@ editpage_fail:
;
/* Unable to edit this page. Rebuild it from scratch instead. */
if nNew < int32(1) {
- return _sqlite3CorruptError(tls, int32(79462))
+ return _sqlite3CorruptError(tls, int32(79464))
}
_populateCellCache(tls, pCArray, iNew, nNew)
return _rebuildPage(tls, pCArray, iNew, nNew, pPg)
@@ -53585,7 +48574,7 @@ func _balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintpt
_, _, _, _, _, _, _ = pBt, pOut, pStop, v1, v2, v3, v4
pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt /* Page number of pNew */
if libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
- return _sqlite3CorruptError(tls, int32(79502))
+ return _sqlite3CorruptError(tls, int32(79504))
} /* dbfuzz001.test */
/* Allocate a new page. This page will become the right-sibling of
** pPage. Make the parent page writable, so that the new divider cell
@@ -53949,7 +48938,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
** table-interior, index-leaf, or index-interior).
*/
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pOld)).FaData))) != libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer((*(*[3]uintptr)(unsafe.Pointer(bp + 8)))[0])).FaData))) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79926))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79928))
goto balance_cleanup
}
/* Load b.apCell[] with pointers to all cells in pOld. If pOld
@@ -53972,7 +48961,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
libc.Xmemset(tls, (*(*TCellArray)(unsafe.Pointer(bp + 112))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 112))).FnCell)*2, 0, uint64(2)*libc.Uint64FromInt32(limit+libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow)))
if libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow) > 0 {
if limit < libc.Int32FromUint16(*(*Tu16)(unsafe.Pointer(pOld + 28))) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79950))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79952))
goto balance_cleanup
}
limit = libc.Int32FromUint16(*(*Tu16)(unsafe.Pointer(pOld + 28)))
@@ -54103,7 +49092,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
if i+int32(1) >= k {
k = i + int32(2)
if k > libc.Int32FromInt32(NB)+libc.Int32FromInt32(2) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80051))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80053))
goto balance_cleanup
}
(*(*[5]int32)(unsafe.Pointer(bp + 72)))[k-int32(1)] = 0
@@ -54146,7 +49135,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
v10 = 0
}
if cntNew[i] <= v10 {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80084))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80086))
goto balance_cleanup
}
}
@@ -54205,7 +49194,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
v15 = 0
}
if cntNew[i-int32(1)] <= v15 {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80128))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80130))
goto balance_cleanup
}
goto _11
@@ -54237,7 +49226,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
*(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage)
nNew++
if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) != int32(1)+libc.BoolInt32(i == iParentIdx-nxDiv) && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80161))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80163))
}
if *(*int32)(unsafe.Pointer(bp)) != 0 {
goto balance_cleanup
@@ -54467,7 +49456,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
}
pSrcEnd = *(*uintptr)(unsafe.Pointer(bp + 112 + 32 + uintptr(k)*8))
if uint64(pCell1) < uint64(pSrcEnd) && uint64(pCell1+uintptr(sz2)) > uint64(pSrcEnd) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80362))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80364))
goto balance_cleanup
}
*(*int32)(unsafe.Pointer(bp)) = _insertCell(tls, pParent, nxDiv+i, pCell1, sz2, pTemp1, (*TMemPage)(unsafe.Pointer(pNew2)).Fpgno)
@@ -54713,7 +49702,7 @@ func _anotherValidCursor(tls *libc.TLS, pCur uintptr) (r int32) {
break
}
if pOther != pCur && libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*TBtCursor)(unsafe.Pointer(pOther)).FpPage == (*TBtCursor)(unsafe.Pointer(pCur)).FpPage {
- return _sqlite3CorruptError(tls, int32(80594))
+ return _sqlite3CorruptError(tls, int32(80596))
}
goto _1
_1:
@@ -54786,7 +49775,7 @@ func _balance(tls *libc.TLS, pCur uintptr) (r int32) {
/* The page being written is not a root page, and there is currently
** more than one reference to it. This only happens if the page is one
** of its own ancestor pages. Corruption. */
- rc = _sqlite3CorruptError(tls, int32(80654))
+ rc = _sqlite3CorruptError(tls, int32(80656))
} else {
pParent = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-int32(1))*8))
iIdx = libc.Int32FromUint16(*(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-int32(1))*2)))
@@ -54945,7 +49934,7 @@ func _btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int
return rc
}
if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1) || (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
- rc = _sqlite3CorruptError(tls, int32(80818))
+ rc = _sqlite3CorruptError(tls, int32(80820))
} else {
if libc.Uint32FromInt32(iOffset)+ovflPageSize < libc.Uint32FromInt32(nTotal) {
ovflPgno = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -54976,7 +49965,7 @@ func _btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int32) {
nTotal = (*TBtreePayload)(unsafe.Pointer(pX)).FnData + (*TBtreePayload)(unsafe.Pointer(pX)).FnZero /* Total bytes of to write */
pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage /* Page being written */
if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd || (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FcellOffset) {
- return _sqlite3CorruptError(tls, int32(80846))
+ return _sqlite3CorruptError(tls, int32(80848))
}
if libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
/* The entire cell is local */
@@ -55061,7 +50050,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
** Which can only happen if the SQLITE_NoSchemaError flag was set when
** the schema was loaded. This cannot be asserted though, as a user might
** set the flag, load the schema, and then unset the flag. */
- return _sqlite3CorruptError(tls, int32(80927))
+ return _sqlite3CorruptError(tls, int32(80929))
}
}
/* Ensure that the cursor is not in the CURSOR_FAULT state and that it
@@ -55153,7 +50142,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 {
if libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FeState) > int32(CURSOR_INVALID) {
/* ^^^^^--- due to the moveToRoot() call above */
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(81050))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(81052))
} else {
*(*int32)(unsafe.Pointer(bp)) = _btreeComputeFreeSpace(tls, pPage)
}
@@ -55189,7 +50178,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
(*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0)
if *(*int32)(unsafe.Pointer(bp + 4)) == 0 {
if idx >= libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) {
- return _sqlite3CorruptError(tls, int32(81092))
+ return _sqlite3CorruptError(tls, int32(81094))
}
*(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(pPage)).FpDbPage)
if *(*int32)(unsafe.Pointer(bp)) != 0 {
@@ -55219,10 +50208,10 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */
/* clearCell never fails when nLocal==nPayload */
if oldCell < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10) {
- return _sqlite3CorruptError(tls, int32(81119))
+ return _sqlite3CorruptError(tls, int32(81121))
}
if oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 8))) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(81122))
+ return _sqlite3CorruptError(tls, int32(81124))
}
libc.Xmemcpy(tls, oldCell, newCell, libc.Uint64FromInt32(*(*int32)(unsafe.Pointer(bp + 8))))
return SQLITE_OK
@@ -55340,7 +50329,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T
nIn = uint32((*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
aIn = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
if aIn+uintptr(nIn) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(81224))
+ return _sqlite3CorruptError(tls, int32(81226))
}
nRem = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
if nIn == nRem && nIn < uint32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -55362,7 +50351,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T
}
if nRem > nIn {
if aIn+uintptr(nIn)+uintptr(4) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(81249))
+ return _sqlite3CorruptError(tls, int32(81251))
}
ovflIn = _sqlite3Get4byte(tls, (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
}
@@ -55462,21 +50451,21 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) {
return *(*int32)(unsafe.Pointer(bp))
}
} else {
- return _sqlite3CorruptError(tls, int32(81345))
+ return _sqlite3CorruptError(tls, int32(81347))
}
}
iCellDepth = int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)
iCellIdx = libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Fix)
pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage
if libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
- return _sqlite3CorruptError(tls, int32(81354))
+ return _sqlite3CorruptError(tls, int32(81356))
}
pCell = (*TMemPage)(unsafe.Pointer(pPage)).FaData + uintptr(libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FmaskPage)&(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(int32(2)*iCellIdx))))< _btreePagecount(tls, pBt) {
- return _sqlite3CorruptError(tls, int32(81568))
+ return _sqlite3CorruptError(tls, int32(81570))
}
*(*TPgno)(unsafe.Pointer(bp + 8))++
/* The new root-page may not be allocated on a pointer-map page, or the
@@ -55721,7 +50710,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
}
*(*int32)(unsafe.Pointer(bp + 12)) = _ptrmapGet(tls, pBt, *(*TPgno)(unsafe.Pointer(bp + 8)), bp+32, bp+36)
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_ROOTPAGE) || libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_FREEPAGE) {
- *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(81616))
+ *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(81618))
}
if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_OK {
_releasePage(tls, *(*uintptr)(unsafe.Pointer(bp)))
@@ -55802,14 +50791,14 @@ func _clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno TPgno, freePageFlag int
var _ /* rc at bp+8 */ int32
_, _, _, _ = hdr, i, pCell, v2
if pgno > _btreePagecount(tls, pBt) {
- return _sqlite3CorruptError(tls, int32(81706))
+ return _sqlite3CorruptError(tls, int32(81708))
}
*(*int32)(unsafe.Pointer(bp + 8)) = _getAndInitPage(tls, pBt, pgno, bp, 0)
if *(*int32)(unsafe.Pointer(bp + 8)) != 0 {
return *(*int32)(unsafe.Pointer(bp + 8))
}
if libc.Int32FromUint8((*TBtShared)(unsafe.Pointer(pBt)).FopenFlags)&int32(BTREE_SINGLE) == 0 && _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1)+libc.BoolInt32(pgno == uint32(1)) {
- *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(81713))
+ *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(81715))
goto cleardatabasepage_out
}
hdr = libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FhdrOffset)
@@ -55946,7 +50935,7 @@ func _btreeDropTable(tls *libc.TLS, p uintptr, iTable TPgno, piMoved uintptr) (r
*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
pBt = (*TBtree)(unsafe.Pointer(p)).FpBt
if iTable > _btreePagecount(tls, pBt) {
- return _sqlite3CorruptError(tls, int32(81817))
+ return _sqlite3CorruptError(tls, int32(81819))
}
*(*int32)(unsafe.Pointer(bp)) = _sqlite3BtreeClearTable(tls, p, libc.Int32FromUint32(iTable), uintptr(0))
if *(*int32)(unsafe.Pointer(bp)) != 0 {
@@ -56998,14 +51987,14 @@ func _sqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) (r int32) {
// ** blob of allocated memory. The xFree function should not call sqlite3_free()
// ** on the memory, the btree layer does that.
// */
-func _sqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) (r uintptr) {
+func _sqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, __ccgo_fp_xFree uintptr) (r uintptr) {
var pBt uintptr
_ = pBt
pBt = (*TBtree)(unsafe.Pointer(p)).FpBt
_sqlite3BtreeEnter(tls, p)
if !((*TBtShared)(unsafe.Pointer(pBt)).FpSchema != 0) && nBytes != 0 {
(*TBtShared)(unsafe.Pointer(pBt)).FpSchema = _sqlite3DbMallocZero(tls, uintptr(0), libc.Uint64FromInt32(nBytes))
- (*TBtShared)(unsafe.Pointer(pBt)).FxFreeSchema = xFree
+ (*TBtShared)(unsafe.Pointer(pBt)).FxFreeSchema = __ccgo_fp_xFree
}
_sqlite3BtreeLeave(tls, p)
return (*TBtShared)(unsafe.Pointer(pBt)).FpSchema
@@ -57216,45 +52205,6 @@ func _sqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) (r int32) {
return (*TBtShared)(unsafe.Pointer((*TBtree)(unsafe.Pointer(p)).FpBt)).FnRef
}
-/************** End of btree.c ***********************************************/
-/************** Begin file backup.c ******************************************/
-/*
-** 2009 January 28
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains the implementation of the sqlite3_backup_XXX()
-** API functions and the related features.
- */
-/* #include "sqliteInt.h" */
-/* #include "btreeInt.h" */
-
-/*
-** Structure allocated for each backup operation.
- */
-type Tsqlite3_backup1 = struct {
- FpDestDb uintptr
- FpDest uintptr
- FiDestSchema Tu32
- FbDestLocked int32
- FiNext TPgno
- FpSrcDb uintptr
- FpSrc uintptr
- Frc int32
- FnRemaining TPgno
- FnPagecount TPgno
- FisAttached int32
- FpNext uintptr
-}
-
-type sqlite3_backup1 = Tsqlite3_backup1
-
/*
** THREAD SAFETY NOTES:
**
@@ -58854,7 +53804,7 @@ func _sqlite3NoopDestructor(tls *libc.TLS, p uintptr) {
// ** Set the value stored in *pMem should already be a NULL.
// ** Also store a pointer to go with it.
// */
-func _sqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) {
+func _sqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, __ccgo_fp_xDestructor uintptr) {
var v1, v2 uintptr
_, _ = v1, v2
_vdbeMemClear(tls, pMem)
@@ -58867,8 +53817,8 @@ func _sqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType
(*TMem)(unsafe.Pointer(pMem)).Fz = pPtr
(*TMem)(unsafe.Pointer(pMem)).Fflags = libc.Uint16FromInt32(libc.Int32FromInt32(MEM_Null) | libc.Int32FromInt32(MEM_Dyn) | libc.Int32FromInt32(MEM_Subtype) | libc.Int32FromInt32(MEM_Term))
(*TMem)(unsafe.Pointer(pMem)).FeSubtype = uint8('p')
- if xDestructor != 0 {
- v2 = xDestructor
+ if __ccgo_fp_xDestructor != 0 {
+ v2 = __ccgo_fp_xDestructor
} else {
v2 = __ccgo_fp(_sqlite3NoopDestructor)
}
@@ -59027,7 +53977,7 @@ func _sqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) {
// ** excluding the first zero character. The n parameter must be
// ** non-negative for blobs.
// */
-func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc Tu8, xDel uintptr) (r int32) {
+func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc Tu8, __ccgo_fp_xDel uintptr) (r int32) {
var flags Tu16
var iLimit, v2, v4 int32
var nAlloc, nByte Ti64
@@ -59069,11 +54019,11 @@ func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc T
}
}
if nByte > int64(iLimit) {
- if xDel != 0 && xDel != uintptr(-libc.Int32FromInt32(1)) {
- if xDel == __ccgo_fp(_sqlite3OomClear) {
+ if __ccgo_fp_xDel != 0 && __ccgo_fp_xDel != uintptr(-libc.Int32FromInt32(1)) {
+ if __ccgo_fp_xDel == __ccgo_fp(_sqlite3OomClear) {
_sqlite3DbFree(tls, (*TMem)(unsafe.Pointer(pMem)).Fdb, z)
} else {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDel})))(tls, z)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDel})))(tls, z)
}
}
_sqlite3VdbeMemSetNull(tls, pMem)
@@ -59083,7 +54033,7 @@ func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc T
** also sets a flag in local variable "flags" to indicate the memory
** management (one of MEM_Dyn or MEM_Static).
*/
- if xDel == uintptr(-libc.Int32FromInt32(1)) {
+ if __ccgo_fp_xDel == uintptr(-libc.Int32FromInt32(1)) {
nAlloc = nByte
if libc.Int32FromUint16(flags)&int32(MEM_Term) != 0 {
if libc.Int32FromUint8(enc) == int32(SQLITE_UTF8) {
@@ -59105,12 +54055,12 @@ func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc T
} else {
_sqlite3VdbeMemRelease(tls, pMem)
(*TMem)(unsafe.Pointer(pMem)).Fz = z
- if xDel == __ccgo_fp(_sqlite3OomClear) {
+ if __ccgo_fp_xDel == __ccgo_fp(_sqlite3OomClear) {
(*TMem)(unsafe.Pointer(pMem)).FzMalloc = (*TMem)(unsafe.Pointer(pMem)).Fz
(*TMem)(unsafe.Pointer(pMem)).FszMalloc = _sqlite3DbMallocSize(tls, (*TMem)(unsafe.Pointer(pMem)).Fdb, (*TMem)(unsafe.Pointer(pMem)).FzMalloc)
} else {
- (*TMem)(unsafe.Pointer(pMem)).FxDel = xDel
- if xDel == libc.UintptrFromInt32(0) {
+ (*TMem)(unsafe.Pointer(pMem)).FxDel = __ccgo_fp_xDel
+ if __ccgo_fp_xDel == libc.UintptrFromInt32(0) {
v4 = int32(MEM_Static)
} else {
v4 = int32(MEM_Dyn)
@@ -59149,7 +54099,7 @@ func _sqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32
_, _ = rc, v1
(*TMem)(unsafe.Pointer(pMem)).Fflags = uint16(MEM_Null)
if _sqlite3BtreeMaxRecordSize(tls, pCur) < libc.Int64FromUint32(offset+amt) {
- return _sqlite3CorruptError(tls, int32(85115))
+ return _sqlite3CorruptError(tls, int32(85117))
}
v1 = _sqlite3VdbeMemClearAndResize(tls, pMem, libc.Int32FromUint32(amt+uint32(1)))
rc = v1
@@ -59261,8 +54211,8 @@ func _sqlite3ValueText(tls *libc.TLS, pVal uintptr, enc Tu8) (r uintptr) {
// ** TODO: Maybe someday promote this interface into a published API so
// ** that third-party extensions can get access to it?
// */
-func _sqlite3ValueIsOfClass(tls *libc.TLS, pVal uintptr, xFree uintptr) (r int32) {
- if pVal != uintptr(0) && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(libc.Int32FromInt32(MEM_Str)|libc.Int32FromInt32(MEM_Blob)) != 0 && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) != 0 && (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel == xFree {
+func _sqlite3ValueIsOfClass(tls *libc.TLS, pVal uintptr, __ccgo_fp_xFree uintptr) (r int32) {
+ if pVal != uintptr(0) && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(libc.Int32FromInt32(MEM_Str)|libc.Int32FromInt32(MEM_Blob)) != 0 && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) != 0 && (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel == __ccgo_fp_xFree {
return int32(1)
} else {
return 0
@@ -59852,7 +54802,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
}
iHdr = uint32(libc.Uint8FromInt32(v1))
if *(*Tu32)(unsafe.Pointer(bp + 4)) > libc.Uint32FromInt32(nRec) || iHdr >= *(*Tu32)(unsafe.Pointer(bp + 4)) {
- return _sqlite3CorruptError(tls, int32(85801))
+ return _sqlite3CorruptError(tls, int32(85803))
}
iField = libc.Int64FromUint32(*(*Tu32)(unsafe.Pointer(bp + 4)))
i = 0
@@ -59868,7 +54818,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
}
iHdr += uint32(libc.Uint8FromInt32(v3))
if iHdr > *(*Tu32)(unsafe.Pointer(bp + 4)) {
- return _sqlite3CorruptError(tls, int32(85807))
+ return _sqlite3CorruptError(tls, int32(85809))
}
szField = _sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp)))
iField += libc.Int64FromUint32(szField)
@@ -59878,7 +54828,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
i++
}
if iField > int64(nRec) {
- return _sqlite3CorruptError(tls, int32(85813))
+ return _sqlite3CorruptError(tls, int32(85815))
}
if pMem == uintptr(0) {
v4 = _sqlite3ValueNew(tls, db)
@@ -59929,9 +54879,9 @@ func _sqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) {
// /*
// ** Change the string value of an sqlite3_value object
// */
-func _sqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc Tu8, xDel uintptr) {
+func _sqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc Tu8, __ccgo_fp_xDel uintptr) {
if v != 0 {
- _sqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, xDel)
+ _sqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, __ccgo_fp_xDel)
}
}
@@ -60005,7 +54955,7 @@ func _sqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) (r uintptr) {
libc.Xmemset(tls, p+136, 0, libc.Uint64FromInt64(304)-uint64(libc.UintptrFromInt32(0)+136))
(*TVdbe)(unsafe.Pointer(p)).Fdb = db
if (*Tsqlite3)(unsafe.Pointer(db)).FpVdbe != 0 {
- (*TVdbe1)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpVdbe)).FppVPrev = p + 16
+ (*TVdbe)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpVdbe)).FppVPrev = p + 16
}
(*TVdbe)(unsafe.Pointer(p)).FpVNext = (*Tsqlite3)(unsafe.Pointer(db)).FpVdbe
(*TVdbe)(unsafe.Pointer(p)).FppVPrev = db + 8
@@ -62129,7 +57079,7 @@ func _sqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) {
// ** or SQLITE_TRANSIENT. If it is SQLITE_DYNAMIC, then the buffer pointed
// ** to by zName will be freed by sqlite3DbFree() when the vdbe is destroyed.
// */
-func _sqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) (r int32) {
+func _sqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, __ccgo_fp_xDel uintptr) (r int32) {
var pColName uintptr
var rc int32
_, _ = pColName, rc
@@ -62137,7 +57087,7 @@ func _sqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zNa
return int32(SQLITE_NOMEM)
}
pColName = (*TVdbe)(unsafe.Pointer(p)).FaColName + uintptr(idx+var1*libc.Int32FromUint16((*TVdbe)(unsafe.Pointer(p)).FnResAlloc))*56
- rc = _sqlite3VdbeMemSetStr(tls, pColName, zName, int64(-int32(1)), uint8(SQLITE_UTF8), xDel)
+ rc = _sqlite3VdbeMemSetStr(tls, pColName, zName, int64(-int32(1)), uint8(SQLITE_UTF8), __ccgo_fp_xDel)
return rc
}
@@ -62964,7 +57914,7 @@ func _sqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) (r int32) {
return rc
}
if *(*int32)(unsafe.Pointer(bp)) != 0 {
- return _sqlite3CorruptError(tls, int32(89694))
+ return _sqlite3CorruptError(tls, int32(89696))
}
(*TVdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = uint8(0)
(*TVdbeCursor)(unsafe.Pointer(p)).FcacheStatus = uint32(CACHE_STALE)
@@ -63812,7 +58762,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
i = 0
}
if d1 > libc.Uint32FromInt32(nKey1) {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90653)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90655)))
return 0 /* Corruption */
}
/* Only needed by assert() statements */
@@ -63902,7 +58852,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
pKeyInfo = v4
}
if v5 || libc.Int32FromUint16((*TKeyInfo)(unsafe.Pointer(v4)).FnAllField) <= i {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90734)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90736)))
return 0 /* Corruption */
} else {
if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 {
@@ -63937,7 +58887,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
} else {
nStr = libc.Int32FromUint32((*(*Tu32)(unsafe.Pointer(bp + 68)) - uint32(12)) / uint32(2))
if d1+libc.Uint32FromInt32(nStr) > libc.Uint32FromInt32(nKey1) {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90764)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90766)))
return 0 /* Corruption */
} else {
if libc.Int32FromUint16((*TMem)(unsafe.Pointer(pRhs)).Fflags)&int32(MEM_Zero) != 0 {
@@ -63991,7 +58941,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
}
idx1 += libc.Uint32FromInt32(_sqlite3VarintLen(tls, uint64(*(*Tu32)(unsafe.Pointer(bp + 68)))))
if idx1 >= *(*Tu32)(unsafe.Pointer(bp)) {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90815)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90817)))
return 0 /* Corrupt index */
}
}
@@ -64123,7 +59073,7 @@ vrcs_restart:
szHdr = libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(aKey1)))
nStr = (*(*int32)(unsafe.Pointer(bp)) - int32(12)) / int32(2)
if szHdr+nStr > nKey1 {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90978)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90980)))
return 0 /* Corruption */
}
if (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).Fn < nStr {
@@ -64275,7 +59225,7 @@ func _sqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr
idx_rowid_corruption:
;
_sqlite3VdbeMemReleaseMalloc(tls, bp+8)
- return _sqlite3CorruptError(tls, int32(91136))
+ return _sqlite3CorruptError(tls, int32(91138))
}
// C documentation
@@ -64306,7 +59256,7 @@ func _sqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
** that btreeParseCellPtr() and sqlite3GetVarint32() are implemented */
if nCellKey <= 0 || nCellKey > int64(0x7fffffff) {
*(*int32)(unsafe.Pointer(res)) = 0
- return _sqlite3CorruptError(tls, int32(91169))
+ return _sqlite3CorruptError(tls, int32(91171))
}
_sqlite3VdbeMemInit(tls, bp, db, uint16(0))
rc = _sqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, libc.Uint32FromInt64(nCellKey), bp)
@@ -64723,7 +59673,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) (r int32) {
v = pStmt
db = (*TVdbe)(unsafe.Pointer(v)).Fdb
if _vdbeSafety(tls, v) != 0 {
- return _sqlite3MisuseError(tls, int32(91567))
+ return _sqlite3MisuseError(tls, int32(91569))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if (*TVdbe)(unsafe.Pointer(v)).FstartTime > 0 {
@@ -65050,12 +60000,12 @@ func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) {
// ** The invokeValueDestructor(P,X) routine invokes destructor function X()
// ** on value P if P is not going to be used and need to be destroyed.
// */
-func _setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc Tu8, xDel uintptr) {
+func _setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc Tu8, __ccgo_fp_xDel uintptr) {
var pOut uintptr
var rc int32
_, _ = pOut, rc
pOut = (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut
- rc = _sqlite3VdbeMemSetStr(tls, pOut, z, int64(n), enc, xDel)
+ rc = _sqlite3VdbeMemSetStr(tls, pOut, z, int64(n), enc, __ccgo_fp_xDel)
if rc != 0 {
if rc == int32(SQLITE_TOOBIG) {
Xsqlite3_result_error_toobig(tls, pCtx)
@@ -65072,29 +60022,33 @@ func _setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc T
}
}
-func _invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) (r int32) {
- if xDel == uintptr(0) {
+func _invokeValueDestructor(tls *libc.TLS, p uintptr, __ccgo_fp_xDel uintptr, pCtx uintptr) (r int32) {
+ if __ccgo_fp_xDel == uintptr(0) {
/* noop */
} else {
- if xDel == uintptr(-libc.Int32FromInt32(1)) {
+ if __ccgo_fp_xDel == uintptr(-libc.Int32FromInt32(1)) {
/* noop */
} else {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDel})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDel})))(tls, p)
}
}
Xsqlite3_result_error_toobig(tls, pCtx)
return int32(SQLITE_TOOBIG)
}
-func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, n, uint8(0), xDel)
+type t__ccgo_fp__Xsqlite3_result_blob_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, n, uint8(0), __ccgo_fp_xDel)
}
-func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, xDel uintptr) {
+type t__ccgo_fp__Xsqlite3_result_blob64_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, __ccgo_fp_xDel uintptr) {
if n > uint64(0x7fffffff) {
- _invokeValueDestructor(tls, z, xDel, pCtx)
+ _invokeValueDestructor(tls, z, __ccgo_fp_xDel, pCtx)
} else {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), uint8(0), xDel)
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), uint8(0), __ccgo_fp_xDel)
}
}
@@ -65124,13 +60078,15 @@ func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) {
_sqlite3VdbeMemSetNull(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut)
}
-func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) {
+type t__ccgo_fp__Xsqlite3_result_pointer_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, __ccgo_fp_xDestructor uintptr) {
var pOut uintptr
_ = pOut
pOut = (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut
_sqlite3VdbeMemRelease(tls, pOut)
(*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Null)
- _sqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, xDestructor)
+ _sqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, __ccgo_fp_xDestructor)
}
func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) {
@@ -65142,11 +60098,15 @@ func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) {
*(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromInt32(MEM_Subtype))
}
-func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), xDel)
+type t__ccgo_fp__Xsqlite3_result_text_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), __ccgo_fp_xDel)
}
-func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, xDel uintptr, enc uint8) {
+type t__ccgo_fp__Xsqlite3_result_text64_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, __ccgo_fp_xDel uintptr, enc uint8) {
if libc.Int32FromUint8(enc) != int32(SQLITE_UTF8) {
if libc.Int32FromUint8(enc) == int32(SQLITE_UTF16) {
enc = uint8(SQLITE_UTF16LE)
@@ -65154,23 +60114,29 @@ func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_u
n &= ^libc.Uint64FromInt32(1)
}
if n > uint64(0x7fffffff) {
- _invokeValueDestructor(tls, z, xDel, pCtx)
+ _invokeValueDestructor(tls, z, __ccgo_fp_xDel, pCtx)
} else {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), enc, xDel)
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), enc, __ccgo_fp_xDel)
_sqlite3VdbeMemZeroTerminateIfAble(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut)
}
}
-func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), xDel)
+type t__ccgo_fp__Xsqlite3_result_text16_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), __ccgo_fp_xDel)
}
-func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16BE), xDel)
+type t__ccgo_fp__Xsqlite3_result_text16be_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16BE), __ccgo_fp_xDel)
}
-func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), xDel)
+type t__ccgo_fp__Xsqlite3_result_text16le_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), __ccgo_fp_xDel)
}
func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) {
@@ -65427,7 +60393,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) (r int32) {
v = pStmt /* the prepared statement */
cnt = 0 /* The database connection */
if _vdbeSafetyNotNull(tls, v) != 0 {
- return _sqlite3MisuseError(tls, int32(92361))
+ return _sqlite3MisuseError(tls, int32(92363))
}
db = (*TVdbe)(unsafe.Pointer(v)).Fdb
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -65557,7 +60523,7 @@ func _valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32
_, _, _, _, _, _, _ = iOff, pOut, pRhs, rc, sz, zBuf, v1
*(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0)
if pVal == uintptr(0) {
- return _sqlite3MisuseError(tls, int32(92482))
+ return _sqlite3MisuseError(tls, int32(92484))
}
if libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) == 0 || (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel != __ccgo_fp(_sqlite3VdbeValueListFree) {
return int32(SQLITE_ERROR)
@@ -65726,6 +60692,8 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) (r uintptr) {
return uintptr(0)
}
+type t__ccgo_fp__Xsqlite3_set_auxdata_3 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
@@ -65739,7 +60707,7 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) (r uintptr) {
// ** to all functions within the current prepared statement using iArg as an
// ** access code.
// */
-func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, xDelete uintptr) {
+func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, __ccgo_fp_xDelete uintptr) {
var pAuxData, pVdbe uintptr
_, _ = pAuxData, pVdbe
pVdbe = (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe
@@ -65777,13 +60745,13 @@ func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr,
}
}
(*TAuxData)(unsafe.Pointer(pAuxData)).FpAux = pAux
- (*TAuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux = xDelete
+ (*TAuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux = __ccgo_fp_xDelete
return
goto failed
failed:
;
- if xDelete != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDelete})))(tls, pAux)
+ if __ccgo_fp_xDelete != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDelete})))(tls, pAux)
}
}
@@ -66283,14 +61251,14 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) {
var v2 bool
_, _, _ = pVar, v1, v2
if _vdbeSafetyNotNull(tls, p) != 0 {
- return _sqlite3MisuseError(tls, int32(93098))
+ return _sqlite3MisuseError(tls, int32(93100))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
if libc.Int32FromUint8((*TVdbe)(unsafe.Pointer(p)).FeVdbeState) != int32(VDBE_READY_STATE) {
- _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(93102)))
+ _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(93104)))
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5615, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql))
- return _sqlite3MisuseError(tls, int32(93106))
+ return _sqlite3MisuseError(tls, int32(93108))
}
if i >= libc.Uint32FromInt16((*TVdbe)(unsafe.Pointer(p)).FnVar) {
_sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, int32(SQLITE_RANGE))
@@ -66328,7 +61296,7 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) {
// /*
// ** Bind a text or BLOB value.
// */
-func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64, xDel uintptr, encoding Tu8) (r int32) {
+func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64, __ccgo_fp_xDel uintptr, encoding Tu8) (r int32) {
var p, pVar uintptr
var rc int32
_, _, _ = p, pVar, rc
@@ -66338,7 +61306,7 @@ func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64,
/* tag-20240917-01 */
if zData != uintptr(0) {
pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr(i-int32(1))*56
- rc = _sqlite3VdbeMemSetStr(tls, pVar, zData, nData, encoding, xDel)
+ rc = _sqlite3VdbeMemSetStr(tls, pVar, zData, nData, encoding, __ccgo_fp_xDel)
if rc == SQLITE_OK && libc.Int32FromUint8(encoding) != 0 {
rc = _sqlite3VdbeChangeEncoding(tls, pVar, libc.Int32FromUint8((*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fenc))
}
@@ -66349,24 +61317,28 @@ func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64,
}
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
} else {
- if xDel != libc.UintptrFromInt32(0) && xDel != uintptr(-libc.Int32FromInt32(1)) {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDel})))(tls, zData)
+ if __ccgo_fp_xDel != libc.UintptrFromInt32(0) && __ccgo_fp_xDel != uintptr(-libc.Int32FromInt32(1)) {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDel})))(tls, zData)
}
}
return rc
}
+type t__ccgo_fp__Xsqlite3_bind_blob_4 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Bind a blob value to an SQL statement variable.
// */
-func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0))
+func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, int64(nData), __ccgo_fp_xDel, uint8(0))
}
-func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), xDel, uint8(0))
+type t__ccgo_fp__Xsqlite3_bind_blob64_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), __ccgo_fp_xDel, uint8(0))
}
func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) (r int32) {
@@ -66414,7 +61386,9 @@ func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) (r int32) {
return rc
}
-func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) (r int32) {
+type t__ccgo_fp__Xsqlite3_bind_pointer_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
var p uintptr
var rc int32
_, _ = p, rc
@@ -66422,32 +61396,38 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr,
rc = _vdbeUnbind(tls, p, libc.Uint32FromInt32(i-libc.Int32FromInt32(1)))
if rc == SQLITE_OK {
/* tag-20240917-01 */
- _sqlite3VdbeMemSetPointer(tls, (*TVdbe)(unsafe.Pointer(p)).FaVar+uintptr(i-int32(1))*56, pPtr, zPTtype, xDestructor)
+ _sqlite3VdbeMemSetPointer(tls, (*TVdbe)(unsafe.Pointer(p)).FaVar+uintptr(i-int32(1))*56, pPtr, zPTtype, __ccgo_fp_xDestructor)
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
} else {
- if xDestructor != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestructor})))(tls, pPtr)
+ if __ccgo_fp_xDestructor != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestructor})))(tls, pPtr)
}
}
return rc
}
-func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF8))
+type t__ccgo_fp__Xsqlite3_bind_text_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, int64(nData), __ccgo_fp_xDel, uint8(SQLITE_UTF8))
}
-func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, xDel uintptr, enc uint8) (r int32) {
+type t__ccgo_fp__Xsqlite3_bind_text64_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, __ccgo_fp_xDel uintptr, enc uint8) (r int32) {
if libc.Int32FromUint8(enc) != int32(SQLITE_UTF8) {
if libc.Int32FromUint8(enc) == int32(SQLITE_UTF16) {
enc = uint8(SQLITE_UTF16LE)
}
nData &= ^libc.Uint64FromInt32(1)
}
- return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), xDel, enc)
+ return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), __ccgo_fp_xDel, enc)
}
-func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, n int32, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), xDel, uint8(SQLITE_UTF16LE))
+type t__ccgo_fp__Xsqlite3_bind_text16_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, n int32, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), __ccgo_fp_xDel, uint8(SQLITE_UTF16LE))
}
func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) (r int32) {
@@ -66864,7 +61844,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
/* Test that this call is being made from within an SQLITE_DELETE or
** SQLITE_UPDATE pre-update callback, and that iIdx is within range. */
if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_INSERT) {
- rc = _sqlite3MisuseError(tls, int32(93649))
+ rc = _sqlite3MisuseError(tls, int32(93651))
goto preupdate_old_out
}
if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 {
@@ -66926,7 +61906,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
})(unsafe.Pointer((*TPreUpdate)(unsafe.Pointer(p)).FpTab + 64))).FpDfltList + 8 + uintptr(libc.Int32FromUint16((*TColumn)(unsafe.Pointer(pCol)).FiDflt)-int32(1))*32))).FpExpr
rc = _sqlite3ValueFromExpr(tls, db, pDflt, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, libc.Uint8FromInt8((*TColumn)(unsafe.Pointer(pCol)).Faffinity), bp)
if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
- rc = _sqlite3CorruptError(tls, int32(93708))
+ rc = _sqlite3CorruptError(tls, int32(93710))
}
*(*uintptr)(unsafe.Pointer((*TPreUpdate)(unsafe.Pointer(p)).FapDflt + uintptr(iIdx)*8)) = *(*uintptr)(unsafe.Pointer(bp))
}
@@ -67027,7 +62007,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
iStore = 0
p = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdate
if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_DELETE) {
- rc = _sqlite3MisuseError(tls, int32(93804))
+ rc = _sqlite3MisuseError(tls, int32(93806))
goto preupdate_new_out
}
if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 && (*TPreUpdate)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) {
@@ -70388,7 +65368,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
pOp = aOp + uintptr((*(*TOp)(unsafe.Pointer(aOp))).Fp3-int32(1))*24
goto _187
} else {
- rc = _sqlite3CorruptError(tls, int32(97568))
+ rc = _sqlite3CorruptError(tls, int32(97570))
goto abort_due_to_error
}
/* Opcode: TypeCheck P1 P2 P3 P4 *
@@ -72298,7 +67278,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
** into an integer without loss of information. Take care to avoid
** changing the datatype of pIn3, however, as it is used by other
** parts of the prepared statement. */
- *(*Tsqlite3_value1)(unsafe.Pointer(bp + 256)) = *(*TMem)(unsafe.Pointer(pIn3))
+ *(*Tsqlite3_value)(unsafe.Pointer(bp + 256)) = *(*TMem)(unsafe.Pointer(pIn3))
_applyAffinity(tls, bp+256, int8(SQLITE_AFF_NUMERIC), encoding)
if libc.Int32FromUint16((*(*TMem)(unsafe.Pointer(bp + 256))).Fflags)&int32(MEM_Int) == 0 {
goto jump_to_p2
@@ -72325,7 +67305,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
(*TVdbeCursor)(unsafe.Pointer(pC10)).FseekResult = *(*int32)(unsafe.Pointer(bp + 248))
if *(*int32)(unsafe.Pointer(bp + 248)) != 0 {
if (*TOp)(unsafe.Pointer(pOp)).Fp2 == 0 {
- rc = _sqlite3CorruptError(tls, int32(99829))
+ rc = _sqlite3CorruptError(tls, int32(99831))
} else {
goto jump_to_p2
}
@@ -73217,7 +68197,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
}
} else {
if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 && !(_sqlite3WritableSchema(tls, db) != 0) {
- rc = _sqlite3ReportError(tls, libc.Int32FromInt32(SQLITE_CORRUPT)|libc.Int32FromInt32(3)< int64(0x7fffffff) {
- rc = _sqlite3CorruptError(tls, int32(101126))
+ rc = _sqlite3CorruptError(tls, int32(101128))
goto abort_due_to_error
}
_sqlite3VdbeMemInit(tls, bp+552, db, uint16(0))
@@ -73599,7 +68579,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
/* The OP_ParseSchema opcode with a non-NULL P4 argument should parse
** at least one SQL statement. Any less than that indicates that
** the sqlite_schema table is corrupt. */
- rc = _sqlite3CorruptError(tls, int32(101419))
+ rc = _sqlite3CorruptError(tls, int32(101421))
}
_sqlite3DbFreeNN(tls, db, zSql)
(*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0)
@@ -75250,7 +70230,7 @@ abort_due_to_error:
rc = int32(SQLITE_NOMEM)
} else {
if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(33)< Banana
-** aReadr[1] -> Feijoa
-** aReadr[2] -> Elderberry
-** aReadr[3] -> Currant
-** aReadr[4] -> Grapefruit
-** aReadr[5] -> Apple
-** aReadr[6] -> Durian
-** aReadr[7] -> EOF
-**
-** aTree[] = { X, 5 0, 5 0, 3, 5, 6 }
-**
-** The current element is "Apple" (the value of the key indicated by
-** PmaReader 5). When the Next() operation is invoked, PmaReader 5 will
-** be advanced to the next key in its segment. Say the next key is
-** "Eggplant":
-**
-** aReadr[5] -> Eggplant
-**
-** The contents of aTree[] are updated first by comparing the new PmaReader
-** 5 key to the current key of PmaReader 4 (still "Grapefruit"). The PmaReader
-** 5 value is still smaller, so aTree[6] is set to 5. And so on up the tree.
-** The value of PmaReader 6 - "Durian" - is now smaller than that of PmaReader
-** 5, so aTree[3] is set to 6. Key 0 is smaller than key 6 (Bananafile2. And instead of using a
-** background thread to prepare data for the PmaReader, with a single
-** threaded IncrMerger the allocate part of pTask->file2 is "refilled" with
-** keys from pMerger by the calling thread whenever the PmaReader runs out
-** of data.
- */
-type TIncrMerger1 = struct {
- FpTask uintptr
- FpMerger uintptr
- FiStartOff Ti64
- FmxSz int32
- FbEof int32
- FbUseThread int32
- FaFile [2]TSorterFile
-}
-
-type IncrMerger1 = TIncrMerger1
-
-/*
-** An instance of this object is used for writing a PMA.
-**
-** The PMA is written one record at a time. Each record is of an arbitrary
-** size. But I/O is more efficient if it occurs in page-sized blocks where
-** each block is aligned on a page boundary. This object caches writes to
-** the PMA so that aligned, page-size blocks are written.
- */
-type TPmaWriter1 = struct {
- FeFWErr int32
- FaBuffer uintptr
- FnBuffer int32
- FiBufStart int32
- FiBufEnd int32
- FiWriteOff Ti64
- FpFd uintptr
-}
-
-type PmaWriter1 = TPmaWriter1
-
-/*
-** This object is the header on a single record while that record is being
-** held in memory and prior to being written out as part of a PMA.
-**
-** How the linked list is connected depends on how memory is being managed
-** by this module. If using a separate allocation for each in-memory record
-** (VdbeSorter.list.aMemory==0), then the list is always connected using the
-** SorterRecord.u.pNext pointers.
-**
-** Or, if using the single large allocation method (VdbeSorter.list.aMemory!=0),
-** then while records are being accumulated the list is linked using the
-** SorterRecord.u.iNext offset. This is because the aMemory[] array may
-** be sqlite3Realloc()ed while records are being accumulated. Once the VM
-** has finished passing records to the sorter, or when the in-memory buffer
-** is full, the list is sorted. As part of the sorting process, it is
-** converted to use the SorterRecord.u.pNext pointers. See function
-** vdbeSorterSort() for details.
- */
-type TSorterRecord1 = struct {
- FnVal int32
- Fu struct {
- FiNext [0]int32
- FpNext uintptr
- }
-}
-
-type SorterRecord1 = TSorterRecord1
-
// C documentation
//
// /*
@@ -76652,7 +71353,7 @@ func _vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr)
rc = SQLITE_OK
if (*TSorterFile)(unsafe.Pointer(pFile)).FiEof <= int64((*Tsqlite3)(unsafe.Pointer((*TVdbeSorter)(unsafe.Pointer((*TSortSubtask)(unsafe.Pointer(pTask)).FpSorter)).Fdb)).FnMaxSorterMmap) {
pFd = (*TSorterFile)(unsafe.Pointer(pFile)).FpFd
- if (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
+ if (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
rc = _sqlite3OsFetch(tls, pFd, 0, int32((*TSorterFile)(unsafe.Pointer(pFile)).FiEof), pp)
}
}
@@ -77143,8 +71844,8 @@ func _vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) (r int32) {
// /*
// ** Launch a background thread to run xTask(pIn).
// */
-func _vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) (r int32) {
- return _sqlite3ThreadCreate(tls, pTask, xTask, pIn)
+func _vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, __ccgo_fp_xTask uintptr, pIn uintptr) (r int32) {
+ return _sqlite3ThreadCreate(tls, pTask, __ccgo_fp_xTask, pIn)
}
// C documentation
@@ -77339,7 +72040,7 @@ func _vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, _nByte Ti64)
*(*Ti64)(unsafe.Pointer(bp)) = _nByte
var _ /* chunksize at bp+16 */ int32
var _ /* p at bp+8 */ uintptr
- if *(*Ti64)(unsafe.Pointer(bp)) <= int64((*Tsqlite3)(unsafe.Pointer(db)).FnMaxSorterMmap) && (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
+ if *(*Ti64)(unsafe.Pointer(bp)) <= int64((*Tsqlite3)(unsafe.Pointer(db)).FnMaxSorterMmap) && (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
*(*int32)(unsafe.Pointer(bp + 16)) = libc.Int32FromInt32(4) * libc.Int32FromInt32(1024)
_sqlite3OsFileControlHint(tls, pFd, int32(SQLITE_FCNTL_CHUNK_SIZE), bp+16)
@@ -78991,57 +73692,6 @@ type TFileChunk = struct {
type FileChunk = TFileChunk
-/*
-** The rollback journal is composed of a linked list of these structures.
-**
-** The zChunk array is always at least 8 bytes in size - usually much more.
-** Its actual size is stored in the MemJournal.nChunkSize variable.
- */
-type TFileChunk1 = struct {
- FpNext uintptr
- FzChunk [8]Tu8
-}
-
-type FileChunk1 = TFileChunk1
-
-/*
-** By default, allocate this many bytes of memory for each FileChunk object.
- */
-
-/*
-** For chunk size nChunkSize, return the number of bytes that should
-** be allocated for each FileChunk structure.
- */
-
-/*
-** An instance of this object serves as a cursor into the rollback journal.
-** The cursor can be either for reading or writing.
- */
-type TFilePoint1 = struct {
- FiOffset Tsqlite3_int64
- FpChunk uintptr
-}
-
-type FilePoint1 = TFilePoint1
-
-/*
-** This structure is a subclass of sqlite3_file. Each open memory-journal
-** is an instance of this class.
- */
-type TMemJournal1 = struct {
- FpMethod uintptr
- FnChunkSize int32
- FnSpill int32
- FpFirst uintptr
- Fendpoint TFilePoint
- Freadpoint TFilePoint
- Fflags int32
- FpVfs uintptr
- FzJournal uintptr
-}
-
-type MemJournal1 = TMemJournal1
-
// C documentation
//
// /*
@@ -79338,7 +73988,7 @@ func _memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) (r int32) {
// /*
// ** Table of methods for MemJournal sqlite3_file object.
// */
-var _MemJournalMethods = Tsqlite3_io_methods1{
+var _MemJournalMethods = Tsqlite3_io_methods{
FiVersion: int32(1),
}
@@ -83802,12 +78452,6 @@ type TEdupBuf = struct {
type EdupBuf = TEdupBuf
-type TEdupBuf1 = struct {
- FzAlloc uintptr
-}
-
-type EdupBuf1 = TEdupBuf1
-
// C documentation
//
// /*
@@ -87384,6 +82028,11 @@ expr_code_doover:
case int32(TK_STRING):
_sqlite3VdbeLoadString(tls, v, target, *(*uintptr)(unsafe.Pointer(pExpr + 8)))
return target
+ case int32(TK_NULLS):
+ /* Set a range of registers to NULL. pExpr->y.nReg registers starting
+ ** with target */
+ _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, target, target+*(*int32)(unsafe.Pointer(&(*TExpr)(unsafe.Pointer(pExpr)).Fy))-int32(1))
+ return target
default:
/* Make NULL the default case so that if a bug causes an illegal
** Expr node to be passed into this function, it will be handled
@@ -87921,6 +82570,27 @@ func _sqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, r
return regDest
}
+// C documentation
+//
+// /*
+// ** Make arrangements to invoke OP_Null on a range of registers
+// ** during initialization.
+// */
+func _sqlite3ExprNullRegisterRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) {
+ bp := tls.Alloc(80)
+ defer tls.Free(80)
+ var okConstFactor Tu8
+ var _ /* t at bp+0 */ TExpr
+ _ = okConstFactor
+ okConstFactor = libc.Uint8FromInt32(int32(Tbft(*(*uint8)(unsafe.Pointer(pParse + 44)) & 0x4 >> 2)))
+ libc.Xmemset(tls, bp, 0, uint64(72))
+ (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_NULLS)
+ *(*int32)(unsafe.Pointer(bp + 64)) = nReg
+ libc.SetBitFieldPtr8Uint32(pParse+44, libc.Uint32FromInt32(1), 2, 0x4)
+ _sqlite3ExprCodeRunJustOnce(tls, pParse, bp, iReg)
+ libc.SetBitFieldPtr8Uint32(pParse+44, uint32(okConstFactor), 2, 0x4)
+}
+
// C documentation
//
// /*
@@ -88127,7 +82797,7 @@ func _sqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, targ
// **
// ** The jumpIfNull parameter is ignored if xJumpIf is NULL.
// */
-func _exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) {
+func _exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, __ccgo_fp_xJump uintptr, jumpIfNull int32) {
bp := tls.Alloc(224)
defer tls.Free(224)
var db, pDel uintptr
@@ -88154,8 +82824,8 @@ func _exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32,
(*(*TExpr)(unsafe.Pointer(bp + 144))).FpLeft = pDel
(*(*TExpr)(unsafe.Pointer(bp + 144))).FpRight = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)) + 8 + 1*32))).FpExpr
_sqlite3ExprToRegister(tls, pDel, _exprCodeVector(tls, pParse, pDel, bp+216))
- if xJump != 0 {
- (*(*func(*libc.TLS, uintptr, uintptr, int32, int32))(unsafe.Pointer(&struct{ uintptr }{xJump})))(tls, pParse, bp, dest, jumpIfNull)
+ if __ccgo_fp_xJump != 0 {
+ (*(*func(*libc.TLS, uintptr, uintptr, int32, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xJump})))(tls, pParse, bp, dest, jumpIfNull)
} else {
/* Mark the expression is being from the ON or USING clause of a join
** so that the sqlite3ExprCodeTarget() routine will not attempt to move
@@ -90570,31 +85240,6 @@ exit_rename_column:
return
}
-/*
-** Each RenameToken object maps an element of the parse tree into
-** the token that generated that element. The parse tree element
-** might be one of:
-**
-** * A pointer to an Expr that represents an ID
-** * The name of a table column in Column.zName
-**
-** A list of RenameToken objects can be constructed during parsing.
-** Each new object is created by sqlite3RenameTokenMap().
-** As the parse tree is transformed, the sqlite3RenameTokenRemap()
-** routine is used to keep the mapping current.
-**
-** After the parse finishes, renameTokenFind() routine can be used
-** to look up the actual token value that created some element in
-** the parse tree.
- */
-type TRenameToken1 = struct {
- Fp uintptr
- Ft TToken
- FpNext uintptr
-}
-
-type RenameToken1 = TRenameToken1
-
// C documentation
//
// /*
@@ -90611,16 +85256,6 @@ type TRenameCtx = struct {
type RenameCtx = TRenameCtx
-type TRenameCtx1 = struct {
- FpList uintptr
- FnList int32
- FiCol int32
- FpTab uintptr
- FzOld uintptr
-}
-
-type RenameCtx1 = TRenameCtx1
-
// C documentation
//
// /*
@@ -90923,9 +85558,9 @@ func _renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr)
pToken = *(*uintptr)(unsafe.Pointer(pp))
if pCtx != 0 {
*(*uintptr)(unsafe.Pointer(pp)) = (*TRenameToken)(unsafe.Pointer(pToken)).FpNext
- (*TRenameToken)(unsafe.Pointer(pToken)).FpNext = (*TRenameCtx1)(unsafe.Pointer(pCtx)).FpList
- (*TRenameCtx1)(unsafe.Pointer(pCtx)).FpList = pToken
- (*TRenameCtx1)(unsafe.Pointer(pCtx)).FnList++
+ (*TRenameToken)(unsafe.Pointer(pToken)).FpNext = (*TRenameCtx)(unsafe.Pointer(pCtx)).FpList
+ (*TRenameCtx)(unsafe.Pointer(pCtx)).FpList = pToken
+ (*TRenameCtx)(unsafe.Pointer(pCtx)).FnList++
}
return pToken
}
@@ -91119,7 +85754,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin
return int32(SQLITE_NOMEM)
}
if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11470, int32(7)) != 0 {
- return _sqlite3CorruptError(tls, int32(118888))
+ return _sqlite3CorruptError(tls, int32(118915))
}
if bTemp != 0 {
(*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(1)
@@ -91138,7 +85773,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin
rc = int32(SQLITE_NOMEM)
}
if rc == SQLITE_OK && ((*TParse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
- rc = _sqlite3CorruptError(tls, int32(118909))
+ rc = _sqlite3CorruptError(tls, int32(118936))
}
(*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(0)
return rc
@@ -92202,7 +86837,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr
pTab = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable
if pTab == uintptr(0) || int32((*TTable)(unsafe.Pointer(pTab)).FnCol) == int32(1) || iCol >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) {
/* This can happen if the sqlite_schema table is corrupt */
- rc = _sqlite3CorruptError(tls, int32(119877))
+ rc = _sqlite3CorruptError(tls, int32(119904))
goto drop_column_done
}
pCol = _renameTokenFind(tls, bp, uintptr(0), (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName)
@@ -92756,44 +87391,6 @@ type TStatSample = struct {
type StatSample = TStatSample
-type TStatSample1 = struct {
- FanDLt uintptr
- FanEq uintptr
- FanLt uintptr
- Fu struct {
- FaRowid [0]uintptr
- FiRowid Ti64
- }
- FnRowid Tu32
- FisPSample Tu8
- FiCol int32
- FiHash Tu32
-}
-
-type StatSample1 = TStatSample1
-
-type TStatAccum1 = struct {
- Fdb uintptr
- FnEst TtRowcnt
- FnRow TtRowcnt
- FnLimit int32
- FnCol int32
- FnKeyCol int32
- FnSkipAhead Tu8
- Fcurrent TStatSample
- FnPSample TtRowcnt
- FmxSample int32
- FiPrn Tu32
- FaBest uintptr
- FiMin int32
- FnSample int32
- FnMaxEqZero int32
- FiGet int32
- Fa uintptr
-}
-
-type StatAccum1 = TStatAccum1
-
// C documentation
//
// /* Reclaim memory used by a StatSample
@@ -94084,13 +88681,6 @@ type TanalysisInfo = struct {
type analysisInfo = TanalysisInfo
-type TanalysisInfo1 = struct {
- Fdb uintptr
- FzDatabase uintptr
-}
-
-type analysisInfo1 = TanalysisInfo1
-
// C documentation
//
// /*
@@ -95289,6 +89879,8 @@ func _sqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) (r int32
return 0
}
+type t__ccgo_fp__Xsqlite3_set_authorizer_1 = func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32
+
/************** End of attach.c **********************************************/
/************** Begin file auth.c ********************************************/
/*
@@ -95361,9 +89953,9 @@ func _sqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) (r int32
// ** Setting the auth function to NULL disables this hook. The default
// ** setting of the auth function is NULL.
// */
-func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uintptr) (r int32) {
+func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, __ccgo_fp_xAuth uintptr, pArg uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = xAuth
+ (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = __ccgo_fp_xAuth
(*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg = pArg
if (*Tsqlite3)(unsafe.Pointer(db)).FxAuth != 0 {
_sqlite3ExpirePreparedStatements(tls, db, int32(1))
@@ -95543,47 +90135,6 @@ func _sqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) {
}
}
-/************** End of auth.c ************************************************/
-/************** Begin file build.c *******************************************/
-/*
-** 2001 September 15
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains C code routines that are called by the SQLite parser
-** when syntax rules are reduced. The routines in this file handle the
-** following kinds of SQL syntax:
-**
-** CREATE TABLE
-** DROP TABLE
-** CREATE INDEX
-** DROP INDEX
-** creating ID lists
-** BEGIN TRANSACTION
-** COMMIT
-** ROLLBACK
- */
-/* #include "sqliteInt.h" */
-
-/*
-** The TableLock structure is only used by the sqlite3TableLock() and
-** codeTableLocks() functions.
- */
-type TTableLock1 = struct {
- FiDb int32
- FiTab TPgno
- FisWriteLock Tu8
- FzLockName uintptr
-}
-
-type TableLock1 = TTableLock1
-
// C documentation
//
// /*
@@ -96211,9 +90762,9 @@ func _sqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) {
break
}
pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32
- if (*TDb1)(unsafe.Pointer(pDb)).FpBt == uintptr(0) {
- _sqlite3DbFree(tls, db, (*TDb1)(unsafe.Pointer(pDb)).FzDbSName)
- (*TDb1)(unsafe.Pointer(pDb)).FzDbSName = uintptr(0)
+ if (*TDb)(unsafe.Pointer(pDb)).FpBt == uintptr(0) {
+ _sqlite3DbFree(tls, db, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)
+ (*TDb)(unsafe.Pointer(pDb)).FzDbSName = uintptr(0)
goto _1
}
if j < i {
@@ -100459,7 +95010,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u
(*TIndex)(unsafe.Pointer(pIndex)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum
if _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 {
_sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14727, 0)
- (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(127355))
+ (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(127382))
goto exit_create_index
}
}
@@ -105898,17 +100449,6 @@ type TSumCtx = struct {
type SumCtx = TSumCtx
-type TSumCtx1 = struct {
- FrSum float64
- FrErr float64
- FiSum Ti64
- Fcnt Ti64
- Fapprox Tu8
- Fovrfl Tu8
-}
-
-type SumCtx1 = TSumCtx1
-
// C documentation
//
// /*
@@ -106122,12 +100662,6 @@ type TCountCtx = struct {
type CountCtx = TCountCtx
-type TCountCtx1 = struct {
- Fn Ti64
-}
-
-type CountCtx1 = TCountCtx1
-
// C documentation
//
// /*
@@ -109409,7 +103943,7 @@ func _exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int3
_ = p1
if libc.Int32FromUint8((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) && int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 {
p1 = pWalker + 36
- *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromUint16((*(*TColumn)(unsafe.Pointer((*TTable1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FaCol + uintptr((*TExpr)(unsafe.Pointer(pExpr)).FiColumn)*16))).FcolFlags))
+ *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromUint16((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FaCol + uintptr((*TExpr)(unsafe.Pointer(pExpr)).FiColumn)*16))).FcolFlags))
}
return WRC_Continue
}
@@ -110903,33 +105437,6 @@ type TIndexIterator = struct {
type IndexIterator = TIndexIterator
-type TIndexIterator1 = struct {
- FeType int32
- Fi int32
- Fu struct {
- Fax [0]struct {
- FnIdx int32
- FaIdx uintptr
- }
- Flx struct {
- FpIdx uintptr
- }
- F__ccgo_pad2 [8]byte
- }
-}
-
-type IndexIterator1 = TIndexIterator1
-
-/* When IndexIterator.eType==1, then each index is an array of instances
-** of the following object
- */
-type TIndexListTerm1 = struct {
- Fp uintptr
- Fix int32
-}
-
-type IndexListTerm1 = TIndexListTerm1
-
// C documentation
//
// /* Return the first index on the list */
@@ -112483,6 +106990,8 @@ func _xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uin
return r
}
+type t__ccgo_fp__Xsqlite3_exec_2 = func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
+
/************** End of insert.c **********************************************/
/************** Begin file legacy.c ******************************************/
/*
@@ -112516,7 +107025,7 @@ func _xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uin
// ** argument to xCallback(). If xCallback=NULL then no callback
// ** is invoked, even for queries.
// */
-func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_callback, pArg uintptr, pzErrMsg uintptr) (r int32) {
+func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, __ccgo_fp_xCallback Tsqlite3_callback, pArg uintptr, pzErrMsg uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var azCols, azVals uintptr
@@ -112528,7 +107037,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_c
*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* The current SQL statement */
azCols = uintptr(0) /* True if callback data is initialized */
if !(_sqlite3SafetyCheckOk(tls, db) != 0) {
- return _sqlite3MisuseError(tls, int32(138224))
+ return _sqlite3MisuseError(tls, int32(138251))
}
if zSql == uintptr(0) {
zSql = __ccgo_ts + 1665
@@ -112552,7 +107061,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_c
for int32(1) != 0 {
rc = Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
/* Invoke the callback function if required */
- if xCallback != 0 && (int32(SQLITE_ROW) == rc || int32(SQLITE_DONE) == rc && !(callbackIsInit != 0) && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NullCallback) != 0) {
+ if __ccgo_fp_xCallback != 0 && (int32(SQLITE_ROW) == rc || int32(SQLITE_DONE) == rc && !(callbackIsInit != 0) && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NullCallback) != 0) {
if !(callbackIsInit != 0) {
nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
azCols = _sqlite3DbMallocRaw(tls, db, uint64(libc.Uint64FromInt32(libc.Int32FromInt32(2)*nCol+libc.Int32FromInt32(1))*uint64(8)))
@@ -112593,7 +107102,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_c
}
*(*uintptr)(unsafe.Pointer(azVals + uintptr(i)*8)) = uintptr(0)
}
- if (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xCallback})))(tls, pArg, nCol, azVals, azCols) != 0 {
+ if (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xCallback})))(tls, pArg, nCol, azVals, azCols) != 0 {
/* EVIDENCE-OF: R-38229-40159 If the callback function to
** sqlite3_exec() returns non-zero, then sqlite3_exec() will
** return SQLITE_ABORT. */
@@ -112640,330 +107149,6 @@ exec_out:
return rc
}
-/************** End of legacy.c **********************************************/
-/************** Begin file loadext.c *****************************************/
-/*
-** 2006 June 7
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains code used to dynamically load extensions into
-** the SQLite library.
- */
-
-/************** Include sqlite3ext.h in the middle of loadext.c **************/
-/************** Begin file sqlite3ext.h **************************************/
-/*
-** 2006 June 7
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This header file defines the SQLite interface for use by
-** shared libraries that want to be imported as extensions into
-** an SQLite instance. Shared libraries that intend to be loaded
-** as extensions by SQLite should #include this file instead of
-** sqlite3.h.
- */
-/* #include "sqlite3.h" */
-
-/*
-** The following structure holds pointers to all of the SQLite API
-** routines.
-**
-** WARNING: In order to maintain backwards compatibility, add new
-** interfaces to the end of this structure only. If you insert new
-** interfaces in the middle of this structure, then older different
-** versions of SQLite will not be able to load each other's shared
-** libraries!
- */
-type Tsqlite3_api_routines1 = struct {
- Faggregate_context uintptr
- Faggregate_count uintptr
- Fbind_blob uintptr
- Fbind_double uintptr
- Fbind_int uintptr
- Fbind_int64 uintptr
- Fbind_null uintptr
- Fbind_parameter_count uintptr
- Fbind_parameter_index uintptr
- Fbind_parameter_name uintptr
- Fbind_text uintptr
- Fbind_text16 uintptr
- Fbind_value uintptr
- Fbusy_handler uintptr
- Fbusy_timeout uintptr
- Fchanges uintptr
- Fclose1 uintptr
- Fcollation_needed uintptr
- Fcollation_needed16 uintptr
- Fcolumn_blob uintptr
- Fcolumn_bytes uintptr
- Fcolumn_bytes16 uintptr
- Fcolumn_count uintptr
- Fcolumn_database_name uintptr
- Fcolumn_database_name16 uintptr
- Fcolumn_decltype uintptr
- Fcolumn_decltype16 uintptr
- Fcolumn_double uintptr
- Fcolumn_int uintptr
- Fcolumn_int64 uintptr
- Fcolumn_name uintptr
- Fcolumn_name16 uintptr
- Fcolumn_origin_name uintptr
- Fcolumn_origin_name16 uintptr
- Fcolumn_table_name uintptr
- Fcolumn_table_name16 uintptr
- Fcolumn_text uintptr
- Fcolumn_text16 uintptr
- Fcolumn_type uintptr
- Fcolumn_value uintptr
- Fcommit_hook uintptr
- Fcomplete uintptr
- Fcomplete16 uintptr
- Fcreate_collation uintptr
- Fcreate_collation16 uintptr
- Fcreate_function uintptr
- Fcreate_function16 uintptr
- Fcreate_module uintptr
- Fdata_count uintptr
- Fdb_handle uintptr
- Fdeclare_vtab uintptr
- Fenable_shared_cache uintptr
- Ferrcode uintptr
- Ferrmsg uintptr
- Ferrmsg16 uintptr
- Fexec uintptr
- Fexpired uintptr
- Ffinalize uintptr
- Ffree uintptr
- Ffree_table uintptr
- Fget_autocommit uintptr
- Fget_auxdata uintptr
- Fget_table uintptr
- Fglobal_recover uintptr
- Finterruptx uintptr
- Flast_insert_rowid uintptr
- Flibversion uintptr
- Flibversion_number uintptr
- Fmalloc uintptr
- Fmprintf uintptr
- Fopen uintptr
- Fopen16 uintptr
- Fprepare uintptr
- Fprepare16 uintptr
- Fprofile uintptr
- Fprogress_handler uintptr
- Frealloc uintptr
- Freset uintptr
- Fresult_blob uintptr
- Fresult_double uintptr
- Fresult_error uintptr
- Fresult_error16 uintptr
- Fresult_int uintptr
- Fresult_int64 uintptr
- Fresult_null uintptr
- Fresult_text uintptr
- Fresult_text16 uintptr
- Fresult_text16be uintptr
- Fresult_text16le uintptr
- Fresult_value uintptr
- Frollback_hook uintptr
- Fset_authorizer uintptr
- Fset_auxdata uintptr
- Fxsnprintf uintptr
- Fstep uintptr
- Ftable_column_metadata uintptr
- Fthread_cleanup uintptr
- Ftotal_changes uintptr
- Ftrace uintptr
- Ftransfer_bindings uintptr
- Fupdate_hook uintptr
- Fuser_data uintptr
- Fvalue_blob uintptr
- Fvalue_bytes uintptr
- Fvalue_bytes16 uintptr
- Fvalue_double uintptr
- Fvalue_int uintptr
- Fvalue_int64 uintptr
- Fvalue_numeric_type uintptr
- Fvalue_text uintptr
- Fvalue_text16 uintptr
- Fvalue_text16be uintptr
- Fvalue_text16le uintptr
- Fvalue_type uintptr
- Fvmprintf uintptr
- Foverload_function uintptr
- Fprepare_v2 uintptr
- Fprepare16_v2 uintptr
- Fclear_bindings uintptr
- Fcreate_module_v2 uintptr
- Fbind_zeroblob uintptr
- Fblob_bytes uintptr
- Fblob_close uintptr
- Fblob_open uintptr
- Fblob_read uintptr
- Fblob_write uintptr
- Fcreate_collation_v2 uintptr
- Ffile_control uintptr
- Fmemory_highwater uintptr
- Fmemory_used uintptr
- Fmutex_alloc uintptr
- Fmutex_enter uintptr
- Fmutex_free uintptr
- Fmutex_leave uintptr
- Fmutex_try uintptr
- Fopen_v2 uintptr
- Frelease_memory uintptr
- Fresult_error_nomem uintptr
- Fresult_error_toobig uintptr
- Fsleep uintptr
- Fsoft_heap_limit uintptr
- Fvfs_find uintptr
- Fvfs_register uintptr
- Fvfs_unregister uintptr
- Fxthreadsafe uintptr
- Fresult_zeroblob uintptr
- Fresult_error_code uintptr
- Ftest_control uintptr
- Frandomness uintptr
- Fcontext_db_handle uintptr
- Fextended_result_codes uintptr
- Flimit uintptr
- Fnext_stmt uintptr
- Fsql uintptr
- Fstatus uintptr
- Fbackup_finish uintptr
- Fbackup_init uintptr
- Fbackup_pagecount uintptr
- Fbackup_remaining uintptr
- Fbackup_step uintptr
- Fcompileoption_get uintptr
- Fcompileoption_used uintptr
- Fcreate_function_v2 uintptr
- Fdb_config uintptr
- Fdb_mutex uintptr
- Fdb_status uintptr
- Fextended_errcode uintptr
- Flog uintptr
- Fsoft_heap_limit64 uintptr
- Fsourceid uintptr
- Fstmt_status uintptr
- Fstrnicmp uintptr
- Funlock_notify uintptr
- Fwal_autocheckpoint uintptr
- Fwal_checkpoint uintptr
- Fwal_hook uintptr
- Fblob_reopen uintptr
- Fvtab_config uintptr
- Fvtab_on_conflict uintptr
- Fclose_v2 uintptr
- Fdb_filename uintptr
- Fdb_readonly uintptr
- Fdb_release_memory uintptr
- Ferrstr uintptr
- Fstmt_busy uintptr
- Fstmt_readonly uintptr
- Fstricmp uintptr
- Furi_boolean uintptr
- Furi_int64 uintptr
- Furi_parameter uintptr
- Fxvsnprintf uintptr
- Fwal_checkpoint_v2 uintptr
- Fauto_extension uintptr
- Fbind_blob64 uintptr
- Fbind_text64 uintptr
- Fcancel_auto_extension uintptr
- Fload_extension uintptr
- Fmalloc64 uintptr
- Fmsize uintptr
- Frealloc64 uintptr
- Freset_auto_extension uintptr
- Fresult_blob64 uintptr
- Fresult_text64 uintptr
- Fstrglob uintptr
- Fvalue_dup uintptr
- Fvalue_free uintptr
- Fresult_zeroblob64 uintptr
- Fbind_zeroblob64 uintptr
- Fvalue_subtype uintptr
- Fresult_subtype uintptr
- Fstatus64 uintptr
- Fstrlike uintptr
- Fdb_cacheflush uintptr
- Fsystem_errno uintptr
- Ftrace_v2 uintptr
- Fexpanded_sql uintptr
- Fset_last_insert_rowid uintptr
- Fprepare_v3 uintptr
- Fprepare16_v3 uintptr
- Fbind_pointer uintptr
- Fresult_pointer uintptr
- Fvalue_pointer uintptr
- Fvtab_nochange uintptr
- Fvalue_nochange uintptr
- Fvtab_collation uintptr
- Fkeyword_count uintptr
- Fkeyword_name uintptr
- Fkeyword_check uintptr
- Fstr_new uintptr
- Fstr_finish uintptr
- Fstr_appendf uintptr
- Fstr_vappendf uintptr
- Fstr_append uintptr
- Fstr_appendall uintptr
- Fstr_appendchar uintptr
- Fstr_reset uintptr
- Fstr_errcode uintptr
- Fstr_length uintptr
- Fstr_value uintptr
- Fcreate_window_function uintptr
- Fnormalized_sql uintptr
- Fstmt_isexplain uintptr
- Fvalue_frombind uintptr
- Fdrop_modules uintptr
- Fhard_heap_limit64 uintptr
- Furi_key uintptr
- Ffilename_database uintptr
- Ffilename_journal uintptr
- Ffilename_wal uintptr
- Fcreate_filename uintptr
- Ffree_filename uintptr
- Fdatabase_file_object uintptr
- Ftxn_state uintptr
- Fchanges64 uintptr
- Ftotal_changes64 uintptr
- Fautovacuum_pages uintptr
- Ferror_offset uintptr
- Fvtab_rhs_value uintptr
- Fvtab_distinct uintptr
- Fvtab_in uintptr
- Fvtab_in_first uintptr
- Fvtab_in_next uintptr
- Fdeserialize uintptr
- Fserialize uintptr
- Fdb_name uintptr
- Fvalue_encoding uintptr
- Fis_interrupted uintptr
- Fstmt_explain uintptr
- Fget_clientdata uintptr
- Fset_clientdata uintptr
- Fsetlk_timeout uintptr
-}
-
-type sqlite3_api_routines1 = Tsqlite3_api_routines1
-
// C documentation
//
// /*
@@ -113568,14 +107753,9 @@ type Tsqlite3AutoExtList = struct {
type sqlite3AutoExtList = Tsqlite3AutoExtList
-type Tsqlite3AutoExtList1 = struct {
- FnExt Tu32
- FaExt uintptr
-}
-
-type sqlite3AutoExtList1 = Tsqlite3AutoExtList1
+var _sqlite3Autoext = Tsqlite3AutoExtList{}
-var _sqlite3Autoext = Tsqlite3AutoExtList1{}
+type t__ccgo_fp__Xsqlite3_auto_extension_0 = func(*libc.TLS)
/* The "wsdAutoext" macro will resolve to the autoextension
** state vector. If writable static data is unsupported on the target,
@@ -113590,7 +107770,7 @@ var _sqlite3Autoext = Tsqlite3AutoExtList1{}
// ** Register a statically linked extension that is automatically
// ** loaded by every new database connection.
// */
-func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
+func Xsqlite3_auto_extension(tls *libc.TLS, __ccgo_fp_xInit uintptr) (r int32) {
var aNew, mutex uintptr
var i Tu32
var nByte Tu64
@@ -113608,7 +107788,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
if !(i < _sqlite3Autoext.FnExt) {
break
}
- if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) == xInit {
+ if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) == __ccgo_fp_xInit {
break
}
goto _1
@@ -113623,7 +107803,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
rc = int32(SQLITE_NOMEM)
} else {
_sqlite3Autoext.FaExt = aNew
- *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(_sqlite3Autoext.FnExt)*8)) = xInit
+ *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(_sqlite3Autoext.FnExt)*8)) = __ccgo_fp_xInit
_sqlite3Autoext.FnExt++
}
}
@@ -113633,6 +107813,8 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
return r
}
+type t__ccgo_fp__Xsqlite3_cancel_auto_extension_0 = func(*libc.TLS)
+
// C documentation
//
// /*
@@ -113644,7 +107826,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
// ** Return 1 if xInit was found on the list and removed. Return 0 if xInit
// ** was not on the list.
// */
-func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
+func Xsqlite3_cancel_auto_extension(tls *libc.TLS, __ccgo_fp_xInit uintptr) (r int32) {
var i, n int32
var mutex uintptr
_, _, _ = i, mutex, n
@@ -113656,7 +107838,7 @@ func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
if !(i >= 0) {
break
}
- if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) == xInit {
+ if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) == __ccgo_fp_xInit {
_sqlite3Autoext.FnExt--
*(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(_sqlite3Autoext.FnExt)*8))
n++
@@ -117383,25 +111565,6 @@ type TPragmaVtabCursor = struct {
type PragmaVtabCursor = TPragmaVtabCursor
-type TPragmaVtab1 = struct {
- Fbase Tsqlite3_vtab
- Fdb uintptr
- FpName uintptr
- FnHidden Tu8
- FiHidden Tu8
-}
-
-type PragmaVtab1 = TPragmaVtab1
-
-type TPragmaVtabCursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FpPragma uintptr
- FiRowid Tsqlite_int64
- FazArg [2]uintptr
-}
-
-type PragmaVtabCursor1 = TPragmaVtabCursor1
-
// C documentation
//
// /*
@@ -117803,7 +111966,7 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
(*TInitData)(unsafe.Pointer(pData)).Frc = int32(SQLITE_ERROR)
} else {
if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
- (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143765))
+ (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143792))
} else {
if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 {
v1 = *(*uintptr)(unsafe.Pointer(azObj + 1*8))
@@ -117816,7 +111979,7 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
z = _sqlite3MPrintf(tls, db, __ccgo_ts+18988, libc.VaList(bp+8, z, zExtra))
}
*(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
- (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143772))
+ (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143799))
}
}
}
@@ -118410,7 +112573,7 @@ func _sqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) {
// **
// ** pObj = sqlite3ParserAddCleanup(pParse, destructor, pObj);
// */
-func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) (r uintptr) {
+func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, __ccgo_fp_xCleanup uintptr, pPtr uintptr) (r uintptr) {
var pCleanup uintptr
_ = pCleanup
if _sqlite3FaultSim(tls, int32(300)) != 0 {
@@ -118423,9 +112586,9 @@ func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p
(*TParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*TParse)(unsafe.Pointer(pParse)).FpCleanup
(*TParse)(unsafe.Pointer(pParse)).FpCleanup = pCleanup
(*TParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr = pPtr
- (*TParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup = xCleanup
+ (*TParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup = __ccgo_fp_xCleanup
} else {
- (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{xCleanup})))(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pPtr)
+ (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xCleanup})))(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pPtr)
pPtr = uintptr(0)
}
return pPtr
@@ -118612,7 +112775,7 @@ func _sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int3
cnt = 0
*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
- return _sqlite3MisuseError(tls, int32(144572))
+ return _sqlite3MisuseError(tls, int32(144599))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
_sqlite3BtreeEnterAll(tls, db)
@@ -118746,7 +112909,7 @@ func _sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pr
rc = SQLITE_OK
*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
- return _sqlite3MisuseError(tls, int32(144721))
+ return _sqlite3MisuseError(tls, int32(144748))
}
/* Make sure nBytes is non-negative and correct. It should be the
** number of bytes until the end of the input buffer or until the first
@@ -118868,15 +113031,6 @@ type TDistinctCtx = struct {
type DistinctCtx = TDistinctCtx
-type TDistinctCtx1 = struct {
- FisTnct Tu8
- FeTnctType Tu8
- FtabTnct int32
- FaddrTnct int32
-}
-
-type DistinctCtx1 = TDistinctCtx1
-
// C documentation
//
// /*
@@ -118912,21 +113066,6 @@ type TSortCtx = struct {
type SortCtx = TSortCtx
-type TSortCtx1 = struct {
- FpOrderBy uintptr
- FnOBSat int32
- FiECursor int32
- FregReturn int32
- FlabelBkOut int32
- FaddrSortIndex int32
- FlabelDone int32
- FlabelOBLopt int32
- FsortFlags Tu8
- FpDeferredRowLoad uintptr
-}
-
-type SortCtx1 = TSortCtx1
-
// C documentation
//
// /*
@@ -119613,13 +113752,6 @@ type TRowLoadInfo = struct {
type RowLoadInfo = TRowLoadInfo
-type TRowLoadInfo1 = struct {
- FregResult int32
- FecelFlags Tu8
-}
-
-type RowLoadInfo1 = TRowLoadInfo1
-
// C documentation
//
// /*
@@ -123594,18 +117726,6 @@ type TWhereConst = struct {
type WhereConst = TWhereConst
-type TWhereConst1 = struct {
- FpParse uintptr
- FpOomFault uintptr
- FnConst int32
- FnChng int32
- FbHasAffBlob int32
- FmExcludeOn Tu32
- FapExpr uintptr
-}
-
-type WhereConst1 = TWhereConst1
-
// C documentation
//
// /*
@@ -127198,6 +121318,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r
*(*int32)(unsafe.Pointer(pParse + 64)) += (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr
_sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, iAbortFlag)
_sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, iAMem, iAMem+(*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr-int32(1))
+ _sqlite3ExprNullRegisterRange(tls, pParse, iAMem, (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr)
/* Begin a loop that will extract all source rows in GROUP BY order.
** This might involve two separate loops with an OP_Sort in between, or
** it might be a single loop that uses an index to extract information
@@ -131502,39 +125623,6 @@ var _aCopy = [10]uint8{
8: uint8(BTREE_APPLICATION_ID),
}
-/************** End of vacuum.c **********************************************/
-/************** Begin file vtab.c ********************************************/
-/*
-** 2006 June 10
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains code used to help implement virtual tables.
- */
-/* #include "sqliteInt.h" */
-
-/*
-** Before a virtual table xCreate() or xConnect() method is invoked, the
-** sqlite3.pVtabCtx member variable is set to point to an instance of
-** this struct allocated on the stack. It is used by the implementation of
-** the sqlite3_declare_vtab() and sqlite3_vtab_config() APIs, both of which
-** are invoked only from within xCreate and xConnect methods.
- */
-type TVtabCtx1 = struct {
- FpVTable uintptr
- FpTab uintptr
- FpPrior uintptr
- FbDeclared int32
-}
-
-type VtabCtx1 = TVtabCtx1
-
// C documentation
//
// /*
@@ -131545,7 +125633,7 @@ type VtabCtx1 = TVtabCtx1
// ** If there already exists a module with zName, replace it with the new one.
// ** If pModule==0, then delete the module zName if it exists.
// */
-func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) (r uintptr) {
+func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, __ccgo_fp_xDestroy uintptr) (r uintptr) {
var nName int32
var pDel, pMod, zCopy uintptr
_, _, _, _ = nName, pDel, pMod, zCopy
@@ -131564,7 +125652,7 @@ func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule
(*TModule)(unsafe.Pointer(pMod)).FzName = zCopy
(*TModule)(unsafe.Pointer(pMod)).FpModule = pModule
(*TModule)(unsafe.Pointer(pMod)).FpAux = pAux
- (*TModule)(unsafe.Pointer(pMod)).FxDestroy = xDestroy
+ (*TModule)(unsafe.Pointer(pMod)).FxDestroy = __ccgo_fp_xDestroy
(*TModule)(unsafe.Pointer(pMod)).FpEpoTab = uintptr(0)
(*TModule)(unsafe.Pointer(pMod)).FnRefModule = int32(1)
}
@@ -131589,15 +125677,15 @@ func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule
// ** This function implements the sqlite3_create_module() and
// ** sqlite3_create_module_v2() interfaces.
// */
-func _createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) (r int32) {
+func _createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
var rc int32
_ = rc
rc = SQLITE_OK
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- _sqlite3VtabCreateModule(tls, db, zName, pModule, pAux, xDestroy)
+ _sqlite3VtabCreateModule(tls, db, zName, pModule, pAux, __ccgo_fp_xDestroy)
rc = _sqlite3ApiExit(tls, db, rc)
- if rc != SQLITE_OK && xDestroy != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestroy})))(tls, pAux)
+ if rc != SQLITE_OK && __ccgo_fp_xDestroy != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestroy})))(tls, pAux)
}
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return rc
@@ -131612,13 +125700,15 @@ func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule ui
return _createModule(tls, db, zName, pModule, pAux, uintptr(0))
}
+type t__ccgo_fp__Xsqlite3_create_module_v2_4 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** External API function used to create a new virtual-table module.
// */
-func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) (r int32) {
- return _createModule(tls, db, zName, pModule, pAux, xDestroy)
+func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
+ return _createModule(tls, db, zName, pModule, pAux, __ccgo_fp_xDestroy)
}
// C documentation
@@ -132140,7 +126230,7 @@ func _sqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) {
// ** pointer to the function to invoke is passed as the fourth parameter
// ** to this procedure.
// */
-func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, xConstruct uintptr, pzErr uintptr) (r int32) {
+func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, __ccgo_fp_xConstruct uintptr, pzErr uintptr) (r int32) {
bp := tls.Alloc(64)
defer tls.Free(64)
var azArg, pCtx, pVTable, zFormat, zModuleName, zType, p6 uintptr
@@ -132201,7 +126291,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
(*(*TVtabCtx)(unsafe.Pointer(bp))).FbDeclared = 0
(*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp
(*TTable)(unsafe.Pointer(pTab)).FnTabRef++
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConstruct})))(tls, db, (*TModule)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+32)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConstruct})))(tls, db, (*TModule)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+32)
_sqlite3DeleteTable(tls, db, pTab)
(*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*(*TVtabCtx)(unsafe.Pointer(bp))).FpPrior
if rc == int32(SQLITE_NOMEM) {
@@ -132485,9 +126575,9 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pCtx = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx
if !(pCtx != 0) || (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
- _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(158372)))
+ _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(158400)))
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- return _sqlite3MisuseError(tls, int32(158374))
+ return _sqlite3MisuseError(tls, int32(158402))
}
pTab = (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab
_sqlite3ParseObjectInit(tls, bp, db)
@@ -133069,7 +127159,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
p = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx
if !(p != 0) {
- rc = _sqlite3MisuseError(tls, int32(158869))
+ rc = _sqlite3MisuseError(tls, int32(158897))
} else {
ap = va
switch op {
@@ -133082,7 +127172,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in
case int32(SQLITE_VTAB_USES_ALL_SCHEMAS):
(*TVTable)(unsafe.Pointer((*TVtabCtx)(unsafe.Pointer(p)).FpVTable)).FbAllSchemas = uint8(1)
default:
- rc = _sqlite3MisuseError(tls, int32(158891))
+ rc = _sqlite3MisuseError(tls, int32(158919))
break
}
_ = ap
@@ -133342,435 +127432,6 @@ type TWhereRightJoin = struct {
type WhereRightJoin = TWhereRightJoin
-/*
-** This object is a header on a block of allocated memory that will be
-** automatically freed when its WInfo object is destructed.
- */
-type TWhereMemBlock1 = struct {
- FpNext uintptr
- Fsz Tu64
-}
-
-type WhereMemBlock1 = TWhereMemBlock1
-
-/*
-** Extra information attached to a WhereLevel that is a RIGHT JOIN.
- */
-type TWhereRightJoin1 = struct {
- FiMatch int32
- FregBloom int32
- FregReturn int32
- FaddrSubrtn int32
- FendSubrtn int32
-}
-
-type WhereRightJoin1 = TWhereRightJoin1
-
-/*
-** This object contains information needed to implement a single nested
-** loop in WHERE clause.
-**
-** Contrast this object with WhereLoop. This object describes the
-** implementation of the loop. WhereLoop describes the algorithm.
-** This object contains a pointer to the WhereLoop algorithm as one of
-** its elements.
-**
-** The WhereInfo object contains a single instance of this object for
-** each term in the FROM clause (which is to say, for each of the
-** nested loops as implemented). The order of WhereLevel objects determines
-** the loop nested order, with WhereInfo.a[0] being the outer loop and
-** WhereInfo.a[WhereInfo.nLevel-1] being the inner loop.
- */
-type TWhereLevel1 = struct {
- FiLeftJoin int32
- FiTabCur int32
- FiIdxCur int32
- FaddrBrk int32
- FaddrNxt int32
- FaddrSkip int32
- FaddrCont int32
- FaddrFirst int32
- FaddrBody int32
- FregBignull int32
- FaddrBignull int32
- FregFilter int32
- FpRJ uintptr
- FiFrom Tu8
- Fop Tu8
- Fp3 Tu8
- Fp5 Tu8
- Fp1 int32
- Fp2 int32
- Fu struct {
- FpCoveringIdx [0]uintptr
- Fin struct {
- FnIn int32
- FaInLoop uintptr
- }
- }
- FpWLoop uintptr
- FnotReady TBitmask
-}
-
-type WhereLevel1 = TWhereLevel1
-
-/*
-** Each instance of this object represents an algorithm for evaluating one
-** term of a join. Every term of the FROM clause will have at least
-** one corresponding WhereLoop object (unless INDEXED BY constraints
-** prevent a query solution - which is an error) and many terms of the
-** FROM clause will have multiple WhereLoop objects, each describing a
-** potential way of implementing that FROM-clause term, together with
-** dependencies and cost estimates for using the chosen algorithm.
-**
-** Query planning consists of building up a collection of these WhereLoop
-** objects, then computing a particular sequence of WhereLoop objects, with
-** one WhereLoop object per FROM clause term, that satisfy all dependencies
-** and that minimize the overall cost.
- */
-type TWhereLoop1 = struct {
- Fprereq TBitmask
- FmaskSelf TBitmask
- FiTab Tu8
- FiSortIdx Tu8
- FrSetup TLogEst
- FrRun TLogEst
- FnOut TLogEst
- Fu struct {
- Fvtab [0]struct {
- FidxNum int32
- F__ccgo4 uint8
- FisOrdered Ti8
- FomitMask Tu16
- FidxStr uintptr
- FmHandleIn Tu32
- }
- Fbtree struct {
- FnEq Tu16
- FnBtm Tu16
- FnTop Tu16
- FnDistinctCol Tu16
- FpIndex uintptr
- FpOrderBy uintptr
- }
- }
- FwsFlags Tu32
- FnLTerm Tu16
- FnSkip Tu16
- FnLSlot Tu16
- FaLTerm uintptr
- FpNextLoop uintptr
- FaLTermSpace [3]uintptr
-}
-
-type WhereLoop1 = TWhereLoop1
-
-/* This object holds the prerequisites and the cost of running a
-** subquery on one operand of an OR operator in the WHERE clause.
-** See WhereOrSet for additional information
- */
-type TWhereOrCost1 = struct {
- Fprereq TBitmask
- FrRun TLogEst
- FnOut TLogEst
-}
-
-type WhereOrCost1 = TWhereOrCost1
-
-/* The WhereOrSet object holds a set of possible WhereOrCosts that
-** correspond to the subquery(s) of OR-clause processing. Only the
-** best N_OR_COST elements are retained.
- */
-type TWhereOrSet1 = struct {
- Fn Tu16
- Fa [3]TWhereOrCost
-}
-
-type WhereOrSet1 = TWhereOrSet1
-
-/*
-** Each instance of this object holds a sequence of WhereLoop objects
-** that implement some or all of a query plan.
-**
-** Think of each WhereLoop object as a node in a graph with arcs
-** showing dependencies and costs for travelling between nodes. (That is
-** not a completely accurate description because WhereLoop costs are a
-** vector, not a scalar, and because dependencies are many-to-one, not
-** one-to-one as are graph nodes. But it is a useful visualization aid.)
-** Then a WherePath object is a path through the graph that visits some
-** or all of the WhereLoop objects once.
-**
-** The "solver" works by creating the N best WherePath objects of length
-** 1. Then using those as a basis to compute the N best WherePath objects
-** of length 2. And so forth until the length of WherePaths equals the
-** number of nodes in the FROM clause. The best (lowest cost) WherePath
-** at the end is the chosen query plan.
- */
-type TWherePath1 = struct {
- FmaskLoop TBitmask
- FrevLoop TBitmask
- FnRow TLogEst
- FrCost TLogEst
- FrUnsort TLogEst
- FisOrdered Ti8
- FaLoop uintptr
-}
-
-type WherePath1 = TWherePath1
-
-/*
-** The query generator uses an array of instances of this structure to
-** help it analyze the subexpressions of the WHERE clause. Each WHERE
-** clause subexpression is separated from the others by AND operators,
-** usually, or sometimes subexpressions separated by OR.
-**
-** All WhereTerms are collected into a single WhereClause structure.
-** The following identity holds:
-**
-** WhereTerm.pWC->a[WhereTerm.idx] == WhereTerm
-**
-** When a term is of the form:
-**
-** X
-**
-** where X is a column name and is one of certain operators,
-** then WhereTerm.leftCursor and WhereTerm.u.leftColumn record the
-** cursor number and column number for X. WhereTerm.eOperator records
-** the using a bitmask encoding defined by WO_xxx below. The
-** use of a bitmask encoding for the operator allows us to search
-** quickly for terms that match any of several different operators.
-**
-** A WhereTerm might also be two or more subterms connected by OR:
-**
-** (t1.X ) OR (t1.Y ) OR ....
-**
-** In this second case, wtFlag has the TERM_ORINFO bit set and eOperator==WO_OR
-** and the WhereTerm.u.pOrInfo field points to auxiliary information that
-** is collected about the OR clause.
-**
-** If a term in the WHERE clause does not match either of the two previous
-** categories, then eOperator==0. The WhereTerm.pExpr field is still set
-** to the original subexpression content and wtFlags is set up appropriately
-** but no other fields in the WhereTerm object are meaningful.
-**
-** When eOperator!=0, prereqRight and prereqAll record sets of cursor numbers,
-** but they do so indirectly. A single WhereMaskSet structure translates
-** cursor number into bits and the translated bit is stored in the prereq
-** fields. The translation is used in order to maximize the number of
-** bits that will fit in a Bitmask. The VDBE cursor numbers might be
-** spread out over the non-negative integers. For example, the cursor
-** numbers might be 3, 8, 9, 10, 20, 23, 41, and 45. The WhereMaskSet
-** translates these sparse cursor numbers into consecutive integers
-** beginning with 0 in order to make the best possible use of the available
-** bits in the Bitmask. So, in the example above, the cursor numbers
-** would be mapped into integers 0 through 7.
-**
-** The number of terms in a join is limited by the number of bits
-** in prereqRight and prereqAll. The default is 64 bits, hence SQLite
-** is only able to process joins with 64 or fewer tables.
- */
-type TWhereTerm1 = struct {
- FpExpr uintptr
- FpWC uintptr
- FtruthProb TLogEst
- FwtFlags Tu16
- FeOperator Tu16
- FnChild Tu8
- FeMatchOp Tu8
- FiParent int32
- FleftCursor int32
- Fu struct {
- FpOrInfo [0]uintptr
- FpAndInfo [0]uintptr
- Fx struct {
- FleftColumn int32
- FiField int32
- }
- }
- FprereqRight TBitmask
- FprereqAll TBitmask
-}
-
-type WhereTerm1 = TWhereTerm1
-
-/*
-** Allowed values of WhereTerm.wtFlags
- */
-
-/*
-** An instance of the WhereScan object is used as an iterator for locating
-** terms in the WHERE clause that are useful to the query planner.
- */
-type TWhereScan1 = struct {
- FpOrigWC uintptr
- FpWC uintptr
- FzCollName uintptr
- FpIdxExpr uintptr
- Fk int32
- FopMask Tu32
- Fidxaff int8
- FiEquiv uint8
- FnEquiv uint8
- FaiCur [11]int32
- FaiColumn [11]Ti16
-}
-
-type WhereScan1 = TWhereScan1
-
-/*
-** An instance of the following structure holds all information about a
-** WHERE clause. Mostly this is a container for one or more WhereTerms.
-**
-** Explanation of pOuter: For a WHERE clause of the form
-**
-** a AND ((b AND c) OR (d AND e)) AND f
-**
-** There are separate WhereClause objects for the whole clause and for
-** the subclauses "(b AND c)" and "(d AND e)". The pOuter field of the
-** subclauses points to the WhereClause object for the whole clause.
- */
-type TWhereClause1 = struct {
- FpWInfo uintptr
- FpOuter uintptr
- Fop Tu8
- FhasOr Tu8
- FnTerm int32
- FnSlot int32
- FnBase int32
- Fa uintptr
- FaStatic [8]TWhereTerm
-}
-
-type WhereClause1 = TWhereClause1
-
-/*
-** A WhereTerm with eOperator==WO_OR has its u.pOrInfo pointer set to
-** a dynamically allocated instance of the following structure.
- */
-type TWhereOrInfo1 = struct {
- Fwc TWhereClause
- Findexable TBitmask
-}
-
-type WhereOrInfo1 = TWhereOrInfo1
-
-/*
-** A WhereTerm with eOperator==WO_AND has its u.pAndInfo pointer set to
-** a dynamically allocated instance of the following structure.
- */
-type TWhereAndInfo1 = struct {
- Fwc TWhereClause
-}
-
-type WhereAndInfo1 = TWhereAndInfo1
-
-/*
-** An instance of the following structure keeps track of a mapping
-** between VDBE cursor numbers and bits of the bitmasks in WhereTerm.
-**
-** The VDBE cursor numbers are small integers contained in
-** SrcItem.iCursor and Expr.iTable fields. For any given WHERE
-** clause, the cursor numbers might not begin with 0 and they might
-** contain gaps in the numbering sequence. But we want to make maximum
-** use of the bits in our bitmasks. This structure provides a mapping
-** from the sparse cursor numbers into consecutive integers beginning
-** with 0.
-**
-** If WhereMaskSet.ix[A]==B it means that The A-th bit of a Bitmask
-** corresponds VDBE cursor number B. The A-th bit of a bitmask is 1<3, 5->1, 8->2, 29->0,
-** 57->5, 73->4. Or one of 719 other combinations might be used. It
-** does not really matter. What is important is that sparse cursor
-** numbers all get mapped into bit numbers that begin with 0 and contain
-** no gaps.
- */
-type TWhereMaskSet1 = struct {
- FbVarSelect int32
- Fn int32
- Fix [64]int32
-}
-
-type WhereMaskSet1 = TWhereMaskSet1
-
-/*
-** This object is a convenience wrapper holding all information needed
-** to construct WhereLoop objects for a particular query.
- */
-type TWhereLoopBuilder1 = struct {
- FpWInfo uintptr
- FpWC uintptr
- FpNew uintptr
- FpOrSet uintptr
- FpRec uintptr
- FnRecValid int32
- FbldFlags1 uint8
- FbldFlags2 uint8
- FiPlanLimit uint32
-}
-
-type WhereLoopBuilder1 = TWhereLoopBuilder1
-
-/* Allowed values for WhereLoopBuider.bldFlags */
-
-/* The WhereLoopBuilder.iPlanLimit is used to limit the number of
-** index+constraint combinations the query planner will consider for a
-** particular query. If this parameter is unlimited, then certain
-** pathological queries can spend excess time in the sqlite3WhereBegin()
-** routine. The limit is high enough that is should not impact real-world
-** queries.
-**
-** SQLITE_QUERY_PLANNER_LIMIT is the baseline limit. The limit is
-** increased by SQLITE_QUERY_PLANNER_LIMIT_INCR before each term of the FROM
-** clause is processed, so that every table in a join is guaranteed to be
-** able to propose a some index+constraint combinations even if the initial
-** baseline limit was exhausted by prior tables of the join.
- */
-
-/*
-** The WHERE clause processing routine has two halves. The
-** first part does the start of the WHERE loop and the second
-** half does the tail of the WHERE loop. An instance of
-** this structure is returned by the first half and passed
-** into the second half to give some continuity.
-**
-** An instance of this object holds the complete state of the query
-** planner.
- */
-type TWhereInfo1 = struct {
- FpParse uintptr
- FpTabList uintptr
- FpOrderBy uintptr
- FpResultSet uintptr
- FpSelect uintptr
- FaiCurOnePass [2]int32
- FiContinue int32
- FiBreak int32
- FsavedNQueryLoop int32
- FwctrlFlags Tu16
- FiLimit TLogEst
- FnLevel Tu8
- FnOBSat Ti8
- FeOnePass Tu8
- FeDistinct Tu8
- F__ccgo68 uint8
- FnRowOut TLogEst
- FiTop int32
- FiEndWhere int32
- FpLoops uintptr
- FpMemToFree uintptr
- FrevMask TBitmask
- FsWC TWhereClause
- FsMaskSet TWhereMaskSet
-}
-
-type WhereInfo1 = TWhereInfo1
-
/*
** Bitmasks for the operators on WhereTerm objects. These are all
** operators that are of interest to the query planner. An
@@ -134115,10 +127776,10 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
v1 = pParse
}
if libc.Int32FromUint8((*TParse)(unsafe.Pointer(v1)).Fexplain) == int32(2) || libc.Bool(0 != 0) {
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_MULTI_OR) == uint32(0) && libc.Int32FromUint16(wctrlFlags)&int32(WHERE_OR_SUBCLAUSE) == 0 {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_MULTI_OR) == uint32(0) && libc.Int32FromUint16(wctrlFlags)&int32(WHERE_OR_SUBCLAUSE) == 0 {
v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe
addr = _sqlite3VdbeCurrentAddr(tls, v)
- ret = _sqlite3VdbeAddOp3(tls, v, int32(OP_Explain), addr, (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, int32((*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FrRun))
+ ret = _sqlite3VdbeAddOp3(tls, v, int32(OP_Explain), addr, (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, int32((*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FrRun))
_sqlite3WhereAddExplainText(tls, pParse, addr, pTabList, pLevel, wctrlFlags)
}
}
@@ -134741,7 +128402,7 @@ func _codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uint
** not a transitive constraint. For an example of where that does not
** work, see https://sqlite.org/forum/forumpost/eb8613976a (2021-05-04)
*/
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_TRANSCONS) == uint32(0) || libc.Int32FromUint16((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_EQUIV) == 0 {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_TRANSCONS) == uint32(0) || libc.Int32FromUint16((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_EQUIV) == 0 {
_disableTerm(tls, pLevel, pTerm)
}
return iReg
@@ -135091,7 +128752,7 @@ func _filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32
if (*TWhereLevel)(unsafe.Pointer(pLevel)).FregFilter == 0 {
continue
}
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FnSkip != 0 {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FnSkip != 0 {
continue
}
/* ,--- Because sqlite3ConstructBloomFilter() has will not have set
@@ -136637,7 +130298,7 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
break
}
pRight = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiFrom)*80
- mAll |= (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FpWLoop)).FmaskSelf
+ mAll |= (*TWhereLoop)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FpWLoop)).FmaskSelf
if int32(*(*uint32)(unsafe.Pointer(pRight + 24 + 4))&0x40>>6) != 0 {
pSubq = *(*uintptr)(unsafe.Pointer(pRight + 72))
_sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, (*TSubquery)(unsafe.Pointer(pSubq)).FregResult, (*TSubquery)(unsafe.Pointer(pSubq)).FregResult+(*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSubquery)(unsafe.Pointer(pSubq)).FpSelect)).FpEList)).FnExpr-int32(1))
@@ -138776,16 +132437,6 @@ type THiddenIndexInfo = struct {
type HiddenIndexInfo = THiddenIndexInfo
-type THiddenIndexInfo1 = struct {
- FpWC uintptr
- FpParse uintptr
- FeDistinct int32
- FmIn Tu32
- FmHandleIn Tu32
-}
-
-type HiddenIndexInfo1 = THiddenIndexInfo1
-
// C documentation
//
// /*
@@ -138898,7 +132549,7 @@ func _sqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) {
break
}
pInner = pWInfo + 856 + uintptr(i)*104
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pInner)).FpWLoop)).FwsFlags&uint32(WHERE_COLUMN_IN) != uint32(0) {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pInner)).FpWLoop)).FwsFlags&uint32(WHERE_COLUMN_IN) != uint32(0) {
_sqlite3VdbeGoto(tls, v, (*TWhereLevel)(unsafe.Pointer(pInner)).FaddrNxt)
return
}
@@ -140416,10 +134067,10 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB
i++
}
}
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FpWC = pWC
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FpParse = pParse
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FeDistinct = eDistinct
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FmIn = uint32(0)
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FpWC = pWC
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FpParse = pParse
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FeDistinct = eDistinct
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FmIn = uint32(0)
p = pWC
v10 = libc.Int32FromInt32(0)
j = v10
@@ -142700,15 +136351,6 @@ type TCoveringIndexCheck = struct {
type CoveringIndexCheck = TCoveringIndexCheck
-type TCoveringIndexCheck1 = struct {
- FpIdx uintptr
- FiTabCur int32
- FbExpr Tu8
- FbUnidx Tu8
-}
-
-type CoveringIndexCheck1 = TCoveringIndexCheck1
-
// C documentation
//
// /*
@@ -142740,7 +136382,7 @@ func _whereIsCoveringIndexWalkCallback(tls *libc.TLS, pWalk uintptr, pExpr uintp
if (*TExpr)(unsafe.Pointer(pExpr)).FiTable != (*TCoveringIndexCheck)(unsafe.Pointer(pCk)).FiTabCur {
return WRC_Continue
}
- pIdx = (*TCoveringIndexCheck1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 40)))).FpIdx
+ pIdx = (*TCoveringIndexCheck)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 40)))).FpIdx
aiColumn = (*TIndex)(unsafe.Pointer(pIdx)).FaiColumn
nColumn = (*TIndex)(unsafe.Pointer(pIdx)).FnColumn
i = 0
@@ -142759,7 +136401,7 @@ func _whereIsCoveringIndexWalkCallback(tls *libc.TLS, pWalk uintptr, pExpr uintp
(*TCoveringIndexCheck)(unsafe.Pointer(pCk)).FbUnidx = uint8(1)
return int32(WRC_Abort)
} else {
- if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x800>>11)) != 0 && _exprIsCoveredByIndex(tls, pExpr, pIdx, (*TCoveringIndexCheck1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 40)))).FiTabCur) != 0 {
+ if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x800>>11)) != 0 && _exprIsCoveredByIndex(tls, pExpr, pIdx, (*TCoveringIndexCheck)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 40)))).FiTabCur) != 0 {
(*TCoveringIndexCheck)(unsafe.Pointer(pCk)).FbExpr = uint8(1)
return int32(WRC_Prune)
}
@@ -142796,7 +136438,7 @@ func _whereIsCoveringIndex(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iTabCur
bp := tls.Alloc(64)
defer tls.Free(64)
var i, rc int32
- var _ /* ck at bp+0 */ TCoveringIndexCheck1
+ var _ /* ck at bp+0 */ TCoveringIndexCheck
var _ /* w at bp+16 */ TWalker
_, _ = i, rc
if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect == uintptr(0) {
@@ -142825,19 +136467,19 @@ func _whereIsCoveringIndex(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iTabCur
return uint32(0)
}
}
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FpIdx = pIdx
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FiTabCur = iTabCur
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbExpr = uint8(0)
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbUnidx = uint8(0)
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FpIdx = pIdx
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FiTabCur = iTabCur
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbExpr = uint8(0)
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbUnidx = uint8(0)
libc.Xmemset(tls, bp+16, 0, uint64(48))
(*(*TWalker)(unsafe.Pointer(bp + 16))).FxExprCallback = __ccgo_fp(_whereIsCoveringIndexWalkCallback)
(*(*TWalker)(unsafe.Pointer(bp + 16))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkNoop)
*(*uintptr)(unsafe.Pointer(bp + 16 + 40)) = bp
_sqlite3WalkSelect(tls, bp+16, (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)
- if (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbUnidx != 0 {
+ if (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbUnidx != 0 {
rc = 0
} else {
- if (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbExpr != 0 {
+ if (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbExpr != 0 {
rc = int32(WHERE_EXPRIDX)
} else {
rc = int32(WHERE_IDX_ONLY)
@@ -143139,6 +136781,14 @@ func _whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask) (r in
FpIndex uintptr
FpOrderBy uintptr
})(unsafe.Pointer(pNew + 24))).FnTop = uint16(0)
+ (*(*struct {
+ FnEq Tu16
+ FnBtm Tu16
+ FnTop Tu16
+ FnDistinctCol Tu16
+ FpIndex uintptr
+ FpOrderBy uintptr
+ })(unsafe.Pointer(pNew + 24))).FnDistinctCol = uint16(0)
(*TWhereLoop)(unsafe.Pointer(pNew)).FnSkip = uint16(0)
(*TWhereLoop)(unsafe.Pointer(pNew)).FnLTerm = uint16(0)
(*TWhereLoop)(unsafe.Pointer(pNew)).FiSortIdx = uint8(0)
@@ -143681,7 +137331,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal
pVal = uintptr(0)
rc = SQLITE_OK
if iCons < 0 || iCons >= (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint {
- rc = _sqlite3MisuseError(tls, int32(168932)) /* EV: R-30545-25046 */
+ rc = _sqlite3MisuseError(tls, int32(168961)) /* EV: R-30545-25046 */
} else {
if *(*uintptr)(unsafe.Pointer(pH + 32 + uintptr(iCons)*8)) == uintptr(0) {
pTerm = _termFromWhereClause(tls, (*THiddenIndexInfo)(unsafe.Pointer(pH)).FpWC, (*(*Tsqlite3_index_constraint)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(iCons)*12))).FiTermOffset)
@@ -144346,17 +137996,6 @@ func _wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr,
*(*TBitmask)(unsafe.Pointer(bp)) = obDone
}
break
- } else {
- if libc.Int32FromUint16(wctrlFlags)&int32(WHERE_DISTINCTBY) != 0 {
- (*(*struct {
- FnEq Tu16
- FnBtm Tu16
- FnTop Tu16
- FnDistinctCol Tu16
- FpIndex uintptr
- FpOrderBy uintptr
- })(unsafe.Pointer(pLoop + 24))).FnDistinctCol = uint16(0)
- }
}
iCur = (*(*TSrcItem)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*TWhereLoop)(unsafe.Pointer(pLoop)).FiTab)*80))).FiCursor
/* Mark off any ORDER BY term X that is a column in the table of
@@ -146331,7 +139970,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere
** that use the OR optimization.
*/
if libc.Int32FromUint16(wctrlFlags)&int32(WHERE_ONEPASS_DESIRED) != 0 {
- wsFlags = libc.Int32FromUint32((*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856))).FpWLoop)).FwsFlags)
+ wsFlags = libc.Int32FromUint32((*TWhereLoop)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856))).FpWLoop)).FwsFlags)
bOnerow = libc.BoolInt32(wsFlags&int32(WHERE_ONEROW) != 0)
if bOnerow != 0 || 0 != libc.Int32FromUint16(wctrlFlags)&int32(WHERE_ONEPASS_MULTIROW) && !(libc.Int32FromUint8((*TTable)(unsafe.Pointer((*(*TSrcItem)(unsafe.Pointer(pTabList + 8))).FpSTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) && (0 == wsFlags&int32(WHERE_MULTI_OR) || libc.Int32FromUint16(wctrlFlags)&int32(WHERE_DUPLICATES_OK) != 0) && (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&libc.Uint32FromInt32(libc.Int32FromInt32(SQLITE_OnePass)) == uint32(0) {
if bOnerow != 0 {
@@ -146344,7 +139983,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere
if libc.Int32FromUint16(wctrlFlags)&int32(WHERE_ONEPASS_MULTIROW) != 0 {
bFordelete = uint8(OPFLAG_FORDELETE)
}
- (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856))).FpWLoop)).FwsFlags = libc.Uint32FromInt32(wsFlags & ^libc.Int32FromInt32(WHERE_IDX_ONLY))
+ (*TWhereLoop)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856))).FpWLoop)).FwsFlags = libc.Uint32FromInt32(wsFlags & ^libc.Int32FromInt32(WHERE_IDX_ONLY))
}
}
}
@@ -146523,7 +140162,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere
goto whereBeginError
}
pLevel = pWInfo + 856 + uintptr(ii)*104
- wsFlags1 = libc.Int32FromUint32((*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags)
+ wsFlags1 = libc.Int32FromUint32((*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags)
pSrc = pTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*80
if int32(*(*uint32)(unsafe.Pointer(pSrc + 24 + 4))&0x20>>5) != 0 {
iOnce = 0
@@ -147858,16 +141497,6 @@ type TWindowRewrite = struct {
type WindowRewrite = TWindowRewrite
-type TWindowRewrite1 = struct {
- FpWin uintptr
- FpSrc uintptr
- FpSub uintptr
- FpTab uintptr
- FpSubSelect uintptr
-}
-
-type WindowRewrite1 = TWindowRewrite1
-
// C documentation
//
// /*
@@ -147886,17 +141515,17 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
** TK_COLUMN expressions that refer to it (the outer SELECT). Do
** not process aggregates or window functions at all, as they belong
** to the scalar sub-select. */
- if (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect != 0 {
+ if (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect != 0 {
if libc.Int32FromUint8((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_COLUMN) {
return WRC_Continue
} else {
- nSrc = (*TSrcList)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSrc)).FnSrc
+ nSrc = (*TSrcList)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSrc)).FnSrc
i = 0
for {
if !(i < nSrc) {
break
}
- if (*TExpr)(unsafe.Pointer(pExpr)).FiTable == (*(*TSrcItem)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*80))).FiCursor {
+ if (*TExpr)(unsafe.Pointer(pExpr)).FiTable == (*(*TSrcItem)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*80))).FiCursor {
break
}
goto _1
@@ -147914,7 +141543,7 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
if !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&libc.Uint32FromInt32(libc.Int32FromInt32(EP_WinFunc)) != libc.Uint32FromInt32(0)) {
break
} else {
- pWin = (*TWindowRewrite1)(unsafe.Pointer(p)).FpWin
+ pWin = (*TWindowRewrite)(unsafe.Pointer(p)).FpWin
for {
if !(pWin != 0) {
break
@@ -147938,13 +141567,13 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 {
return int32(WRC_Abort)
}
- if (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub != 0 {
+ if (*TWindowRewrite)(unsafe.Pointer(p)).FpSub != 0 {
i1 = 0
for {
- if !(i1 < (*TExprList)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSub)).FnExpr) {
+ if !(i1 < (*TExprList)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSub)).FnExpr) {
break
}
- if 0 == _sqlite3ExprCompare(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSub + 8 + uintptr(i1)*32))).FpExpr, pExpr, -int32(1)) {
+ if 0 == _sqlite3ExprCompare(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSub + 8 + uintptr(i1)*32))).FpExpr, pExpr, -int32(1)) {
iCol = i1
break
}
@@ -147959,9 +141588,9 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
if pDup != 0 && libc.Int32FromUint8((*TExpr)(unsafe.Pointer(pDup)).Fop) == int32(TK_AGG_FUNCTION) {
(*TExpr)(unsafe.Pointer(pDup)).Fop = uint8(TK_FUNCTION)
}
- (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub = _sqlite3ExprListAppend(tls, pParse, (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub, pDup)
+ (*TWindowRewrite)(unsafe.Pointer(p)).FpSub = _sqlite3ExprListAppend(tls, pParse, (*TWindowRewrite)(unsafe.Pointer(p)).FpSub, pDup)
}
- if (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub != 0 {
+ if (*TWindowRewrite)(unsafe.Pointer(p)).FpSub != 0 {
f = libc.Int32FromUint32((*TExpr)(unsafe.Pointer(pExpr)).Fflags & uint32(EP_Collate))
*(*Tu32)(unsafe.Pointer(pExpr + 4)) |= libc.Uint32FromInt32(libc.Int32FromInt32(EP_Static))
_sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr)
@@ -147969,13 +141598,13 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
libc.Xmemset(tls, pExpr, 0, uint64(72))
(*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_COLUMN)
if iCol < 0 {
- v4 = (*TExprList)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSub)).FnExpr - int32(1)
+ v4 = (*TExprList)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSub)).FnExpr - int32(1)
} else {
v4 = iCol
}
(*TExpr)(unsafe.Pointer(pExpr)).FiColumn = int16(v4)
- (*TExpr)(unsafe.Pointer(pExpr)).FiTable = (*TWindow)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpWin)).FiEphCsr
- *(*uintptr)(unsafe.Pointer(pExpr + 64)) = (*TWindowRewrite1)(unsafe.Pointer(p)).FpTab
+ (*TExpr)(unsafe.Pointer(pExpr)).FiTable = (*TWindow)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpWin)).FiEphCsr
+ *(*uintptr)(unsafe.Pointer(pExpr + 64)) = (*TWindowRewrite)(unsafe.Pointer(p)).FpTab
(*TExpr)(unsafe.Pointer(pExpr)).Fflags = libc.Uint32FromInt32(f)
}
if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 {
@@ -147991,13 +141620,13 @@ func _selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintpt
var p, pSave uintptr
_, _ = p, pSave
p = *(*uintptr)(unsafe.Pointer(pWalker + 40))
- pSave = (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect
+ pSave = (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect
if pSave == pSelect {
return WRC_Continue
} else {
- (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect = pSelect
+ (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect = pSelect
_sqlite3WalkSelect(tls, pWalker, pSelect)
- (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect = pSave
+ (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect = pSave
}
return int32(WRC_Prune)
}
@@ -148774,87 +142403,6 @@ type TWindowCsrAndReg = struct {
type WindowCsrAndReg = TWindowCsrAndReg
-/*
-** See comments above struct WindowCodeArg.
- */
-type TWindowCsrAndReg1 = struct {
- Fcsr int32
- Freg int32
-}
-
-type WindowCsrAndReg1 = TWindowCsrAndReg1
-
-/*
-** A single instance of this structure is allocated on the stack by
-** sqlite3WindowCodeStep() and a pointer to it passed to the various helper
-** routines. This is to reduce the number of arguments required by each
-** helper function.
-**
-** regArg:
-** Each window function requires an accumulator register (just as an
-** ordinary aggregate function does). This variable is set to the first
-** in an array of accumulator registers - one for each window function
-** in the WindowCodeArg.pMWin list.
-**
-** eDelete:
-** The window functions implementation sometimes caches the input rows
-** that it processes in a temporary table. If it is not zero, this
-** variable indicates when rows may be removed from the temp table (in
-** order to reduce memory requirements - it would always be safe just
-** to leave them there). Possible values for eDelete are:
-**
-** WINDOW_RETURN_ROW:
-** An input row can be discarded after it is returned to the caller.
-**
-** WINDOW_AGGINVERSE:
-** An input row can be discarded after the window functions xInverse()
-** callbacks have been invoked in it.
-**
-** WINDOW_AGGSTEP:
-** An input row can be discarded after the window functions xStep()
-** callbacks have been invoked in it.
-**
-** start,current,end
-** Consider a window-frame similar to the following:
-**
-** (ORDER BY a, b GROUPS BETWEEN 2 PRECEDING AND 2 FOLLOWING)
-**
-** The windows functions implementation caches the input rows in a temp
-** table, sorted by "a, b" (it actually populates the cache lazily, and
-** aggressively removes rows once they are no longer required, but that's
-** a mere detail). It keeps three cursors open on the temp table. One
-** (current) that points to the next row to return to the query engine
-** once its window function values have been calculated. Another (end)
-** points to the next row to call the xStep() method of each window function
-** on (so that it is 2 groups ahead of current). And a third (start) that
-** points to the next row to call the xInverse() method of each window
-** function on.
-**
-** Each cursor (start, current and end) consists of a VDBE cursor
-** (WindowCsrAndReg.csr) and an array of registers (starting at
-** WindowCodeArg.reg) that always contains a copy of the peer values
-** read from the corresponding cursor.
-**
-** Depending on the window-frame in question, all three cursors may not
-** be required. In this case both WindowCodeArg.csr and reg are set to
-** 0.
- */
-type TWindowCodeArg1 = struct {
- FpParse uintptr
- FpMWin uintptr
- FpVdbe uintptr
- FaddrGosub int32
- FregGosub int32
- FregArg int32
- FeDelete int32
- FregRowid int32
- Fstart TWindowCsrAndReg
- Fcurrent TWindowCsrAndReg
- Fend TWindowCsrAndReg
-}
-
-type WindowCodeArg1 = TWindowCodeArg1
-
// C documentation
//
// /*
@@ -157103,14 +150651,6 @@ var _yyFallback = [187]uint16{
** actually contains the reduce action for the second half of the
** SHIFTREDUCE.
*/
-type TyyStackEntry1 = struct {
- Fstateno uint16
- Fmajor uint16
- Fminor TYYMINORTYPE
-}
-
-type yyStackEntry1 = TyyStackEntry1
-
type TyyStackEntry = struct {
Fstateno uint16
Fmajor uint16
@@ -157121,16 +150661,6 @@ type yyStackEntry = TyyStackEntry
/* The state of the parser is completely contained in an instance of
** the following structure */
-type TyyParser1 = struct {
- Fyytos uintptr
- FpParse uintptr
- FyystackEnd uintptr
- Fyystack uintptr
- Fyystk0 [100]TyyStackEntry
-}
-
-type yyParser1 = TyyParser1
-
type TyyParser = struct {
Fyytos uintptr
FpParse uintptr
@@ -164104,7 +157634,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) (r int32) {
*/
if libc.AtomicLoadPInt32(uintptr(unsafe.Pointer(&_sqlite3Config))+340) != 0 {
if op < 0 || op > int32(63) || libc.Uint64FromInt32(1)< 0 {
- (*Tsqlite3)(unsafe.Pointer(db)).FxProgress = xProgress
+ (*Tsqlite3)(unsafe.Pointer(db)).FxProgress = __ccgo_fp_xProgress
(*Tsqlite3)(unsafe.Pointer(db)).FnProgressOps = libc.Uint32FromInt32(nOps)
(*Tsqlite3)(unsafe.Pointer(db)).FpProgressArg = pArg
} else {
@@ -165474,12 +159008,12 @@ func Xsqlite3_is_interrupted(tls *libc.TLS, db uintptr) (r int32) {
// ** that if a malloc() fails in sqlite3_create_function(), an error code
// ** is returned and the mallocFailed flag cleared.
// */
-func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, enc int32, pUserData uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr, xValue uintptr, xInverse uintptr, pDestructor uintptr) (r int32) {
+func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, enc int32, pUserData uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xValue uintptr, __ccgo_fp_xInverse uintptr, pDestructor uintptr) (r int32) {
var extraFlags, rc int32
var p, v1 uintptr
_, _, _, _ = extraFlags, p, rc, v1
- if zFunctionName == uintptr(0) || xSFunc != uintptr(0) && xFinal != uintptr(0) || libc.BoolInt32(xFinal == uintptr(0)) != libc.BoolInt32(xStep == uintptr(0)) || libc.BoolInt32(xValue == uintptr(0)) != libc.BoolInt32(xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) {
- return _sqlite3MisuseError(tls, int32(184559))
+ if zFunctionName == uintptr(0) || __ccgo_fp_xSFunc != uintptr(0) && __ccgo_fp_xFinal != uintptr(0) || libc.BoolInt32(__ccgo_fp_xFinal == uintptr(0)) != libc.BoolInt32(__ccgo_fp_xStep == uintptr(0)) || libc.BoolInt32(__ccgo_fp_xValue == uintptr(0)) != libc.BoolInt32(__ccgo_fp_xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) {
+ return _sqlite3MisuseError(tls, int32(184586))
}
extraFlags = enc & (libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_INNOCUOUS) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_SELFORDER1))
enc &= libc.Int32FromInt32(SQLITE_FUNC_ENCMASK) | libc.Int32FromInt32(SQLITE_ANY)
@@ -165497,9 +159031,9 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
case int32(SQLITE_UTF16):
enc = int32(SQLITE_UTF16LE)
case int32(SQLITE_ANY):
- rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF8)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, xSFunc, xStep, xFinal, xValue, xInverse, pDestructor)
+ rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF8)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, pDestructor)
if rc == SQLITE_OK {
- rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF16LE)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, xSFunc, xStep, xFinal, xValue, xInverse, pDestructor)
+ rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF16LE)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, pDestructor)
}
if rc != SQLITE_OK {
return rc
@@ -165528,7 +159062,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
_sqlite3ExpirePreparedStatements(tls, db, 0)
}
} else {
- if xSFunc == uintptr(0) && xFinal == uintptr(0) {
+ if __ccgo_fp_xSFunc == uintptr(0) && __ccgo_fp_xFinal == uintptr(0) {
/* Trying to delete a function that does not exist. This is a no-op.
** https://sqlite.org/forum/forumpost/726219164b */
return SQLITE_OK
@@ -165546,15 +159080,15 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
}
*(*uintptr)(unsafe.Pointer(p + 64)) = pDestructor
(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags = (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK) | libc.Uint32FromInt32(extraFlags)
- if xSFunc != 0 {
- v1 = xSFunc
+ if __ccgo_fp_xSFunc != 0 {
+ v1 = __ccgo_fp_xSFunc
} else {
- v1 = xStep
+ v1 = __ccgo_fp_xStep
}
(*TFuncDef)(unsafe.Pointer(p)).FxSFunc = v1
- (*TFuncDef)(unsafe.Pointer(p)).FxFinalize = xFinal
- (*TFuncDef)(unsafe.Pointer(p)).FxValue = xValue
- (*TFuncDef)(unsafe.Pointer(p)).FxInverse = xInverse
+ (*TFuncDef)(unsafe.Pointer(p)).FxFinalize = __ccgo_fp_xFinal
+ (*TFuncDef)(unsafe.Pointer(p)).FxValue = __ccgo_fp_xValue
+ (*TFuncDef)(unsafe.Pointer(p)).FxInverse = __ccgo_fp_xInverse
(*TFuncDef)(unsafe.Pointer(p)).FpUserData = pUserData
(*TFuncDef)(unsafe.Pointer(p)).FnArg = libc.Int16FromUint16(libc.Uint16FromInt32(nArg))
return SQLITE_OK
@@ -165569,27 +159103,27 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
// ** sqlite3_create_function_v2()
// ** sqlite3_create_window_function()
// */
-func _createFunctionApi(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr, xValue uintptr, xInverse uintptr, xDestroy uintptr) (r int32) {
+func _createFunctionApi(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xValue uintptr, __ccgo_fp_xInverse uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
var pArg uintptr
var rc int32
_, _ = pArg, rc
rc = int32(SQLITE_ERROR)
pArg = uintptr(0)
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- if xDestroy != 0 {
+ if __ccgo_fp_xDestroy != 0 {
pArg = _sqlite3Malloc(tls, uint64(24))
if !(pArg != 0) {
_sqlite3OomFault(tls, db)
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestroy})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestroy})))(tls, p)
goto out
}
(*TFuncDestructor)(unsafe.Pointer(pArg)).FnRef = 0
- (*TFuncDestructor)(unsafe.Pointer(pArg)).FxDestroy = xDestroy
+ (*TFuncDestructor)(unsafe.Pointer(pArg)).FxDestroy = __ccgo_fp_xDestroy
(*TFuncDestructor)(unsafe.Pointer(pArg)).FpUserData = p
}
- rc = _sqlite3CreateFunc(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, xValue, xInverse, pArg)
+ rc = _sqlite3CreateFunc(tls, db, zFunc, nArg, enc, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, pArg)
if pArg != 0 && (*TFuncDestructor)(unsafe.Pointer(pArg)).FnRef == 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestroy})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestroy})))(tls, p)
Xsqlite3_free(tls, pArg)
}
goto out
@@ -165600,30 +159134,60 @@ out:
return rc
}
+type t__ccgo_fp__Xsqlite3_create_function_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_6 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_7 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Create new user functions.
// */
-func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) (r int32) {
- return _createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), uintptr(0))
+func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr) (r int32) {
+ return _createFunctionApi(tls, db, zFunc, nArg, enc, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, uintptr(0), uintptr(0), uintptr(0))
}
-func Xsqlite3_create_function_v2(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr, xDestroy uintptr) (r int32) {
- return _createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), xDestroy)
+type t__ccgo_fp__Xsqlite3_create_function_v2_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_v2_6 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_v2_7 = func(*libc.TLS, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_v2_8 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_create_function_v2(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
+ return _createFunctionApi(tls, db, zFunc, nArg, enc, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, uintptr(0), uintptr(0), __ccgo_fp_xDestroy)
}
-func Xsqlite3_create_window_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xStep uintptr, xFinal uintptr, xValue uintptr, xInverse uintptr, xDestroy uintptr) (r int32) {
- return _createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), xStep, xFinal, xValue, xInverse, xDestroy)
+type t__ccgo_fp__Xsqlite3_create_window_function_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_6 = func(*libc.TLS, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_7 = func(*libc.TLS, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_8 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_9 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_create_window_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xValue uintptr, __ccgo_fp_xInverse uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
+ return _createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, __ccgo_fp_xDestroy)
}
-func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) (r int32) {
+type t__ccgo_fp__Xsqlite3_create_function16_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function16_6 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function16_7 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr) (r int32) {
var rc int32
var zFunc8 uintptr
_, _ = rc, zFunc8
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
zFunc8 = _sqlite3Utf16to8(tls, db, zFunctionName, -int32(1), uint8(SQLITE_UTF16LE))
- rc = _sqlite3CreateFunc(tls, db, zFunc8, nArg, eTextRep, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), uintptr(0))
+ rc = _sqlite3CreateFunc(tls, db, zFunc8, nArg, eTextRep, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, uintptr(0), uintptr(0), uintptr(0))
_sqlite3DbFree(tls, db, zFunc8)
rc = _sqlite3ApiExit(tls, db, rc)
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -165686,6 +159250,8 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i
return Xsqlite3_create_function_v2(tls, db, zName, nArg, int32(SQLITE_UTF8), zCopy, __ccgo_fp(_sqlite3InvalidFunction), uintptr(0), uintptr(0), __ccgo_fp(Xsqlite3_free))
}
+type t__ccgo_fp__Xsqlite3_trace_1 = func(*libc.TLS, uintptr, uintptr)
+
// C documentation
//
// /*
@@ -165696,43 +159262,47 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i
// ** trace is a pointer to a function that is invoked at the start of each
// ** SQL statement.
// */
-func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_trace(tls *libc.TLS, db uintptr, __ccgo_fp_xTrace uintptr, pArg uintptr) (r uintptr) {
var pOld uintptr
var v1 int32
_, _ = pOld, v1
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pOld = (*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg
- if xTrace != 0 {
+ if __ccgo_fp_xTrace != 0 {
v1 = int32(SQLITE_TRACE_LEGACY)
} else {
v1 = 0
}
(*Tsqlite3)(unsafe.Pointer(db)).FmTrace = libc.Uint8FromInt32(v1)
- *(*uintptr)(unsafe.Pointer(db + 248)) = xTrace
+ *(*uintptr)(unsafe.Pointer(db + 248)) = __ccgo_fp_xTrace
(*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pOld
}
+type t__ccgo_fp__Xsqlite3_trace_v2_2 = func(*libc.TLS, uint32, uintptr, uintptr, uintptr) int32
+
// C documentation
//
// /* Register a trace callback using the version-2 interface.
// */
-func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) (r int32) {
+func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, __ccgo_fp_xTrace uintptr, pArg uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if mTrace == uint32(0) {
- xTrace = uintptr(0)
+ __ccgo_fp_xTrace = uintptr(0)
}
- if xTrace == uintptr(0) {
+ if __ccgo_fp_xTrace == uintptr(0) {
mTrace = uint32(0)
}
(*Tsqlite3)(unsafe.Pointer(db)).FmTrace = uint8(mTrace)
- *(*uintptr)(unsafe.Pointer(db + 248)) = xTrace
+ *(*uintptr)(unsafe.Pointer(db + 248)) = __ccgo_fp_xTrace
(*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
+type t__ccgo_fp__Xsqlite3_profile_1 = func(*libc.TLS, uintptr, uintptr, uint64)
+
// C documentation
//
// /*
@@ -165743,12 +159313,12 @@ func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr,
// ** profile is a pointer to a function that is invoked at the conclusion of
// ** each SQL statement that is run.
// */
-func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_profile(tls *libc.TLS, db uintptr, __ccgo_fp_xProfile uintptr, pArg uintptr) (r uintptr) {
var pOld, p1, p2 uintptr
_, _, _ = pOld, p1, p2
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pOld = (*Tsqlite3)(unsafe.Pointer(db)).FpProfileArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxProfile = xProfile
+ (*Tsqlite3)(unsafe.Pointer(db)).FxProfile = __ccgo_fp_xProfile
(*Tsqlite3)(unsafe.Pointer(db)).FpProfileArg = pArg
p1 = db + 110
*(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) & libc.Int32FromInt32(SQLITE_TRACE_NONLEGACY_MASK))
@@ -165760,6 +159330,8 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr)
return pOld
}
+type t__ccgo_fp__Xsqlite3_commit_hook_1 = func(*libc.TLS, uintptr) int32
+
// C documentation
//
// /*
@@ -165767,82 +159339,92 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr)
// ** If the invoked function returns non-zero, then the commit becomes a
// ** rollback.
// */
-func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pOld uintptr
_ = pOld
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pOld = (*Tsqlite3)(unsafe.Pointer(db)).FpCommitArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxCommitCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxCommitCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpCommitArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pOld
}
+type t__ccgo_fp__Xsqlite3_update_hook_1 = func(*libc.TLS, uintptr, int32, uintptr, uintptr, int64)
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a row is updated,
// ** inserted or deleted using this database connection.
// */
-func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpUpdateArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxUpdateCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxUpdateCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpUpdateArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
}
+type t__ccgo_fp__Xsqlite3_rollback_hook_1 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a transaction is rolled
// ** back by this database connection.
// */
-func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpRollbackArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxRollbackCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxRollbackCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpRollbackArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
}
+type t__ccgo_fp__Xsqlite3_preupdate_hook_1 = func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, int64, int64)
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a row is updated,
// ** inserted or deleted using this database connection.
// */
-func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdateArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdateArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
}
+type t__ccgo_fp__Xsqlite3_autovacuum_pages_1 = func(*libc.TLS, uintptr, uintptr, uint32, uint32, uint32) uint32
+
+type t__ccgo_fp__Xsqlite3_autovacuum_pages_3 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a function to be invoked prior to each autovacuum that
// ** determines the number of pages to vacuum.
// */
-func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr, xDestructor uintptr) (r int32) {
+func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr != 0 {
(*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg)
}
- (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacPages = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacPages = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg = pArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr = xDestructor
+ (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr = __ccgo_fp_xDestructor
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
@@ -165886,18 +159468,20 @@ func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) (r int
return SQLITE_OK
}
+type t__ccgo_fp__Xsqlite3_wal_hook_1 = func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a transaction is written
// ** into the write-ahead-log by this database connection.
// */
-func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpWalArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpWalArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
@@ -165923,7 +159507,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
if eMode < SQLITE_CHECKPOINT_PASSIVE || eMode > int32(SQLITE_CHECKPOINT_TRUNCATE) {
/* EVIDENCE-OF: R-03996-12088 The M parameter must be a valid checkpoint
** mode: */
- return _sqlite3MisuseError(tls, int32(185175))
+ return _sqlite3MisuseError(tls, int32(185202))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if zDb != 0 && *(*int8)(unsafe.Pointer(zDb)) != 0 {
@@ -166055,7 +159639,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) (r uintptr) {
return _sqlite3ErrStr(tls, int32(SQLITE_NOMEM))
}
if !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) {
- return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(185311)))
+ return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(185338)))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -166187,7 +159771,7 @@ var _misuse = [34]Tu16{
// */
func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) {
if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) {
- return _sqlite3MisuseError(tls, int32(185390))
+ return _sqlite3MisuseError(tls, int32(185417))
}
if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
return int32(SQLITE_NOMEM)
@@ -166197,7 +159781,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) {
func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) (r int32) {
if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) {
- return _sqlite3MisuseError(tls, int32(185399))
+ return _sqlite3MisuseError(tls, int32(185426))
}
if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
return int32(SQLITE_NOMEM)
@@ -166233,7 +159817,7 @@ func Xsqlite3_errstr(tls *libc.TLS, rc int32) (r uintptr) {
// ** Create a new collating function for database "db". The name is zName
// ** and the encoding is enc.
// */
-func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx uintptr, xCompare uintptr, xDel uintptr) (r int32) {
+func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx uintptr, __ccgo_fp_xCompare uintptr, __ccgo_fp_xDel uintptr) (r int32) {
var aColl, p, pColl uintptr
var enc2, j int32
_, _, _, _, _ = aColl, enc2, j, p, pColl
@@ -166246,7 +159830,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui
enc2 = int32(SQLITE_UTF16LE)
}
if enc2 < int32(SQLITE_UTF8) || enc2 > int32(SQLITE_UTF16BE) {
- return _sqlite3MisuseError(tls, int32(185447))
+ return _sqlite3MisuseError(tls, int32(185474))
}
/* Check if this call is removing or replacing an existing collation
** sequence. If so, and there are active VMs, return busy. If there
@@ -166290,9 +159874,9 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui
if pColl == uintptr(0) {
return int32(SQLITE_NOMEM)
}
- (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp = xCompare
+ (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp = __ccgo_fp_xCompare
(*TCollSeq)(unsafe.Pointer(pColl)).FpUser = pCtx
- (*TCollSeq)(unsafe.Pointer(pColl)).FxDel = xDel
+ (*TCollSeq)(unsafe.Pointer(pColl)).FxDel = __ccgo_fp_xDel
(*TCollSeq)(unsafe.Pointer(pColl)).Fenc = libc.Uint8FromInt32(enc2 | libc.Int32FromUint8(enc)&libc.Int32FromInt32(SQLITE_UTF16_ALIGNED))
_sqlite3Error(tls, db, SQLITE_OK)
return SQLITE_OK
@@ -166794,7 +160378,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32
/* READWRITE */
/* READWRITE | CREATE */
if int32(1)<<(*(*uint32)(unsafe.Pointer(bp))&uint32(7))&int32(0x46) == 0 {
- rc = _sqlite3MisuseError(tls, int32(186122)) /* IMP: R-18321-05872 */
+ rc = _sqlite3MisuseError(tls, int32(186149)) /* IMP: R-18321-05872 */
} else {
if zFilename == uintptr(0) {
zFilename = __ccgo_ts + 4283
@@ -166948,36 +160532,44 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) (r int32) {
return rc & int32(0xff)
}
+type t__ccgo_fp__Xsqlite3_create_collation_4 = func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
// ** Register a new collation sequence with the database handle db.
// */
-func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) (r int32) {
- return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, xCompare, uintptr(0))
+func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, __ccgo_fp_xCompare uintptr) (r int32) {
+ return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, __ccgo_fp_xCompare, uintptr(0))
}
+type t__ccgo_fp__Xsqlite3_create_collation_v2_4 = func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3_create_collation_v2_5 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a new collation sequence with the database handle db.
// */
-func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr, xDel uintptr) (r int32) {
+func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, __ccgo_fp_xCompare uintptr, __ccgo_fp_xDel uintptr) (r int32) {
var rc int32
_ = rc
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- rc = _createCollation(tls, db, zName, libc.Uint8FromInt32(enc), pCtx, xCompare, xDel)
+ rc = _createCollation(tls, db, zName, libc.Uint8FromInt32(enc), pCtx, __ccgo_fp_xCompare, __ccgo_fp_xDel)
rc = _sqlite3ApiExit(tls, db, rc)
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return rc
}
+type t__ccgo_fp__Xsqlite3_create_collation16_4 = func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
// ** Register a new collation sequence with the database handle db.
// */
-func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) (r int32) {
+func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, __ccgo_fp_xCompare uintptr) (r int32) {
var rc int32
var zName8 uintptr
_, _ = rc, zName8
@@ -166985,7 +160577,7 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
zName8 = _sqlite3Utf16to8(tls, db, zName, -int32(1), uint8(SQLITE_UTF16LE))
if zName8 != 0 {
- rc = _createCollation(tls, db, zName8, libc.Uint8FromInt32(enc), pCtx, xCompare, uintptr(0))
+ rc = _createCollation(tls, db, zName8, libc.Uint8FromInt32(enc), pCtx, __ccgo_fp_xCompare, uintptr(0))
_sqlite3DbFree(tls, db, zName8)
}
rc = _sqlite3ApiExit(tls, db, rc)
@@ -166993,31 +160585,35 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i
return rc
}
+type t__ccgo_fp__Xsqlite3_collation_needed_2 = func(*libc.TLS, uintptr, uintptr, int32, uintptr)
+
// C documentation
//
// /*
// ** Register a collation sequence factory callback with the database handle
// ** db. Replace any previously installed collation sequence factory.
// */
-func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded uintptr) (r int32) {
+func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, __ccgo_fp_xCollNeeded uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded = xCollNeeded
+ (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded = __ccgo_fp_xCollNeeded
(*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = uintptr(0)
(*Tsqlite3)(unsafe.Pointer(db)).FpCollNeededArg = pCollNeededArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
+type t__ccgo_fp__Xsqlite3_collation_needed16_2 = func(*libc.TLS, uintptr, uintptr, int32, uintptr)
+
// C documentation
//
// /*
// ** Register a collation sequence factory callback with the database handle
// ** db. Replace any previously installed collation sequence factory.
// */
-func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded16 uintptr) (r int32) {
+func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, __ccgo_fp_xCollNeeded16 uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
(*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded = uintptr(0)
- (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = xCollNeeded16
+ (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = __ccgo_fp_xCollNeeded16
(*Tsqlite3)(unsafe.Pointer(db)).FpCollNeededArg = pCollNeededArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
@@ -167051,12 +160647,14 @@ func Xsqlite3_get_clientdata(tls *libc.TLS, db uintptr, zName uintptr) (r uintpt
return uintptr(0)
}
+type t__ccgo_fp__Xsqlite3_set_clientdata_3 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Add new client data to a database connection.
// */
-func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uintptr, xDestructor uintptr) (r int32) {
+func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
var n Tsize_t
var p, pp uintptr
_, _, _ = n, p, pp
@@ -167091,8 +160689,8 @@ func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uin
n = libc.Xstrlen(tls, zName)
p = Xsqlite3_malloc64(tls, uint64(uint64(libc.UintptrFromInt32(0)+24)+(n+libc.Uint64FromInt32(1))))
if p == uintptr(0) {
- if xDestructor != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestructor})))(tls, pData)
+ if __ccgo_fp_xDestructor != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestructor})))(tls, pData)
}
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return int32(SQLITE_NOMEM)
@@ -167103,7 +160701,7 @@ func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uin
}
}
(*TDbClientData)(unsafe.Pointer(p)).FpData = pData
- (*TDbClientData)(unsafe.Pointer(p)).FxDestructor = xDestructor
+ (*TDbClientData)(unsafe.Pointer(p)).FxDestructor = __ccgo_fp_xDestructor
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
@@ -168455,6 +162053,8 @@ func _leaveMutex(tls *libc.TLS) {
Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_MAIN)))
}
+type t__ccgo_fp__Xsqlite3_unlock_notify_1 = func(*libc.TLS, uintptr, int32)
+
// C documentation
//
// /*
@@ -168478,7 +162078,7 @@ func _leaveMutex(tls *libc.TLS) {
// ** on the same "db". If xNotify==0 then any prior callbacks are immediately
// ** cancelled.
// */
-func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg uintptr) (r int32) {
+func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, __ccgo_fp_xNotify uintptr, _pArg uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
*(*uintptr)(unsafe.Pointer(bp)) = _pArg
@@ -168488,7 +162088,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui
rc = SQLITE_OK
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
_enterMutex(tls)
- if xNotify == uintptr(0) {
+ if __ccgo_fp_xNotify == uintptr(0) {
_removeFromBlockedList(tls, db)
(*Tsqlite3)(unsafe.Pointer(db)).FpBlockingConnection = uintptr(0)
(*Tsqlite3)(unsafe.Pointer(db)).FpUnlockConnection = uintptr(0)
@@ -168500,7 +162100,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui
** blocking transaction. In either case, invoke the notify callback
** immediately.
*/
- (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{xNotify})))(tls, bp, int32(1))
+ (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xNotify})))(tls, bp, int32(1))
} else {
p = (*Tsqlite3)(unsafe.Pointer(db)).FpBlockingConnection
for {
@@ -168516,7 +162116,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui
rc = int32(SQLITE_LOCKED) /* Deadlock detected. */
} else {
(*Tsqlite3)(unsafe.Pointer(db)).FpUnlockConnection = (*Tsqlite3)(unsafe.Pointer(db)).FpBlockingConnection
- (*Tsqlite3)(unsafe.Pointer(db)).FxUnlockNotify = xNotify
+ (*Tsqlite3)(unsafe.Pointer(db)).FxUnlockNotify = __ccgo_fp_xNotify
(*Tsqlite3)(unsafe.Pointer(db)).FpUnlockArg = *(*uintptr)(unsafe.Pointer(bp))
_removeFromBlockedList(tls, db)
_addToBlockedList(tls, db)
@@ -169732,106 +163332,6 @@ type TJsonParse = struct {
type JsonParse = TJsonParse
-/*
-** Magic number used for the JSON parse cache in sqlite3_get_auxdata()
- */
-
-/*
-** jsonUnescapeOneChar() returns this invalid code point if it encounters
-** a syntax error.
- */
-
-/* A cache mapping JSON text into JSONB blobs.
-**
-** Each cache entry is a JsonParse object with the following restrictions:
-**
-** * The bReadOnly flag must be set
-**
-** * The aBlob[] array must be owned by the JsonParse object. In other
-** words, nBlobAlloc must be non-zero.
-**
-** * eEdit and delta must be zero.
-**
-** * zJson must be an RCStr. In other words bJsonIsRCStr must be true.
- */
-type TJsonCache1 = struct {
- Fdb uintptr
- FnUsed int32
- Fa [4]uintptr
-}
-
-type JsonCache1 = TJsonCache1
-
-/* An instance of this object represents a JSON string
-** under construction. Really, this is a generic string accumulator
-** that can be and is used to create strings other than JSON.
-**
-** If the generated string is longer than will fit into the zSpace[] buffer,
-** then it will be an RCStr string. This aids with caching of large
-** JSON strings.
- */
-type TJsonString1 = struct {
- FpCtx uintptr
- FzBuf uintptr
- FnAlloc Tu64
- FnUsed Tu64
- FbStatic Tu8
- FeErr Tu8
- FzSpace [100]int8
-}
-
-type JsonString1 = TJsonString1
-
-/* Allowed values for JsonString.eErr */
-
-/* The "subtype" set for text JSON values passed through using
-** sqlite3_result_subtype() and sqlite3_value_subtype().
- */
-
-/*
-** Bit values for the flags passed into various SQL function implementations
-** via the sqlite3_user_data() value.
- */
-
-/* A parsed JSON value. Lifecycle:
-**
-** 1. JSON comes in and is parsed into a JSONB value in aBlob. The
-** original text is stored in zJson. This step is skipped if the
-** input is JSONB instead of text JSON.
-**
-** 2. The aBlob[] array is searched using the JSON path notation, if needed.
-**
-** 3. Zero or more changes are made to aBlob[] (via json_remove() or
-** json_replace() or json_patch() or similar).
-**
-** 4. New JSON text is generated from the aBlob[] for output. This step
-** is skipped if the function is one of the jsonb_* functions that
-** returns JSONB instead of text JSON.
- */
-type TJsonParse1 = struct {
- FaBlob uintptr
- FnBlob Tu32
- FnBlobAlloc Tu32
- FzJson uintptr
- Fdb uintptr
- FnJson int32
- FnJPRef Tu32
- FiErr Tu32
- FiDepth Tu16
- FnErr Tu8
- Foom Tu8
- FbJsonIsRCStr Tu8
- FhasNonstd Tu8
- FbReadOnly Tu8
- FeEdit Tu8
- Fdelta int32
- FnIns Tu32
- FiLabel Tu32
- FaIns uintptr
-}
-
-type JsonParse1 = TJsonParse1
-
/**************************************************************************
** Utility routines for dealing with JsonCache objects
**************************************************************************/
@@ -172442,16 +165942,6 @@ type TJsonPretty = struct {
type JsonPretty = TJsonPretty
-type TJsonPretty1 = struct {
- FpParse uintptr
- FpOut uintptr
- FzIndent uintptr
- FszIndent Tu32
- FnIndent Tu32
-}
-
-type JsonPretty1 = TJsonPretty1
-
// C documentation
//
// /* Append indentation to the pretty JSON under construction */
@@ -175278,16 +168768,6 @@ type TJsonParent = struct {
type JsonParent = TJsonParent
-type TJsonParent1 = struct {
- FiHead Tu32
- FiValue Tu32
- FiEnd Tu32
- FnPath Tu32
- FiKey Ti64
-}
-
-type JsonParent1 = TJsonParent1
-
type TJsonEachCursor = struct {
Fbase Tsqlite3_vtab_cursor
FiRowid Tu32
@@ -175306,24 +168786,6 @@ type TJsonEachCursor = struct {
type JsonEachCursor = TJsonEachCursor
-type TJsonEachCursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FiRowid Tu32
- Fi Tu32
- FiEnd Tu32
- FnRoot Tu32
- FeType Tu8
- FbRecursive Tu8
- FnParent Tu32
- FnParentAlloc Tu32
- FaParent uintptr
- Fdb uintptr
- Fpath TJsonString
- FsParse TJsonParse
-}
-
-type JsonEachCursor1 = TJsonEachCursor1
-
type TJsonEachConnection = struct {
Fbase Tsqlite3_vtab
Fdb uintptr
@@ -175331,13 +168793,6 @@ type TJsonEachConnection = struct {
type JsonEachConnection = TJsonEachConnection
-type TJsonEachConnection1 = struct {
- Fbase Tsqlite3_vtab
- Fdb uintptr
-}
-
-type JsonEachConnection1 = TJsonEachConnection1
-
// C documentation
//
// /* Constructor for the json_each virtual table */
@@ -176309,223 +169764,9 @@ type TRtree = struct {
FaHash [97]uintptr
}
-type Rtree = TRtree
-
-type TRtreeCursor = struct {
- Fbase Tsqlite3_vtab_cursor
- FatEOF Tu8
- FbPoint Tu8
- FbAuxValid Tu8
- FiStrategy int32
- FnConstraint int32
- FaConstraint uintptr
- FnPointAlloc int32
- FnPoint int32
- FmxLevel int32
- FaPoint uintptr
- FpReadAux uintptr
- FsPoint TRtreeSearchPoint
- FaNode [5]uintptr
- FanQueue [41]Tu32
-}
-
-type RtreeCursor = TRtreeCursor
-
-type TRtreeNode = struct {
- FpParent uintptr
- FiNode Ti64
- FnRef int32
- FisDirty int32
- FzData uintptr
- FpNext uintptr
-}
-
-type RtreeNode = TRtreeNode
-
-type TRtreeCell = struct {
- FiRowid Ti64
- FaCoord [10]TRtreeCoord
-}
-
-type RtreeCell = TRtreeCell
-
-type TRtreeConstraint = struct {
- FiCoord int32
- Fop int32
- Fu struct {
- FxGeom [0]uintptr
- FxQueryFunc [0]uintptr
- FrValue TRtreeDValue
- }
- FpInfo uintptr
-}
-
-type RtreeConstraint = TRtreeConstraint
-
-type TRtreeMatchArg = struct {
- FiSize Tu32
- Fcb TRtreeGeomCallback
- FnParam int32
- FapSqlParam uintptr
-}
-
-type RtreeMatchArg = TRtreeMatchArg
-
-type TRtreeGeomCallback = struct {
- FxGeom uintptr
- FxQueryFunc uintptr
- FxDestructor uintptr
- FpContext uintptr
-}
-
-type RtreeGeomCallback = TRtreeGeomCallback
-
-type TRtreeCoord = struct {
- Fi [0]int32
- Fu [0]Tu32
- Ff TRtreeValue
-}
-
-type RtreeCoord = TRtreeCoord
-
-type TRtreeSearchPoint = struct {
- FrScore TRtreeDValue
- Fid Tsqlite3_int64
- FiLevel Tu8
- FeWithin Tu8
- FiCell Tu8
-}
-
-type RtreeSearchPoint = TRtreeSearchPoint
-
-/* The rtree may have between 1 and RTREE_MAX_DIMENSIONS dimensions. */
-
-/* Maximum number of auxiliary columns */
-
-/* Size of hash table Rtree.aHash. This hash table is not expected to
-** ever contain very many entries, so a fixed number of buckets is
-** used.
- */
-
-/* The xBestIndex method of this virtual table requires an estimate of
-** the number of rows in the virtual table to calculate the costs of
-** various strategies. If possible, this estimate is loaded from the
-** sqlite_stat1 table (with RTREE_MIN_ROWEST as a hard-coded minimum).
-** Otherwise, if no sqlite_stat1 entry is available, use
-** RTREE_DEFAULT_ROWEST.
- */
-
-/*
-** An rtree virtual-table object.
- */
-type TRtree1 = struct {
- Fbase Tsqlite3_vtab
- Fdb uintptr
- FiNodeSize int32
- FnDim Tu8
- FnDim2 Tu8
- FeCoordType Tu8
- FnBytesPerCell Tu8
- FinWrTrans Tu8
- FnAux Tu8
- FnAuxNotNull Tu8
- FiDepth int32
- FzDb uintptr
- FzName uintptr
- FzNodeName uintptr
- FnBusy Tu32
- FnRowEst Ti64
- FnCursor Tu32
- FnNodeRef Tu32
- FzReadAuxSql uintptr
- FpDeleted uintptr
- FpNodeBlob uintptr
- FpWriteNode uintptr
- FpDeleteNode uintptr
- FpReadRowid uintptr
- FpWriteRowid uintptr
- FpDeleteRowid uintptr
- FpReadParent uintptr
- FpWriteParent uintptr
- FpDeleteParent uintptr
- FpWriteAux uintptr
- FaHash [97]uintptr
-}
-
-type Rtree1 = TRtree1
-
-/* Possible values for Rtree.eCoordType: */
-
-// C documentation
-//
-// /*
-// ** If SQLITE_RTREE_INT_ONLY is defined, then this virtual table will
-// ** only deal with integer coordinates. No floating point operations
-// ** will be done.
-// */
-type TRtreeDValue = float64
-
-type RtreeDValue = TRtreeDValue
-
-/* High accuracy coordinate */
-
-type TRtreeValue = float32
-
-type RtreeValue = TRtreeValue
-
-/* Low accuracy coordinate */
-
-/*
-** Set the Rtree.bCorrupt flag
- */
-
-/*
-** When doing a search of an r-tree, instances of the following structure
-** record intermediate results from the tree walk.
-**
-** The id is always a node-id. For iLevel>=1 the id is the node-id of
-** the node that the RtreeSearchPoint represents. When iLevel==0, however,
-** the id is of the parent node and the cell that RtreeSearchPoint
-** represents is the iCell-th entry in the parent node.
- */
-type TRtreeSearchPoint1 = struct {
- FrScore TRtreeDValue
- Fid Tsqlite3_int64
- FiLevel Tu8
- FeWithin Tu8
- FiCell Tu8
-}
-
-type RtreeSearchPoint1 = TRtreeSearchPoint1
-
-/*
-** The minimum number of cells allowed for a node is a third of the
-** maximum. In Gutman's notation:
-**
-** m = M/3
-**
-** If an R*-tree "Reinsert" operation is required, the same number of
-** cells are removed from the overfull node and reinserted into the tree.
- */
-
-/*
-** The smallest possible node-size is (512-64)==448 bytes. And the largest
-** supported cell size is 48 bytes (8 byte rowid + ten 4 byte coordinates).
-** Therefore all non-root nodes must contain at least 3 entries. Since
-** 3^40 is greater than 2^64, an r-tree structure always has a depth of
-** 40 or less.
- */
-
-/*
-** Number of entries in the cursor RtreeNode cache. The first entry is
-** used to cache the RtreeNode for RtreeCursor.sPoint. The remaining
-** entries cache the RtreeNode for the first elements of the priority queue.
- */
+type Rtree = TRtree
-/*
-** An rtree cursor object.
- */
-type TRtreeCursor1 = struct {
+type TRtreeCursor = struct {
Fbase Tsqlite3_vtab_cursor
FatEOF Tu8
FbPoint Tu8
@@ -176543,33 +169784,27 @@ type TRtreeCursor1 = struct {
FanQueue [41]Tu32
}
-type RtreeCursor1 = TRtreeCursor1
-
-/* Return the Rtree of a RtreeCursor */
+type RtreeCursor = TRtreeCursor
-/*
-** A coordinate can be either a floating point number or a integer. All
-** coordinates within a single R-Tree are always of the same time.
- */
-type TRtreeCoord1 = struct {
- Fi [0]int32
- Fu [0]Tu32
- Ff TRtreeValue
+type TRtreeNode = struct {
+ FpParent uintptr
+ FiNode Ti64
+ FnRef int32
+ FisDirty int32
+ FzData uintptr
+ FpNext uintptr
}
-type RtreeCoord1 = TRtreeCoord1
+type RtreeNode = TRtreeNode
-/*
-** The argument is an RtreeCoord. Return the value stored within the RtreeCoord
-** formatted as a RtreeDValue (double or int64). This macro assumes that local
-** variable pRtree points to the Rtree structure associated with the
-** RtreeCoord.
- */
+type TRtreeCell = struct {
+ FiRowid Ti64
+ FaCoord [10]TRtreeCoord
+}
-/*
-** A search constraint.
- */
-type TRtreeConstraint1 = struct {
+type RtreeCell = TRtreeCell
+
+type TRtreeConstraint = struct {
FiCoord int32
Fop int32
Fu struct {
@@ -176580,78 +169815,62 @@ type TRtreeConstraint1 = struct {
FpInfo uintptr
}
-type RtreeConstraint1 = TRtreeConstraint1
-
-/* Possible values for RtreeConstraint.op */
-
-/* Special operators available only on cursors. Needs to be consecutive
-** with the normal values above, but must be less than RTREE_MATCH. These
-** are used in the cursor for contraints such as x=NULL (RTREE_FALSE) or
-** x<'xyz' (RTREE_TRUE) */
-
-/*
-** An rtree structure node.
- */
-type TRtreeNode1 = struct {
- FpParent uintptr
- FiNode Ti64
- FnRef int32
- FisDirty int32
- FzData uintptr
- FpNext uintptr
-}
-
-type RtreeNode1 = TRtreeNode1
-
-/* Return the number of cells in a node */
+type RtreeConstraint = TRtreeConstraint
-/*
-** A single cell from a node, deserialized
- */
-type TRtreeCell1 = struct {
- FiRowid Ti64
- FaCoord [10]TRtreeCoord
+type TRtreeMatchArg = struct {
+ FiSize Tu32
+ Fcb TRtreeGeomCallback
+ FnParam int32
+ FapSqlParam uintptr
}
-type RtreeCell1 = TRtreeCell1
+type RtreeMatchArg = TRtreeMatchArg
-/*
-** This object becomes the sqlite3_user_data() for the SQL functions
-** that are created by sqlite3_rtree_geometry_callback() and
-** sqlite3_rtree_query_callback() and which appear on the right of MATCH
-** operators in order to constrain a search.
-**
-** xGeom and xQueryFunc are the callback functions. Exactly one of
-** xGeom and xQueryFunc fields is non-NULL, depending on whether the
-** SQL function was created using sqlite3_rtree_geometry_callback() or
-** sqlite3_rtree_query_callback().
-**
-** This object is deleted automatically by the destructor mechanism in
-** sqlite3_create_function_v2().
- */
-type TRtreeGeomCallback1 = struct {
+type TRtreeGeomCallback = struct {
FxGeom uintptr
FxQueryFunc uintptr
FxDestructor uintptr
FpContext uintptr
}
-type RtreeGeomCallback1 = TRtreeGeomCallback1
+type RtreeGeomCallback = TRtreeGeomCallback
-/*
-** An instance of this structure (in the form of a BLOB) is returned by
-** the SQL functions that sqlite3_rtree_geometry_callback() and
-** sqlite3_rtree_query_callback() create, and is read as the right-hand
-** operand to the MATCH operator of an R-Tree.
- */
-type TRtreeMatchArg1 = struct {
- FiSize Tu32
- Fcb TRtreeGeomCallback
- FnParam int32
- FapSqlParam uintptr
+type TRtreeCoord = struct {
+ Fi [0]int32
+ Fu [0]Tu32
+ Ff TRtreeValue
+}
+
+type RtreeCoord = TRtreeCoord
+
+type TRtreeSearchPoint = struct {
+ FrScore TRtreeDValue
+ Fid Tsqlite3_int64
+ FiLevel Tu8
+ FeWithin Tu8
+ FiCell Tu8
}
-type RtreeMatchArg1 = TRtreeMatchArg1
+type RtreeSearchPoint = TRtreeSearchPoint
+
+/* Possible values for Rtree.eCoordType: */
+
+// C documentation
+//
+// /*
+// ** If SQLITE_RTREE_INT_ONLY is defined, then this virtual table will
+// ** only deal with integer coordinates. No floating point operations
+// ** will be done.
+// */
+type TRtreeDValue = float64
+
+type RtreeDValue = TRtreeDValue
+
+/* High accuracy coordinate */
+
+type TRtreeValue = float32
+
+type RtreeValue = TRtreeValue
/* Size of an RtreeMatchArg object with N parameters */
@@ -179613,9 +172832,9 @@ func _rtreeValueDown(tls *libc.TLS, v uintptr) (r TRtreeValue) {
f = float32(d)
if float64(f) > d {
if d < libc.Float64FromInt32(0) {
- v1 = float64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
} else {
- v1 = float64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
}
f = float32(float64(d * v1))
}
@@ -179630,9 +172849,9 @@ func _rtreeValueUp(tls *libc.TLS, v uintptr) (r TRtreeValue) {
f = float32(d)
if float64(f) < d {
if d < libc.Float64FromInt32(0) {
- v1 = float64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
} else {
- v1 = float64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
}
f = float32(float64(d * v1))
}
@@ -180532,23 +173751,6 @@ type TRtreeCheck = struct {
type RtreeCheck = TRtreeCheck
-type TRtreeCheck1 = struct {
- Fdb uintptr
- FzDb uintptr
- FzTab uintptr
- FbInt int32
- FnDim int32
- FpGetNode uintptr
- FaCheckMapping [2]uintptr
- FnLeaf int32
- FnNonLeaf int32
- Frc int32
- FzReport uintptr
- FnErr int32
-}
-
-type RtreeCheck1 = TRtreeCheck1
-
// C documentation
//
// /*
@@ -181133,14 +174335,6 @@ type TGeoPoly = struct {
type GeoPoly = TGeoPoly
-type TGeoPoly1 = struct {
- FnVertex int32
- Fhdr [4]uint8
- Fa [8]TGeoCoord
-}
-
-type GeoPoly1 = TGeoPoly1
-
/* The size of a memory allocation needed for a GeoPoly object sufficient
** to hold N coordinate pairs.
*/
@@ -181165,16 +174359,6 @@ type TGeoParse = struct {
type GeoParse = TGeoParse
-type TGeoParse1 = struct {
- Fz uintptr
- FnVertex int32
- FnAlloc int32
- FnErr int32
- Fa uintptr
-}
-
-type GeoParse1 = TGeoParse1
-
// C documentation
//
// /* Do a 4-byte byte swap */
@@ -181957,13 +175141,6 @@ type TGeoBBox = struct {
type GeoBBox = TGeoBBox
-type TGeoBBox1 = struct {
- FisInit int32
- Fa [4]TRtreeCoord
-}
-
-type GeoBBox1 = TGeoBBox1
-
// C documentation
//
// /*
@@ -182198,36 +175375,6 @@ type TGeoOverlap = struct {
type GeoOverlap = TGeoOverlap
-type TGeoEvent1 = struct {
- Fx float64
- FeType int32
- FpSeg uintptr
- FpNext uintptr
-}
-
-type GeoEvent1 = TGeoEvent1
-
-type TGeoSegment1 = struct {
- FC float64
- FB float64
- Fy float64
- Fy0 float32
- Fside uint8
- Fidx uint32
- FpNext uintptr
-}
-
-type GeoSegment1 = TGeoSegment1
-
-type TGeoOverlap1 = struct {
- FaEvent uintptr
- FaSegment uintptr
- FnEvent int32
- FnSegment int32
-}
-
-type GeoOverlap1 = TGeoOverlap1
-
// C documentation
//
// /*
@@ -183198,16 +176345,16 @@ geopoly_update_end:
// ** Report that geopoly_overlap() is an overloaded function suitable
// ** for use in xBestIndex.
// */
-func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) {
+func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, __ccgo_fp_pxFunc uintptr, ppArg uintptr) (r int32) {
_ = pVtab
_ = nArg
if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28670) == 0 {
- *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyOverlapFunc)
+ *(*uintptr)(unsafe.Pointer(__ccgo_fp_pxFunc)) = __ccgo_fp(_geopolyOverlapFunc)
*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
return int32(SQLITE_INDEX_CONSTRAINT_FUNCTION)
}
if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28686) == 0 {
- *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyWithinFunc)
+ *(*uintptr)(unsafe.Pointer(__ccgo_fp_pxFunc)) = __ccgo_fp(_geopolyWithinFunc)
*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
return libc.Int32FromInt32(SQLITE_INDEX_CONSTRAINT_FUNCTION) + libc.Int32FromInt32(1)
}
@@ -183516,12 +176663,14 @@ func _geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
}
}
+type t__ccgo_fp__Xsqlite3_rtree_geometry_callback_2 = func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Register a new geometry function for use with the r-tree MATCH operator.
// */
-func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, xGeom uintptr, pContext uintptr) (r int32) {
+func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, __ccgo_fp_xGeom uintptr, pContext uintptr) (r int32) {
var pGeomCtx uintptr
_ = pGeomCtx /* Context object for new user-function */
/* Allocate and populate the context object. */
@@ -183529,33 +176678,37 @@ func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr,
if !(pGeomCtx != 0) {
return int32(SQLITE_NOMEM)
}
- (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxGeom = xGeom
+ (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxGeom = __ccgo_fp_xGeom
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxQueryFunc = uintptr(0)
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxDestructor = uintptr(0)
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FpContext = pContext
return Xsqlite3_create_function_v2(tls, db, zGeom, -int32(1), int32(SQLITE_ANY), pGeomCtx, __ccgo_fp(_geomCallback), uintptr(0), uintptr(0), __ccgo_fp(_rtreeFreeCallback))
}
+type t__ccgo_fp__Xsqlite3_rtree_query_callback_2 = func(*libc.TLS, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3_rtree_query_callback_4 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a new 2nd-generation geometry function for use with the
// ** r-tree MATCH operator.
// */
-func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, xQueryFunc uintptr, pContext uintptr, xDestructor uintptr) (r int32) {
+func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, __ccgo_fp_xQueryFunc uintptr, pContext uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
var pGeomCtx uintptr
_ = pGeomCtx /* Context object for new user-function */
/* Allocate and populate the context object. */
pGeomCtx = Xsqlite3_malloc(tls, int32(32))
if !(pGeomCtx != 0) {
- if xDestructor != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestructor})))(tls, pContext)
+ if __ccgo_fp_xDestructor != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestructor})))(tls, pContext)
}
return int32(SQLITE_NOMEM)
}
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxGeom = uintptr(0)
- (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxQueryFunc = xQueryFunc
- (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxDestructor = xDestructor
+ (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxQueryFunc = __ccgo_fp_xQueryFunc
+ (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxDestructor = __ccgo_fp_xDestructor
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FpContext = pContext
return Xsqlite3_create_function_v2(tls, db, zQueryFunc, -int32(1), int32(SQLITE_ANY), pGeomCtx, __ccgo_fp(_geomCallback), uintptr(0), uintptr(0), __ccgo_fp(_rtreeFreeCallback))
}
@@ -184173,248 +177326,6 @@ type TRbuUpdateStmt = struct {
type RbuUpdateStmt = TRbuUpdateStmt
-/*
-** These values must match the values defined in wal.c for the equivalent
-** locks. These are not magic numbers as they are part of the SQLite file
-** format.
- */
-
-/*
-** A structure to store values read from the rbu_state table in memory.
- */
-type TRbuState1 = struct {
- FeStage int32
- FzTbl uintptr
- FzDataTbl uintptr
- FzIdx uintptr
- FiWalCksum Ti64
- FnRow int32
- FnProgress Ti64
- FiCookie Tu32
- FiOalSz Ti64
- FnPhaseOneStep Ti64
-}
-
-type RbuState1 = TRbuState1
-
-type TRbuUpdateStmt1 = struct {
- FzMask uintptr
- FpUpdate uintptr
- FpNext uintptr
-}
-
-type RbuUpdateStmt1 = TRbuUpdateStmt1
-
-type TRbuSpan1 = struct {
- FzSpan uintptr
- FnSpan int32
-}
-
-type RbuSpan1 = TRbuSpan1
-
-/*
-** An iterator of this type is used to iterate through all objects in
-** the target database that require updating. For each such table, the
-** iterator visits, in order:
-**
-** * the table itself,
-** * each index of the table (zero or more points to visit), and
-** * a special "cleanup table" state.
-**
-** abIndexed:
-** If the table has no indexes on it, abIndexed is set to NULL. Otherwise,
-** it points to an array of flags nTblCol elements in size. The flag is
-** set for each column that is either a part of the PK or a part of an
-** index. Or clear otherwise.
-**
-** If there are one or more partial indexes on the table, all fields of
-** this array set set to 1. This is because in that case, the module has
-** no way to tell which fields will be required to add and remove entries
-** from the partial indexes.
-**
- */
-type TRbuObjIter1 = struct {
- FpTblIter uintptr
- FpIdxIter uintptr
- FnTblCol int32
- FazTblCol uintptr
- FazTblType uintptr
- FaiSrcOrder uintptr
- FabTblPk uintptr
- FabNotNull uintptr
- FabIndexed uintptr
- FeType int32
- FbCleanup int32
- FzTbl uintptr
- FzDataTbl uintptr
- FzIdx uintptr
- FiTnum int32
- FiPkTnum int32
- FbUnique int32
- FnIndex int32
- FnCol int32
- FpSelect uintptr
- FpInsert uintptr
- FpDelete uintptr
- FpTmpInsert uintptr
- FnIdxCol int32
- FaIdxCol uintptr
- FzIdxSql uintptr
- FpRbuUpdate uintptr
-}
-
-type RbuObjIter1 = TRbuObjIter1
-
-/*
-** Values for RbuObjIter.eType
-**
-** 0: Table does not exist (error)
-** 1: Table has an implicit rowid.
-** 2: Table has an explicit IPK column.
-** 3: Table has an external PK index.
-** 4: Table is WITHOUT ROWID.
-** 5: Table is a virtual table.
- */
-
-/*
-** Within the RBU_STAGE_OAL stage, each call to sqlite3rbu_step() performs
-** one of the following operations.
- */
-
-/*
-** A single step of an incremental checkpoint - frame iWalFrame of the wal
-** file should be copied to page iDbPage of the database file.
- */
-type TRbuFrame1 = struct {
- FiDbPage Tu32
- FiWalFrame Tu32
-}
-
-type RbuFrame1 = TRbuFrame1
-
-/*
-** RBU handle.
-**
-** nPhaseOneStep:
-** If the RBU database contains an rbu_count table, this value is set to
-** a running estimate of the number of b-tree operations required to
-** finish populating the *-oal file. This allows the sqlite3_bp_progress()
-** API to calculate the permyriadage progress of populating the *-oal file
-** using the formula:
-**
-** permyriadage = (10000 * nProgress) / nPhaseOneStep
-**
-** nPhaseOneStep is initialized to the sum of:
-**
-** nRow * (nIndex + 1)
-**
-** for all source tables in the RBU database, where nRow is the number
-** of rows in the source table and nIndex the number of indexes on the
-** corresponding target database table.
-**
-** This estimate is accurate if the RBU update consists entirely of
-** INSERT operations. However, it is inaccurate if:
-**
-** * the RBU update contains any UPDATE operations. If the PK specified
-** for an UPDATE operation does not exist in the target table, then
-** no b-tree operations are required on index b-trees. Or if the
-** specified PK does exist, then (nIndex*2) such operations are
-** required (one delete and one insert on each index b-tree).
-**
-** * the RBU update contains any DELETE operations for which the specified
-** PK does not exist. In this case no operations are required on index
-** b-trees.
-**
-** * the RBU update contains REPLACE operations. These are similar to
-** UPDATE operations.
-**
-** nPhaseOneStep is updated to account for the conditions above during the
-** first pass of each source table. The updated nPhaseOneStep value is
-** stored in the rbu_state table if the RBU update is suspended.
- */
-type Tsqlite3rbu1 = struct {
- FeStage int32
- FdbMain uintptr
- FdbRbu uintptr
- FzTarget uintptr
- FzRbu uintptr
- FzState uintptr
- FzStateDb [5]int8
- Frc int32
- FzErrmsg uintptr
- FnStep int32
- FnProgress Tsqlite3_int64
- Fobjiter TRbuObjIter
- FzVfsName uintptr
- FpTargetFd uintptr
- FnPagePerSector int32
- FiOalSz Ti64
- FnPhaseOneStep Ti64
- FpRenameArg uintptr
- FxRename uintptr
- FiMaxFrame Tu32
- FmLock Tu32
- FnFrame int32
- FnFrameAlloc int32
- FaFrame uintptr
- Fpgsz int32
- FaBuf uintptr
- FiWalCksum Ti64
- FszTemp Ti64
- FszTempLimit Ti64
- FnRbu int32
- FpRbuFd uintptr
-}
-
-type sqlite3rbu1 = Tsqlite3rbu1
-
-/*
-** An rbu VFS is implemented using an instance of this structure.
-**
-** Variable pRbu is only non-NULL for automatically created RBU VFS objects.
-** It is NULL for RBU VFS objects created explicitly using
-** sqlite3rbu_create_vfs(). It is used to track the total amount of temp
-** space used by the RBU handle.
- */
-type Trbu_vfs1 = struct {
- Fbase Tsqlite3_vfs
- FpRealVfs uintptr
- Fmutex uintptr
- FpRbu uintptr
- FpMain uintptr
- FpMainRbu uintptr
-}
-
-type rbu_vfs1 = Trbu_vfs1
-
-/*
-** Each file opened by an rbu VFS is represented by an instance of
-** the following structure.
-**
-** If this is a temporary file (pRbu!=0 && flags&DELETE_ON_CLOSE), variable
-** "sz" is set to the current size of the database file.
- */
-type Trbu_file1 = struct {
- Fbase Tsqlite3_file
- FpReal uintptr
- FpRbuVfs uintptr
- FpRbu uintptr
- Fsz Ti64
- FopenFlags int32
- FiCookie Tu32
- FiWriteVer Tu8
- FbNolock Tu8
- FnShm int32
- FapShm uintptr
- FzDel uintptr
- FzWal uintptr
- FpWalFd uintptr
- FpMainNext uintptr
- FpMainRbuNext uintptr
-}
-
-type rbu_file1 = Trbu_file1
-
/*
** True for an RBU vacuum handle, or false otherwise.
*/
@@ -187128,7 +180039,7 @@ func _rbuShmChecksum(tls *libc.TLS, p uintptr) (r Ti64) {
iRet = 0
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
iRet = libc.Int64FromUint64(uint64(libc.AtomicLoadPUint32(*(*uintptr)(unsafe.Pointer(bp))+libc.UintptrFromInt32(10)*4))< (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz {
(*Tsqlite3rbu)(unsafe.Pointer(p)).FnPagePerSector = nSectorSize / (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz
} else {
@@ -187230,7 +180141,7 @@ func _rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
** directory in which the target database and the wal file reside, in
** case it has not been synced since the rename() call in
** rbuMoveOalFile(). */
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxSync})))(tls, pWal, int32(SQLITE_SYNC_NORMAL))
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxSync})))(tls, pWal, int32(SQLITE_SYNC_NORMAL))
}
}
}
@@ -187303,12 +180214,12 @@ func _rbuCheckpointFrame(tls *libc.TLS, p uintptr, pFrame uintptr) {
pWal = (*Trbu_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd)).FpReal
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
iOff = libc.Int64FromUint32((*TRbuFrame)(unsafe.Pointer(pFrame)).FiWalFrame-libc.Uint32FromInt32(1))*int64((*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz+libc.Int32FromInt32(24)) + int64(32) + int64(24)
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxRead})))(tls, pWal, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxRead})))(tls, pWal, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
return
}
iOff = libc.Int64FromUint32((*TRbuFrame)(unsafe.Pointer(pFrame)).FiDbPage-libc.Uint32FromInt32(1)) * int64((*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz)
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxWrite})))(tls, pDb, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxWrite})))(tls, pDb, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
}
/*
@@ -187333,18 +180244,18 @@ func _rbuLockDatabase(tls *libc.TLS, db uintptr) (r int32) {
Xsqlite3_file_control(tls, db, __ccgo_ts+6738, int32(RBU_ZIPVFS_CTRL_FILE_POINTER), bp)
if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
Xsqlite3_file_control(tls, db, __ccgo_ts+6738, int32(SQLITE_FCNTL_FILE_POINTER), bp)
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
if rc == SQLITE_OK {
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxUnlock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), SQLITE_LOCK_NONE)
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxUnlock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), SQLITE_LOCK_NONE)
}
Xsqlite3_file_control(tls, db, __ccgo_ts+6738, int32(RBU_ZIPVFS_CTRL_FILE_POINTER), bp)
} else {
Xsqlite3_file_control(tls, db, __ccgo_ts+6738, int32(SQLITE_FCNTL_FILE_POINTER), bp)
}
if rc == SQLITE_OK && (*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods != 0 {
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
if rc == SQLITE_OK {
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_EXCLUSIVE))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_EXCLUSIVE))
}
}
return rc
@@ -187862,10 +180773,10 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) (r int32) {
if (*Tsqlite3rbu)(unsafe.Pointer(p)).FnStep >= (*Tsqlite3rbu)(unsafe.Pointer(p)).FnFrame {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
/* Sync the db file */
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
/* Update nBackfill */
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
*(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 24*4)) = (*Tsqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame
}
@@ -188384,7 +181295,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) {
/* Sync the db file if currently doing an incremental checkpoint */
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
}
_rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) {
@@ -188505,7 +181416,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) {
/* Sync the db file */
if rc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
}
(*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc
_rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage)
@@ -188550,9 +181461,11 @@ func _xDefaultRename(tls *libc.TLS, pArg uintptr, zOld uintptr, zNew uintptr) (r
return rc
}
-func Xsqlite3rbu_rename_handler(tls *libc.TLS, pRbu uintptr, pArg uintptr, xRename uintptr) {
- if xRename != 0 {
- (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FxRename = xRename
+type t__ccgo_fp__Xsqlite3rbu_rename_handler_2 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+func Xsqlite3rbu_rename_handler(tls *libc.TLS, pRbu uintptr, pArg uintptr, __ccgo_fp_xRename uintptr) {
+ if __ccgo_fp_xRename != 0 {
+ (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FxRename = __ccgo_fp_xRename
(*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FpRenameArg = pArg
} else {
(*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FxRename = __ccgo_fp(_xDefaultRename)
@@ -188624,7 +181537,7 @@ func _rbuUnlockShm(tls *libc.TLS, p uintptr) {
var xShmLock uintptr
_, _ = i, xShmLock
if (*Trbu_file)(unsafe.Pointer(p)).FpRbu != 0 {
- xShmLock = (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock
+ xShmLock = (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock
i = 0
for {
if !(i < int32(SQLITE_SHM_NLOCK)) {
@@ -188827,7 +181740,7 @@ func _rbuVfsClose(tls *libc.TLS, pFile uintptr) (r int32) {
}
}
/* Close the underlying file handle */
- rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxClose})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal)
+ rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxClose})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal)
return rc
}
@@ -188878,14 +181791,14 @@ func _rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst T
rc = SQLITE_OK
libc.Xmemset(tls, zBuf, 0, libc.Uint64FromInt32(iAmt))
} else {
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxRead})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxRead})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst)
/* If this is being called to read the first page of the target
** database as part of an rbu vacuum operation, synthesize the
** contents of the first page if it does not yet exist. Otherwise,
** SQLite will not check for a *-wal file. */
if pRbu != 0 && (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzTarget == uintptr(0) && rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(2)<= libc.Int32FromUint64(libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(64)) {
_statResetCsr(tls, pCsr)
- return _sqlite3CorruptError(tls, int32(227354))
+ return _sqlite3CorruptError(tls, int32(227381))
}
if (*TStatPage)(unsafe.Pointer(p)).FiCell == (*TStatPage)(unsafe.Pointer(p)).FnCell {
(*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiPgno = (*TStatPage)(unsafe.Pointer(p)).FiRightChildPg
@@ -190810,315 +183662,6 @@ type TSessionHook = struct {
type SessionHook = TSessionHook
-type TSessionHook1 = struct {
- FpCtx uintptr
- FxOld uintptr
- FxNew uintptr
- FxCount uintptr
- FxDepth uintptr
-}
-
-type SessionHook1 = TSessionHook1
-
-/*
-** Session handle structure.
- */
-type Tsqlite3_session1 = struct {
- Fdb uintptr
- FzDb uintptr
- FbEnableSize int32
- FbEnable int32
- FbIndirect int32
- FbAutoAttach int32
- FbImplicitPK int32
- Frc int32
- FpFilterCtx uintptr
- FxTableFilter uintptr
- FnMalloc Ti64
- FnMaxChangesetSize Ti64
- FpZeroBlob uintptr
- FpNext uintptr
- FpTable uintptr
- Fhook TSessionHook
-}
-
-type sqlite3_session1 = Tsqlite3_session1
-
-/*
-** Instances of this structure are used to build strings or binary records.
- */
-type TSessionBuffer1 = struct {
- FaBuf uintptr
- FnBuf int32
- FnAlloc int32
-}
-
-type SessionBuffer1 = TSessionBuffer1
-
-/*
-** An object of this type is used internally as an abstraction for
-** input data. Input data may be supplied either as a single large buffer
-** (e.g. sqlite3changeset_start()) or using a stream function (e.g.
-** sqlite3changeset_start_strm()).
-**
-** bNoDiscard:
-** If true, then the only time data is discarded is as a result of explicit
-** sessionDiscardData() calls. Not within every sessionInputBuffer() call.
- */
-type TSessionInput1 = struct {
- FbNoDiscard int32
- FiCurrent int32
- FiNext int32
- FaData uintptr
- FnData int32
- Fbuf TSessionBuffer
- FxInput uintptr
- FpIn uintptr
- FbEof int32
-}
-
-type SessionInput1 = TSessionInput1
-
-/*
-** Structure for changeset iterators.
- */
-type Tsqlite3_changeset_iter1 = struct {
- Fin TSessionInput
- Ftblhdr TSessionBuffer
- FbPatchset int32
- FbInvert int32
- FbSkipEmpty int32
- Frc int32
- FpConflict uintptr
- FzTab uintptr
- FnCol int32
- Fop int32
- FbIndirect int32
- FabPK uintptr
- FapValue uintptr
-}
-
-type sqlite3_changeset_iter1 = Tsqlite3_changeset_iter1
-
-/*
-** Each session object maintains a set of the following structures, one
-** for each table the session object is monitoring. The structures are
-** stored in a linked list starting at sqlite3_session.pTable.
-**
-** The keys of the SessionTable.aChange[] hash table are all rows that have
-** been modified in any way since the session object was attached to the
-** table.
-**
-** The data associated with each hash-table entry is a structure containing
-** a subset of the initial values that the modified row contained at the
-** start of the session. Or no initial values if the row was inserted.
-**
-** pDfltStmt:
-** This is only used by the sqlite3changegroup_xxx() APIs, not by
-** regular sqlite3_session objects. It is a SELECT statement that
-** selects the default value for each table column. For example,
-** if the table is
-**
-** CREATE TABLE xx(a DEFAULT 1, b, c DEFAULT 'abc')
-**
-** then this variable is the compiled version of:
-**
-** SELECT 1, NULL, 'abc'
- */
-type TSessionTable1 = struct {
- FpNext uintptr
- FzName uintptr
- FnCol int32
- FnTotalCol int32
- FbStat1 int32
- FbRowid int32
- FazCol uintptr
- FazDflt uintptr
- FaiIdx uintptr
- FabPK uintptr
- FnEntry int32
- FnChange int32
- FapChange uintptr
- FpDfltStmt uintptr
-}
-
-type SessionTable1 = TSessionTable1
-
-/*
-** RECORD FORMAT:
-**
-** The following record format is similar to (but not compatible with) that
-** used in SQLite database files. This format is used as part of the
-** change-set binary format, and so must be architecture independent.
-**
-** Unlike the SQLite database record format, each field is self-contained -
-** there is no separation of header and data. Each field begins with a
-** single byte describing its type, as follows:
-**
-** 0x00: Undefined value.
-** 0x01: Integer value.
-** 0x02: Real value.
-** 0x03: Text value.
-** 0x04: Blob value.
-** 0x05: SQL NULL value.
-**
-** Note that the above match the definitions of SQLITE_INTEGER, SQLITE_TEXT
-** and so on in sqlite3.h. For undefined and NULL values, the field consists
-** only of the single type byte. For other types of values, the type byte
-** is followed by:
-**
-** Text values:
-** A varint containing the number of bytes in the value (encoded using
-** UTF-8). Followed by a buffer containing the UTF-8 representation
-** of the text value. There is no nul terminator.
-**
-** Blob values:
-** A varint containing the number of bytes in the value, followed by
-** a buffer containing the value itself.
-**
-** Integer values:
-** An 8-byte big-endian integer value.
-**
-** Real values:
-** An 8-byte big-endian IEEE 754-2008 real value.
-**
-** Varint values are encoded in the same way as varints in the SQLite
-** record format.
-**
-** CHANGESET FORMAT:
-**
-** A changeset is a collection of DELETE, UPDATE and INSERT operations on
-** one or more tables. Operations on a single table are grouped together,
-** but may occur in any order (i.e. deletes, updates and inserts are all
-** mixed together).
-**
-** Each group of changes begins with a table header:
-**
-** 1 byte: Constant 0x54 (capital 'T')
-** Varint: Number of columns in the table.
-** nCol bytes: 0x01 for PK columns, 0x00 otherwise.
-** N bytes: Unqualified table name (encoded using UTF-8). Nul-terminated.
-**
-** Followed by one or more changes to the table.
-**
-** 1 byte: Either SQLITE_INSERT (0x12), UPDATE (0x17) or DELETE (0x09).
-** 1 byte: The "indirect-change" flag.
-** old.* record: (delete and update only)
-** new.* record: (insert and update only)
-**
-** The "old.*" and "new.*" records, if present, are N field records in the
-** format described above under "RECORD FORMAT", where N is the number of
-** columns in the table. The i'th field of each record is associated with
-** the i'th column of the table, counting from left to right in the order
-** in which columns were declared in the CREATE TABLE statement.
-**
-** The new.* record that is part of each INSERT change contains the values
-** that make up the new row. Similarly, the old.* record that is part of each
-** DELETE change contains the values that made up the row that was deleted
-** from the database. In the changeset format, the records that are part
-** of INSERT or DELETE changes never contain any undefined (type byte 0x00)
-** fields.
-**
-** Within the old.* record associated with an UPDATE change, all fields
-** associated with table columns that are not PRIMARY KEY columns and are
-** not modified by the UPDATE change are set to "undefined". Other fields
-** are set to the values that made up the row before the UPDATE that the
-** change records took place. Within the new.* record, fields associated
-** with table columns modified by the UPDATE change contain the new
-** values. Fields associated with table columns that are not modified
-** are set to "undefined".
-**
-** PATCHSET FORMAT:
-**
-** A patchset is also a collection of changes. It is similar to a changeset,
-** but leaves undefined those fields that are not useful if no conflict
-** resolution is required when applying the changeset.
-**
-** Each group of changes begins with a table header:
-**
-** 1 byte: Constant 0x50 (capital 'P')
-** Varint: Number of columns in the table.
-** nCol bytes: 0x01 for PK columns, 0x00 otherwise.
-** N bytes: Unqualified table name (encoded using UTF-8). Nul-terminated.
-**
-** Followed by one or more changes to the table.
-**
-** 1 byte: Either SQLITE_INSERT (0x12), UPDATE (0x17) or DELETE (0x09).
-** 1 byte: The "indirect-change" flag.
-** single record: (PK fields for DELETE, PK and modified fields for UPDATE,
-** full record for INSERT).
-**
-** As in the changeset format, each field of the single record that is part
-** of a patchset change is associated with the correspondingly positioned
-** table column, counting from left to right within the CREATE TABLE
-** statement.
-**
-** For a DELETE change, all fields within the record except those associated
-** with PRIMARY KEY columns are omitted. The PRIMARY KEY fields contain the
-** values identifying the row to delete.
-**
-** For an UPDATE change, all fields except those associated with PRIMARY KEY
-** columns and columns that are modified by the UPDATE are set to "undefined".
-** PRIMARY KEY fields contain the values identifying the table row to update,
-** and fields associated with modified columns contain the new column values.
-**
-** The records associated with INSERT changes are in the same format as for
-** changesets. It is not possible for a record associated with an INSERT
-** change to contain a field set to "undefined".
-**
-** REBASE BLOB FORMAT:
-**
-** A rebase blob may be output by sqlite3changeset_apply_v2() and its
-** streaming equivalent for use with the sqlite3_rebaser APIs to rebase
-** existing changesets. A rebase blob contains one entry for each conflict
-** resolved using either the OMIT or REPLACE strategies within the apply_v2()
-** call.
-**
-** The format used for a rebase blob is very similar to that used for
-** changesets. All entries related to a single table are grouped together.
-**
-** Each group of entries begins with a table header in changeset format:
-**
-** 1 byte: Constant 0x54 (capital 'T')
-** Varint: Number of columns in the table.
-** nCol bytes: 0x01 for PK columns, 0x00 otherwise.
-** N bytes: Unqualified table name (encoded using UTF-8). Nul-terminated.
-**
-** Followed by one or more entries associated with the table.
-**
-** 1 byte: Either SQLITE_INSERT (0x12), DELETE (0x09).
-** 1 byte: Flag. 0x01 for REPLACE, 0x00 for OMIT.
-** record: (in the record format defined above).
-**
-** In a rebase blob, the first field is set to SQLITE_INSERT if the change
-** that caused the conflict was an INSERT or UPDATE, or to SQLITE_DELETE if
-** it was a DELETE. The second field is set to 0x01 if the conflict
-** resolution strategy was REPLACE, or 0x00 if it was OMIT.
-**
-** If the change that caused the conflict was a DELETE, then the single
-** record is a copy of the old.* record from the original changeset. If it
-** was an INSERT, then the single record is a copy of the new.* record. If
-** the conflicting change was an UPDATE, then the single record is a copy
-** of the new.* record with the PK fields filled in based on the original
-** old.* record.
- */
-
-/*
-** For each row modified during a session, there exists a single instance of
-** this structure stored in a SessionTable.aChange[] hash table.
- */
-type TSessionChange1 = struct {
- Fop Tu8
- FbIndirect Tu8
- FnRecordField Tu16
- FnMaxSize int32
- FnRecord int32
- FaRecord uintptr
- FpNext uintptr
-}
-
-type SessionChange1 = TSessionChange1
-
// C documentation
//
// /*
@@ -192524,13 +185067,6 @@ type TSessionStat1Ctx = struct {
type SessionStat1Ctx = TSessionStat1Ctx
-type TSessionStat1Ctx1 = struct {
- Fhook TSessionHook
- FpSession uintptr
-}
-
-type SessionStat1Ctx1 = TSessionStat1Ctx1
-
func _sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
@@ -193022,14 +185558,6 @@ type TSessionDiffCtx = struct {
type SessionDiffCtx = TSessionDiffCtx
-type TSessionDiffCtx1 = struct {
- FpStmt uintptr
- FbRowid int32
- FnOldOff int32
-}
-
-type SessionDiffCtx1 = TSessionDiffCtx1
-
// C documentation
//
// /*
@@ -193537,15 +186065,17 @@ func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) {
Xsqlite3_free(tls, pSession)
}
+type t__ccgo_fp__Xsqlite3session_table_filter_1 = func(*libc.TLS, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Set a table filter on a Session Object.
// */
-func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) {
+func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, __ccgo_fp_xFilter uintptr, pCtx uintptr) {
(*Tsqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = int32(1)
(*Tsqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx
- (*Tsqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter
+ (*Tsqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = __ccgo_fp_xFilter
}
// C documentation
@@ -194167,7 +186697,7 @@ func _sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab u
// ** occurs, an SQLite error code is returned and both output variables set
// ** to 0.
// */
-func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) (r int32) {
+func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, __ccgo_fp_xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var db, p, pTab, zName uintptr
@@ -194181,7 +186711,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
/* Zero the output variables in case an error occurs. If this session
** object is already in the error state (sqlite3_session.rc != SQLITE_OK),
** this call will be a no-op. */
- if xOutput == uintptr(0) {
+ if __ccgo_fp_xOutput == uintptr(0) {
*(*int32)(unsafe.Pointer(pnChangeset)) = 0
*(*uintptr)(unsafe.Pointer(ppChangeset)) = uintptr(0)
}
@@ -194257,8 +186787,8 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
}
/* If the buffer is now larger than sessions_strm_chunk_size, pass
** its contents to the xOutput() callback. */
- if xOutput != 0 && *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > nNoop && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp + 16)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
+ if __ccgo_fp_xOutput != 0 && *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > nNoop && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp + 16)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
nNoop = -int32(1)
(*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf = 0
}
@@ -194283,13 +186813,13 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext
}
if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
- if xOutput == uintptr(0) {
+ if __ccgo_fp_xOutput == uintptr(0) {
*(*int32)(unsafe.Pointer(pnChangeset)) = (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf
*(*uintptr)(unsafe.Pointer(ppChangeset)) = (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf
(*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf = uintptr(0)
} else {
if (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > 0 {
- *(*int32)(unsafe.Pointer(bp + 16)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
+ *(*int32)(unsafe.Pointer(bp + 16)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
}
}
}
@@ -194318,28 +186848,32 @@ func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uint
return rc
}
+type t__ccgo_fp__Xsqlite3session_changeset_strm_1 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3session_changeset().
// */
-func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) (r int32) {
- if xOutput == uintptr(0) {
+func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
+ if __ccgo_fp_xOutput == uintptr(0) {
return int32(SQLITE_MISUSE)
}
- return _sessionGenerateChangeset(tls, pSession, 0, xOutput, pOut, uintptr(0), uintptr(0))
+ return _sessionGenerateChangeset(tls, pSession, 0, __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
}
+type t__ccgo_fp__Xsqlite3session_patchset_strm_1 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3session_patchset().
// */
-func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) (r int32) {
- if xOutput == uintptr(0) {
+func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
+ if __ccgo_fp_xOutput == uintptr(0) {
return int32(SQLITE_MISUSE)
}
- return _sessionGenerateChangeset(tls, pSession, int32(1), xOutput, pOut, uintptr(0), uintptr(0))
+ return _sessionGenerateChangeset(tls, pSession, int32(1), __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
}
// C documentation
@@ -194478,7 +187012,7 @@ func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) (r Tsqlite3
// /*
// ** Do the work for either sqlite3changeset_start() or start_strm().
// */
-func _sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) (r int32) {
+func _sessionChangesetStart(tls *libc.TLS, pp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) (r int32) {
var nByte, v1 int32
var pRet uintptr
_, _, _ = nByte, pRet, v1 /* Number of bytes to allocate for iterator */
@@ -194493,9 +187027,9 @@ func _sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintp
libc.Xmemset(tls, pRet, 0, uint64(152))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FaData = pChangeset
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FnData = nChangeset
- (*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = xInput
+ (*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = __ccgo_fp_xInput
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FpIn = pIn
- if xInput != 0 {
+ if __ccgo_fp_xInput != 0 {
v1 = 0
} else {
v1 = int32(1)
@@ -194524,20 +187058,24 @@ func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pCh
return _sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0)
}
+type t__ccgo_fp__Xsqlite3changeset_start_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3changeset_start().
// */
-func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) (r int32) {
- return _sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0)
+func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr) (r int32) {
+ return _sessionChangesetStart(tls, pp, __ccgo_fp_xInput, pIn, 0, uintptr(0), 0, 0)
}
-func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) (r int32) {
+type t__ccgo_fp__Xsqlite3changeset_start_v2_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, flags int32) (r int32) {
var bInvert int32
_ = bInvert
bInvert = libc.BoolInt32(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETSTART_INVERT) != 0))
- return _sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0)
+ return _sessionChangesetStart(tls, pp, __ccgo_fp_xInput, pIn, 0, uintptr(0), bInvert, 0)
}
// C documentation
@@ -194712,7 +187250,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap
rc = _sessionInputBuffer(tls, pIn, int32(9))
if rc == SQLITE_OK {
if (*TSessionInput)(unsafe.Pointer(pIn)).FiNext >= (*TSessionInput)(unsafe.Pointer(pIn)).FnData {
- rc = _sqlite3CorruptError(tls, int32(231641))
+ rc = _sqlite3CorruptError(tls, int32(231668))
} else {
v3 = pIn + 8
v2 = *(*int32)(unsafe.Pointer(v3))
@@ -194736,7 +187274,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap
rc = _sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
if rc == SQLITE_OK {
if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext {
- rc = _sqlite3CorruptError(tls, int32(231661))
+ rc = _sqlite3CorruptError(tls, int32(231688))
} else {
if eType == int32(SQLITE_TEXT) {
v4 = int32(SQLITE_UTF8)
@@ -194751,7 +187289,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap
}
if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) {
if (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext < int32(8) {
- rc = _sqlite3CorruptError(tls, int32(231671))
+ rc = _sqlite3CorruptError(tls, int32(231698))
} else {
*(*Tsqlite3_int64)(unsafe.Pointer(bp + 8)) = _sessionGetI64(tls, aVal)
if eType == int32(SQLITE_INTEGER) {
@@ -194807,7 +187345,7 @@ func _sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) (
** large value for nCol may cause nRead to wrap around and become
** negative. Leading to a crash. */
if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > int32(65536) {
- rc = _sqlite3CorruptError(tls, int32(231719))
+ rc = _sqlite3CorruptError(tls, int32(231746))
} else {
rc = _sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+int32(100))
nRead += *(*int32)(unsafe.Pointer(bp))
@@ -194912,7 +187450,7 @@ func _sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) (r int32) {
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
_sessionBufferGrow(tls, p+72, int64(nByte), bp)
} else {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(231807))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(231834))
}
}
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
@@ -195018,7 +187556,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin
if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
/* The first record in the changeset is not a table header. Must be a
** corrupt changeset. */
- v7 = _sqlite3CorruptError(tls, int32(231893))
+ v7 = _sqlite3CorruptError(tls, int32(231920))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v7
return v7
}
@@ -195028,7 +187566,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin
*(*int32)(unsafe.Pointer(v9))++
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(v8))))
if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_DELETE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_INSERT) {
- v10 = _sqlite3CorruptError(tls, int32(231899))
+ v10 = _sqlite3CorruptError(tls, int32(231926))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v10
return v10
}
@@ -195107,7 +187645,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin
if *(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
*(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8))
if *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) {
- v16 = _sqlite3CorruptError(tls, int32(231943))
+ v16 = _sqlite3CorruptError(tls, int32(231970))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v16
return v16
}
@@ -195368,7 +187906,7 @@ func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) (r int32) {
return rc
}
-func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) (r int32) {
+func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) (r int32) {
bp := tls.Alloc(64)
defer tls.Free(64)
var abPK, apVal, pVal, pVal1, v7 uintptr
@@ -195517,11 +188055,11 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu
goto finished_invert
}
default:
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(232308))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(232335))
goto finished_invert
}
- if xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
+ if __ccgo_fp_xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
(*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf = 0
if *(*int32)(unsafe.Pointer(bp)) != SQLITE_OK {
goto finished_invert
@@ -195533,8 +188071,8 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu
*(*uintptr)(unsafe.Pointer(ppInverted)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf
(*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf = uintptr(0)
} else {
- if (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf > 0 && xOutput != uintptr(0) {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
+ if (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf > 0 && __ccgo_fp_xOutput != uintptr(0) {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
}
}
goto finished_invert
@@ -195562,12 +188100,16 @@ func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintpt
return _sessionChangesetInvert(tls, bp, uintptr(0), uintptr(0), pnInverted, ppInverted)
}
+type t__ccgo_fp__Xsqlite3changeset_invert_strm_0 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_invert_strm_2 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3changeset_invert().
// */
-func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) (r int32) {
+func Xsqlite3changeset_invert_strm(tls *libc.TLS, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
bp := tls.Alloc(80)
defer tls.Free(80)
var rc int32
@@ -195575,9 +188117,9 @@ func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, x
_ = rc
/* Set up the input stream */
libc.Xmemset(tls, bp, 0, uint64(72))
- (*(*TSessionInput)(unsafe.Pointer(bp))).FxInput = xInput
+ (*(*TSessionInput)(unsafe.Pointer(bp))).FxInput = __ccgo_fp_xInput
(*(*TSessionInput)(unsafe.Pointer(bp))).FpIn = pIn
- rc = _sessionChangesetInvert(tls, bp, xOutput, pOut, uintptr(0), uintptr(0))
+ rc = _sessionChangesetInvert(tls, bp, __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
Xsqlite3_free(tls, (*(*TSessionInput)(unsafe.Pointer(bp))).Fbuf.FaBuf)
return rc
}
@@ -195590,14 +188132,6 @@ type TSessionUpdate = struct {
type SessionUpdate = TSessionUpdate
-type TSessionUpdate1 = struct {
- FpStmt uintptr
- FaMask uintptr
- FpNext uintptr
-}
-
-type SessionUpdate1 = TSessionUpdate1
-
type TSessionApplyCtx = struct {
Fdb uintptr
FpDelete uintptr
@@ -195621,29 +188155,6 @@ type TSessionApplyCtx = struct {
type SessionApplyCtx = TSessionApplyCtx
-type TSessionApplyCtx1 = struct {
- Fdb uintptr
- FpDelete uintptr
- FpInsert uintptr
- FpSelect uintptr
- FnCol int32
- FazCol uintptr
- FabPK uintptr
- FaUpdateMask uintptr
- FpUp uintptr
- FbStat1 int32
- FbDeferConstraints int32
- FbInvertConstraints int32
- Fconstraints TSessionBuffer
- Frebase TSessionBuffer
- FbRebaseStarted Tu8
- FbRebase Tu8
- FbIgnoreNoop Tu8
- FbRowid int32
-}
-
-type SessionApplyCtx1 = TSessionApplyCtx1
-
/* Number of prepared UPDATE statements to cache. */
// C documentation
@@ -196047,7 +188558,7 @@ func _sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) (r i
// **
// ** An SQLite error code is returned if an error occurs. Otherwise, SQLITE_OK.
// */
-func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) (r int32) {
+func _sessionBindRow(tls *libc.TLS, pIter uintptr, __ccgo_fp_xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var i, rc int32
@@ -196065,11 +188576,11 @@ func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, a
}
if !(abPK != 0) || *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
- (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xValue})))(tls, pIter, i, bp)
+ (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xValue})))(tls, pIter, i, bp)
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
/* The value in the changeset was "undefined". This indicates a
** corrupt changeset blob. */
- rc = _sqlite3CorruptError(tls, int32(232790))
+ rc = _sqlite3CorruptError(tls, int32(232817))
} else {
rc = _sessionBindValue(tls, pStmt, i+int32(1), *(*uintptr)(unsafe.Pointer(bp)))
}
@@ -196246,7 +188757,7 @@ func _sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) (r
// ** SQLITE_MISUSE. If the conflict handler returns SQLITE_CHANGESET_OMIT,
// ** this function returns SQLITE_OK.
// */
-func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) (r int32) {
+func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, pbReplace uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var aBlob uintptr
@@ -196270,7 +188781,7 @@ func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintpt
res = SQLITE_CHANGESET_OMIT
} else {
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*TSessionApplyCtx)(unsafe.Pointer(p)).FpSelect
- res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConflict})))(tls, pCtx, eType, pIter)
+ res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConflict})))(tls, pCtx, eType, pIter)
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0)
}
*(*int32)(unsafe.Pointer(bp)) = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpSelect)
@@ -196285,7 +188796,7 @@ func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintpt
return SQLITE_OK
} else {
/* No other row with the new.* primary key. */
- res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConflict})))(tls, pCtx, eType+int32(1), pIter)
+ res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConflict})))(tls, pCtx, eType+int32(1), pIter)
if res == int32(SQLITE_CHANGESET_REPLACE) {
*(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_MISUSE)
}
@@ -196336,7 +188847,7 @@ func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintpt
// ** returns SQLITE_ABORT. Otherwise, if no error occurs, SQLITE_OK is
// ** returned.
// */
-func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) (r int32) {
+func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var abPK, pNew, pOld, v1 uintptr
@@ -196376,10 +188887,10 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
Xsqlite3_step(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpDelete)
rc = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpDelete)
if rc == SQLITE_OK && Xsqlite3_changes(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0 && libc.Int32FromUint8((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop) == 0 {
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, xConflict, pCtx, pbRetry)
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, __ccgo_fp_xConflict, pCtx, pbRetry)
} else {
if rc&int32(0xff) == int32(SQLITE_CONSTRAINT) {
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, xConflict, pCtx, uintptr(0))
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, __ccgo_fp_xConflict, pCtx, uintptr(0))
}
}
} else {
@@ -196417,11 +188928,11 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
/* A NOTFOUND or DATA error. Search the table to see if it contains
** a row with a matching primary key. If so, this is a DATA conflict.
** Otherwise, if there is no primary key match, it is a NOTFOUND. */
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, xConflict, pCtx, pbRetry)
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, __ccgo_fp_xConflict, pCtx, pbRetry)
} else {
if rc&int32(0xff) == int32(SQLITE_CONSTRAINT) {
/* This is always a CONSTRAINT conflict. */
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, xConflict, pCtx, uintptr(0))
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, __ccgo_fp_xConflict, pCtx, uintptr(0))
}
}
} else {
@@ -196444,7 +188955,7 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
rc = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpInsert)
}
if rc&int32(0xff) == int32(SQLITE_CONSTRAINT) {
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, xConflict, pCtx, pbReplace)
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, __ccgo_fp_xConflict, pCtx, pbReplace)
}
}
}
@@ -196463,7 +188974,7 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
// ** returns SQLITE_CHANGESET_REPLACE - indicating that the change should be
// ** retried in some manner.
// */
-func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
+func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
@@ -196472,7 +188983,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
_ = rc
*(*int32)(unsafe.Pointer(bp)) = 0
*(*int32)(unsafe.Pointer(bp + 4)) = 0
- rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, bp, bp+4)
+ rc = _sessionApplyOneOp(tls, pIter, pApply, __ccgo_fp_xConflict, pCtx, bp, bp+4)
if rc == SQLITE_OK {
/* If the bRetry flag is set, the change has not been applied due to an
** SQLITE_CHANGESET_DATA problem (i.e. this is an UPDATE or DELETE and
@@ -196482,7 +188993,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
** but pass NULL as the final argument so that sessionApplyOneOp() ignores
** the SQLITE_CHANGESET_DATA problem. */
if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
- rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
+ rc = _sessionApplyOneOp(tls, pIter, pApply, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0))
} else {
if *(*int32)(unsafe.Pointer(bp)) != 0 {
rc = Xsqlite3_exec(tls, db, __ccgo_ts+34777, uintptr(0), uintptr(0), uintptr(0))
@@ -196495,7 +189006,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
rc = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete)
}
if rc == SQLITE_OK {
- rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
+ rc = _sessionApplyOneOp(tls, pIter, pApply, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0))
}
if rc == SQLITE_OK {
rc = Xsqlite3_exec(tls, db, __ccgo_ts+34798, uintptr(0), uintptr(0), uintptr(0))
@@ -196511,7 +189022,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
// /*
// ** Retry the changes accumulated in the pApply->constraints buffer.
// */
-func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
+func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var cons TSessionBuffer
@@ -196538,7 +189049,7 @@ func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab u
libc.Xmemset(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).FapValue, 0, nByte)
}
for *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
- *(*int32)(unsafe.Pointer(bp)) = _sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8)), pApply, xConflict, pCtx)
+ *(*int32)(unsafe.Pointer(bp)) = _sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8)), pApply, __ccgo_fp_xConflict, pCtx)
}
rc2 = Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
@@ -196566,7 +189077,7 @@ func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab u
// ** conflict handler callback is invoked to resolve any conflicts encountered
// ** while applying the change.
// */
-func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
+func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
bp := tls.Alloc(352)
defer tls.Free(352)
var bPatchset, i, nMinCol, nTab, rc, rc2, res, schemaMismatch, v2, v3, v4, v6 int32
@@ -196606,7 +189117,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, pIter) {
Xsqlite3changeset_op(tls, pIter, bp+144, bp+136, bp+140, uintptr(0))
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) || Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 144)), *(*uintptr)(unsafe.Pointer(bp)), nTab+int32(1)) != 0 {
- rc = _sessionRetryConstraints(tls, db, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+8, xConflict, pCtx)
+ rc = _sessionRetryConstraints(tls, db, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+8, __ccgo_fp_xConflict, pCtx)
if rc != SQLITE_OK {
break
}
@@ -196630,7 +189141,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
/* If an xFilter() callback was specified, invoke it now. If the
** xFilter callback returns zero, skip this table. If it returns
** non-zero, proceed. */
- schemaMismatch = libc.BoolInt32(xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144))))
+ schemaMismatch = libc.BoolInt32(__ccgo_fp_xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144))))
if schemaMismatch != 0 {
*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3888, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144))))
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
@@ -196706,7 +189217,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
if schemaMismatch != 0 {
continue
}
- rc = _sessionApplyOneWithRetry(tls, db, pIter, bp+8, xConflict, pCtx)
+ rc = _sessionApplyOneWithRetry(tls, db, pIter, bp+8, __ccgo_fp_xConflict, pCtx)
}
bPatchset = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset
if rc == SQLITE_OK {
@@ -196715,7 +189226,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
Xsqlite3changeset_finalize(tls, pIter)
}
if rc == SQLITE_OK {
- rc = _sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+8, xConflict, pCtx)
+ rc = _sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+8, __ccgo_fp_xConflict, pCtx)
}
if rc == SQLITE_OK {
Xsqlite3_db_status(tls, db, int32(SQLITE_DBSTATUS_DEFERRED_FKS), bp+160, bp+164, 0)
@@ -196723,7 +189234,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
res = int32(SQLITE_CHANGESET_ABORT)
libc.Xmemset(tls, bp+168, 0, uint64(152))
(*(*Tsqlite3_changeset_iter)(unsafe.Pointer(bp + 168))).FnCol = *(*int32)(unsafe.Pointer(bp + 160))
- res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConflict})))(tls, pCtx, int32(SQLITE_CHANGESET_FOREIGN_KEY), bp+168)
+ res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConflict})))(tls, pCtx, int32(SQLITE_CHANGESET_FOREIGN_KEY), bp+168)
if res != SQLITE_CHANGESET_OMIT {
rc = int32(SQLITE_CONSTRAINT)
}
@@ -196762,13 +189273,17 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
return rc
}
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
// ** Apply the changeset passed via pChangeset/nChangeset to the main
// ** database attached to handle "db".
// */
-func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
+func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var bInv, rc int32
@@ -196777,11 +189292,15 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh
bInv = libc.BoolInt32(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_INVERT) != 0))
rc = _sessionChangesetStart(tls, bp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInv, int32(1))
if rc == SQLITE_OK {
- rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags)
+ rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, ppRebase, pnRebase, flags)
}
return rc
}
+type t__ccgo_fp__Xsqlite3changeset_apply_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
@@ -196789,10 +189308,16 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh
// ** attached to handle "db". Invoke the supplied conflict handler callback
// ** to resolve any conflicts encountered while applying the change.
// */
-func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
- return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0)
+func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
+ return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0), 0)
}
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_strm_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_strm_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
@@ -196800,37 +189325,29 @@ func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChang
// ** attached to handle "db". Invoke the supplied conflict handler callback
// ** to resolve any conflicts encountered while applying the change.
// */
-func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
+func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var bInverse, rc int32
var _ /* pIter at bp+0 */ uintptr
_, _ = bInverse, rc /* Iterator to skip through changeset */
bInverse = libc.BoolInt32(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_INVERT) != 0))
- rc = _sessionChangesetStart(tls, bp, xInput, pIn, 0, uintptr(0), bInverse, int32(1))
+ rc = _sessionChangesetStart(tls, bp, __ccgo_fp_xInput, pIn, 0, uintptr(0), bInverse, int32(1))
if rc == SQLITE_OK {
- rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags)
+ rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, ppRebase, pnRebase, flags)
}
return rc
}
-func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
- return Xsqlite3changeset_apply_v2_strm(tls, db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0)
-}
+type t__ccgo_fp__Xsqlite3changeset_apply_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
-/*
-** sqlite3_changegroup handle.
- */
-type Tsqlite3_changegroup1 = struct {
- Frc int32
- FbPatch int32
- FpList uintptr
- Frec TSessionBuffer
- Fdb uintptr
- FzDb uintptr
-}
+type t__ccgo_fp__Xsqlite3changeset_apply_strm_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_strm_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
-type sqlite3_changegroup1 = Tsqlite3_changegroup1
+func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
+ return Xsqlite3changeset_apply_v2_strm(tls, db, __ccgo_fp_xInput, pIn, __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0), 0)
+}
// C documentation
//
@@ -197406,7 +189923,7 @@ func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase
// ** error code. If an error occurs and xOutput is NULL, (*ppOut) and (*pnOut)
// ** are both set to 0 before returning.
// */
-func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
+func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var i int32
@@ -197441,8 +189958,8 @@ func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOu
_sessionAppendByte(tls, bp+8, (*TSessionChange)(unsafe.Pointer(p)).Fop, bp)
_sessionAppendByte(tls, bp+8, (*TSessionChange)(unsafe.Pointer(p)).FbIndirect, bp)
_sessionAppendBlob(tls, bp+8, (*TSessionChange)(unsafe.Pointer(p)).FaRecord, (*TSessionChange)(unsafe.Pointer(p)).FnRecord, bp)
- if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
+ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && __ccgo_fp_xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
(*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf = 0
}
goto _3
@@ -197461,9 +189978,9 @@ func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOu
pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext
}
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
- if xOutput != 0 {
+ if __ccgo_fp_xOutput != 0 {
if (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf > 0 {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
}
} else {
if ppOut != 0 {
@@ -197574,18 +190091,20 @@ func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppD
return _sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData)
}
+type t__ccgo_fp__Xsqlite3changegroup_add_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Streaming versions of changegroup_add().
// */
-func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) (r int32) {
+func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
var _ /* pIter at bp+0 */ uintptr
_ = rc /* Return code */
- rc = Xsqlite3changeset_start_strm(tls, bp, xInput, pIn)
+ rc = Xsqlite3changeset_start_strm(tls, bp, __ccgo_fp_xInput, pIn)
if rc == SQLITE_OK {
rc = _sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp)), pGrp, 0)
}
@@ -197593,13 +190112,15 @@ func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, p
return rc
}
+type t__ccgo_fp__Xsqlite3changegroup_output_strm_1 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming versions of changegroup_output().
// */
-func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) (r int32) {
- return _sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0))
+func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
+ return _sessionChangegroupOutput(tls, pGrp, __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
}
// C documentation
@@ -197641,12 +190162,18 @@ func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight
return rc
}
+type t__ccgo_fp__Xsqlite3changeset_concat_strm_0 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_concat_strm_2 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_concat_strm_4 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3changeset_concat().
// */
-func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) (r int32) {
+func Xsqlite3changeset_concat_strm(tls *libc.TLS, __ccgo_fp_xInputA uintptr, pInA uintptr, __ccgo_fp_xInputB uintptr, pInB uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
@@ -197654,27 +190181,18 @@ func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr,
_ = rc
rc = Xsqlite3changegroup_new(tls, bp)
if rc == SQLITE_OK {
- rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), xInputA, pInA)
+ rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xInputA, pInA)
}
if rc == SQLITE_OK {
- rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), xInputB, pInB)
+ rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xInputB, pInB)
}
if rc == SQLITE_OK {
- rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), xOutput, pOut)
+ rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xOutput, pOut)
}
Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp)))
return rc
}
-/*
-** Changeset rebaser handle.
- */
-type Tsqlite3_rebaser1 = struct {
- Fgrp Tsqlite3_changegroup
-}
-
-type sqlite3_rebaser1 = Tsqlite3_rebaser1
-
// C documentation
//
// /*
@@ -197829,7 +190347,7 @@ func _sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRe
// ** pnOut are not NULL, then the two output parameters are set to 0 before
// ** returning.
// */
-func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
+func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
bp := tls.Alloc(48)
defer tls.Free(48)
var bDone, iHash, v2 int32
@@ -197937,8 +190455,8 @@ func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pO
_sessionAppendByte(tls, bp+24, libc.Uint8FromInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp)
_sessionAppendBlob(tls, bp+24, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*int32)(unsafe.Pointer(bp + 16)), bp)
}
- if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf > _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf)
+ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && __ccgo_fp_xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf > _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf)
(*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf = 0
}
if *(*int32)(unsafe.Pointer(bp)) != 0 {
@@ -197950,9 +190468,9 @@ func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pO
libc.Xmemset(tls, bp+24, 0, uint64(16))
}
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
- if xOutput != 0 {
+ if __ccgo_fp_xOutput != 0 {
if (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf > 0 {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf)
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf)
}
} else {
if ppOut != 0 {
@@ -198026,21 +190544,25 @@ func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pn
return rc
}
+type t__ccgo_fp__Xsqlite3rebaser_rebase_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3rebaser_rebase_strm_3 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Rebase a changeset according to current rebaser configuration
// */
-func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) (r int32) {
+func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
var _ /* pIter at bp+0 */ uintptr
_ = rc
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Iterator to skip through input */
- rc = Xsqlite3changeset_start_strm(tls, bp, xInput, pIn)
+ rc = Xsqlite3changeset_start_strm(tls, bp, __ccgo_fp_xInput, pIn)
if rc == SQLITE_OK {
- rc = _sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp)), xOutput, pOut, uintptr(0), uintptr(0))
+ rc = _sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp)))
}
return rc
@@ -198197,18 +190719,6 @@ type TFts5Colset = struct {
type Fts5Colset = TFts5Colset
-/* If a NEAR() clump or phrase may only match a specific set of columns,
-** then an object of the following type is used to record the set of columns.
-** Each entry in the aiCol[] array is a column that may be matched.
-**
-** This object is used by fts5_expr.c and fts5_index.c.
- */
-type TFts5Colset1 = struct {
- FnCol int32
-}
-
-type Fts5Colset1 = TFts5Colset1
-
/* Size (int bytes) of a complete Fts5Colset object with N columns. */
/**************************************************************************
@@ -198268,99 +190778,6 @@ type TFts5TokenizerConfig = struct {
type Fts5TokenizerConfig = TFts5TokenizerConfig
-type TFts5TokenizerConfig1 = struct {
- FpTok uintptr
- FpApi2 uintptr
- FpApi1 uintptr
- FazArg uintptr
- FnArg int32
- FePattern int32
- FpLocale uintptr
- FnLocale int32
-}
-
-type Fts5TokenizerConfig1 = TFts5TokenizerConfig1
-
-/*
-** An instance of the following structure encodes all information that can
-** be gleaned from the CREATE VIRTUAL TABLE statement.
-**
-** And all information loaded from the %_config table.
-**
-** nAutomerge:
-** The minimum number of segments that an auto-merge operation should
-** attempt to merge together. A value of 1 sets the object to use the
-** compile time default. Zero disables auto-merge altogether.
-**
-** bContentlessDelete:
-** True if the contentless_delete option was present in the CREATE
-** VIRTUAL TABLE statement.
-**
-** zContent:
-**
-** zContentRowid:
-** The value of the content_rowid= option, if one was specified. Or
-** the string "rowid" otherwise. This text is not quoted - if it is
-** used as part of an SQL statement it needs to be quoted appropriately.
-**
-** zContentExprlist:
-**
-** pzErrmsg:
-** This exists in order to allow the fts5_index.c module to return a
-** decent error message if it encounters a file-format version it does
-** not understand.
-**
-** bColumnsize:
-** True if the %_docsize table is created.
-**
-** bPrefixIndex:
-** This is only used for debugging. If set to false, any prefix indexes
-** are ignored. This value is configured using:
-**
-** INSERT INTO tbl(tbl, rank) VALUES('prefix-index', $bPrefixIndex);
-**
-** bLocale:
-** Set to true if locale=1 was specified when the table was created.
- */
-type TFts5Config1 = struct {
- Fdb uintptr
- FpGlobal uintptr
- FzDb uintptr
- FzName uintptr
- FnCol int32
- FazCol uintptr
- FabUnindexed uintptr
- FnPrefix int32
- FaPrefix uintptr
- FeContent int32
- FbContentlessDelete int32
- FbContentlessUnindexed int32
- FzContent uintptr
- FzContentRowid uintptr
- FbColumnsize int32
- FbTokendata int32
- FbLocale int32
- FeDetail int32
- FzContentExprlist uintptr
- Ft TFts5TokenizerConfig
- FbLock int32
- FiVersion int32
- FiCookie int32
- Fpgsz int32
- FnAutomerge int32
- FnCrisisMerge int32
- FnUsermerge int32
- FnHashSize int32
- FzRank uintptr
- FzRankArgs uintptr
- FbSecureDelete int32
- FnDeleteMerge int32
- FbPrefixInsttoken int32
- FpzErrmsg uintptr
-}
-
-type Fts5Config1 = TFts5Config1
-
/*
** End of interface to code in fts5_config.c.
**************************************************************************/
@@ -198382,14 +190799,6 @@ type TFts5Buffer = struct {
type Fts5Buffer = TFts5Buffer
-type TFts5Buffer1 = struct {
- Fp uintptr
- Fn int32
- FnSpace int32
-}
-
-type Fts5Buffer1 = TFts5Buffer1
-
type TFts5PoslistReader = struct {
Fa uintptr
Fn int32
@@ -198401,29 +190810,12 @@ type TFts5PoslistReader = struct {
type Fts5PoslistReader = TFts5PoslistReader
-type TFts5PoslistReader1 = struct {
- Fa uintptr
- Fn int32
- Fi int32
- FbFlag Tu8
- FbEof Tu8
- FiPos Ti64
-}
-
-type Fts5PoslistReader1 = TFts5PoslistReader1
-
type TFts5PoslistWriter = struct {
FiPrev Ti64
}
type Fts5PoslistWriter = TFts5PoslistWriter
-type TFts5PoslistWriter1 = struct {
- FiPrev Ti64
-}
-
-type Fts5PoslistWriter1 = TFts5PoslistWriter1
-
// C documentation
//
// /* Bucket of terms object used by the integrity-check in offsets=0 mode. */
@@ -198479,15 +190871,6 @@ type TFts5IndexIter = struct {
type Fts5IndexIter = TFts5IndexIter
-type TFts5IndexIter1 = struct {
- FiRowid Ti64
- FpData uintptr
- FnData int32
- FbEof Tu8
-}
-
-type Fts5IndexIter1 = TFts5IndexIter1
-
/*
** End of interface to code in fts5_varint.c.
**************************************************************************/
@@ -198509,14 +190892,6 @@ type TFts5Table = struct {
type Fts5Table = TFts5Table
-type TFts5Table1 = struct {
- Fbase Tsqlite3_vtab
- FpConfig uintptr
- FpIndex uintptr
-}
-
-type Fts5Table1 = TFts5Table1
-
/*
** End of interface to code in fts5.c.
**************************************************************************/
@@ -198626,13 +191001,6 @@ type TFts5ExprNearset = struct {
type Fts5ExprNearset = TFts5ExprNearset
-type TFts5Token1 = struct {
- Fp uintptr
- Fn int32
-}
-
-type Fts5Token1 = TFts5Token1
-
type TFts5PoslistPopulator = struct {
Fwriter TFts5PoslistWriter
FbOk int32
@@ -199199,14 +191567,6 @@ var _fts5yy_default = [35]uint8{
** actually contains the reduce action for the second half of the
** SHIFTREDUCE.
*/
-type Tfts5yyStackEntry1 = struct {
- Fstateno uint8
- Fmajor uint8
- Fminor Tfts5YYMINORTYPE
-}
-
-type fts5yyStackEntry1 = Tfts5yyStackEntry1
-
type Tfts5yyStackEntry = struct {
Fstateno uint8
Fmajor uint8
@@ -199217,16 +191577,6 @@ type fts5yyStackEntry = Tfts5yyStackEntry
/* The state of the parser is completely contained in an instance of
** the following structure */
-type Tfts5yyParser1 = struct {
- Ffts5yytos uintptr
- FpParse uintptr
- Ffts5yystackEnd uintptr
- Ffts5yystack uintptr
- Ffts5yystk0 [100]Tfts5yyStackEntry
-}
-
-type fts5yyParser1 = Tfts5yyParser1
-
type Tfts5yyParser = struct {
Ffts5yytos uintptr
FpParse uintptr
@@ -199278,10 +191628,10 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) {
// ** A pointer to a parser. This pointer is used in subsequent calls
// ** to sqlite3Fts5Parser and sqlite3Fts5ParserFree.
// */
-func _sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) (r uintptr) {
+func _sqlite3Fts5ParserAlloc(tls *libc.TLS, __ccgo_fp_mallocProc uintptr) (r uintptr) {
var fts5yypParser uintptr
_ = fts5yypParser
- fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2432))
+ fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_mallocProc})))(tls, libc.Uint64FromInt64(2432))
if fts5yypParser != 0 {
_sqlite3Fts5ParserInit(tls, fts5yypParser)
}
@@ -199387,12 +191737,12 @@ func _sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) {
// ** is defined in a %include section of the input grammar) then it is
// ** assumed that the input pointer is never NULL.
// */
-func _sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) {
+func _sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, __ccgo_fp_freeProc uintptr) {
if p == uintptr(0) {
return
}
_sqlite3Fts5ParserFinalize(tls, p)
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{freeProc})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_freeProc})))(tls, p)
}
/*
@@ -199993,18 +192343,6 @@ type TCInstIter = struct {
type CInstIter = TCInstIter
-type TCInstIter1 = struct {
- FpApi uintptr
- FpFts uintptr
- FiCol int32
- FiInst int32
- FnInst int32
- FiStart int32
- FiEnd int32
-}
-
-type CInstIter1 = TCInstIter1
-
// C documentation
//
// /*
@@ -200087,22 +192425,6 @@ type THighlightContext = struct {
type HighlightContext = THighlightContext
-type THighlightContext1 = struct {
- FiRangeStart int32
- FiRangeEnd int32
- FzOpen uintptr
- FzClose uintptr
- FzIn uintptr
- FnIn int32
- Fiter TCInstIter
- FiPos int32
- FiOff int32
- FbOpen int32
- FzOut uintptr
-}
-
-type HighlightContext1 = THighlightContext1
-
// C documentation
//
// /*
@@ -200280,16 +192602,6 @@ type TFts5SFinder = struct {
type Fts5SFinder = TFts5SFinder
-type TFts5SFinder1 = struct {
- FiPos int32
- FnFirstAlloc int32
- FnFirst int32
- FaFirst uintptr
- FzDoc uintptr
-}
-
-type Fts5SFinder1 = TFts5SFinder1
-
// C documentation
//
// /*
@@ -200657,15 +192969,6 @@ type TFts5Bm25Data = struct {
type Fts5Bm25Data = TFts5Bm25Data
-type TFts5Bm25Data1 = struct {
- FnPhrase int32
- Favgdl float64
- FaIDF uintptr
- FaFreq uintptr
-}
-
-type Fts5Bm25Data1 = TFts5Bm25Data1
-
// C documentation
//
// /*
@@ -201396,21 +193699,6 @@ type TFts5TermsetEntry = struct {
type Fts5TermsetEntry = TFts5TermsetEntry
-type TFts5TermsetEntry1 = struct {
- FpTerm uintptr
- FnTerm int32
- FiIdx int32
- FpNext uintptr
-}
-
-type Fts5TermsetEntry1 = TFts5TermsetEntry1
-
-type TFts5Termset1 = struct {
- FapHash [512]uintptr
-}
-
-type Fts5Termset1 = TFts5Termset1
-
func _sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
@@ -201719,13 +194007,6 @@ func _sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) {
}
}
-type TFts5Enum1 = struct {
- FzName uintptr
- FeVal int32
-}
-
-type Fts5Enum1 = TFts5Enum1
-
type TFts5Enum = struct {
FzName uintptr
FeVal int32
@@ -202381,7 +194662,7 @@ func _sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) (r int32) {
// ** because the callback returned another non-zero value, it is assumed
// ** to be an SQLite error code and returned to the caller.
// */
-func _sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, xToken uintptr) (r int32) {
+func _sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, __ccgo_fp_xToken uintptr) (r int32) {
var rc int32
_ = rc
rc = SQLITE_OK
@@ -202391,9 +194672,9 @@ func _sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uin
}
if rc == SQLITE_OK {
if (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi1 != 0 {
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi1)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, xToken)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi1)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, __ccgo_fp_xToken)
} else {
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer_v2)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi2)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpLocale, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FnLocale, xToken)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer_v2)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi2)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpLocale, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FnLocale, __ccgo_fp_xToken)
}
}
}
@@ -202755,115 +195036,6 @@ type TFts5ExprTerm = struct {
type Fts5ExprTerm = TFts5ExprTerm
-type TFts5Expr1 = struct {
- FpIndex uintptr
- FpConfig uintptr
- FpRoot uintptr
- FbDesc int32
- FnPhrase int32
- FapExprPhrase uintptr
-}
-
-type Fts5Expr1 = TFts5Expr1
-
-/*
-** eType:
-** Expression node type. Usually one of:
-**
-** FTS5_AND (nChild, apChild valid)
-** FTS5_OR (nChild, apChild valid)
-** FTS5_NOT (nChild, apChild valid)
-** FTS5_STRING (pNear valid)
-** FTS5_TERM (pNear valid)
-**
-** An expression node with eType==0 may also exist. It always matches zero
-** rows. This is created when a phrase containing no tokens is parsed.
-** e.g. "".
-**
-** iHeight:
-** Distance from this node to furthest leaf. This is always 0 for nodes
-** of type FTS5_STRING and FTS5_TERM. For all other nodes it is one
-** greater than the largest child value.
- */
-type TFts5ExprNode1 = struct {
- FeType int32
- FbEof int32
- FbNomatch int32
- FiHeight int32
- FxNext uintptr
- FiRowid Ti64
- FpNear uintptr
- FnChild int32
-}
-
-type Fts5ExprNode1 = TFts5ExprNode1
-
-/* Size (in bytes) of an Fts5ExprNode object that holds up to N children */
-
-/*
-** Invoke the xNext method of an Fts5ExprNode object. This macro should be
-** used as if it has the same signature as the xNext() methods themselves.
- */
-
-/*
-** An instance of the following structure represents a single search term
-** or term prefix.
- */
-type TFts5ExprTerm1 = struct {
- FbPrefix Tu8
- FbFirst Tu8
- FpTerm uintptr
- FnQueryTerm int32
- FnFullTerm int32
- FpIter uintptr
- FpSynonym uintptr
-}
-
-type Fts5ExprTerm1 = TFts5ExprTerm1
-
-/*
-** A phrase. One or more terms that must appear in a contiguous sequence
-** within a document for it to match.
- */
-type TFts5ExprPhrase1 = struct {
- FpNode uintptr
- Fposlist TFts5Buffer
- FnTerm int32
-}
-
-type Fts5ExprPhrase1 = TFts5ExprPhrase1
-
-/* Size (in bytes) of an Fts5ExprPhrase object that holds up to N terms */
-
-/*
-** One or more phrases that must appear within a certain token distance of
-** each other within each matching document.
- */
-type TFts5ExprNearset1 = struct {
- FnNear int32
- FpColset uintptr
- FnPhrase int32
-}
-
-type Fts5ExprNearset1 = TFts5ExprNearset1
-
-/* Size (in bytes) of an Fts5ExprNearset object covering up to N phrases */
-
-/*
-** Parse context.
- */
-type TFts5Parse1 = struct {
- FpConfig uintptr
- FzErr uintptr
- Frc int32
- FnPhrase int32
- FapPhrase uintptr
- FpExpr uintptr
- FbPhraseToAnd int32
-}
-
-type Fts5Parse1 = TFts5Parse1
-
/*
** Check that the Fts5ExprNode.iHeight variables are set correctly in
** the expression tree passed as the only argument.
@@ -203548,16 +195720,6 @@ type TFts5LookaheadReader = struct {
type Fts5LookaheadReader = TFts5LookaheadReader
-type TFts5LookaheadReader1 = struct {
- Fa uintptr
- Fn int32
- Fi int32
- FiPos Ti64
- FiLookahead Ti64
-}
-
-type Fts5LookaheadReader1 = TFts5LookaheadReader1
-
func _fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) (r int32) {
(*TFts5LookaheadReader)(unsafe.Pointer(p)).FiPos = (*TFts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead
if _sqlite3Fts5PoslistNext64(tls, (*TFts5LookaheadReader)(unsafe.Pointer(p)).Fa, (*TFts5LookaheadReader)(unsafe.Pointer(p)).Fn, p+12, p+24) != 0 {
@@ -203582,14 +195744,6 @@ type TFts5NearTrimmer = struct {
type Fts5NearTrimmer = TFts5NearTrimmer
-type TFts5NearTrimmer1 = struct {
- Freader TFts5LookaheadReader
- Fwriter TFts5PoslistWriter
- FpOut uintptr
-}
-
-type Fts5NearTrimmer1 = TFts5NearTrimmer1
-
// C documentation
//
// /*
@@ -204710,14 +196864,6 @@ type TTokenCtx = struct {
type TokenCtx = TTokenCtx
-type TTokenCtx1 = struct {
- FpPhrase uintptr
- FpConfig uintptr
- Frc int32
-}
-
-type TokenCtx1 = TTokenCtx1
-
// C documentation
//
// /*
@@ -205658,14 +197804,6 @@ func _sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uin
return nRet
}
-type TFts5PoslistPopulator1 = struct {
- Fwriter TFts5PoslistWriter
- FbOk int32
- FbMiss int32
-}
-
-type Fts5PoslistPopulator1 = TFts5PoslistPopulator1
-
// C documentation
//
// /*
@@ -205705,14 +197843,6 @@ func _sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) (r
return pRet
}
-type TFts5ExprCtx1 = struct {
- FpExpr uintptr
- FaPopulator uintptr
- FiOff Ti64
-}
-
-type Fts5ExprCtx1 = TFts5ExprCtx1
-
type TFts5ExprCtx = struct {
FpExpr uintptr
FaPopulator uintptr
@@ -206076,66 +198206,6 @@ type TFts5HashEntry = struct {
type Fts5HashEntry = TFts5HashEntry
-/*
-** This file contains the implementation of an in-memory hash table used
-** to accumulate "term -> doclist" content before it is flushed to a level-0
-** segment.
- */
-
-type TFts5Hash1 = struct {
- FeDetail int32
- FpnByte uintptr
- FnEntry int32
- FnSlot int32
- FpScan uintptr
- FaSlot uintptr
-}
-
-type Fts5Hash1 = TFts5Hash1
-
-/*
-** Each entry in the hash table is represented by an object of the
-** following type. Each object, its key, and its current data are stored
-** in a single memory allocation. The key immediately follows the object
-** in memory. The position list data immediately follows the key data
-** in memory.
-**
-** The key is Fts5HashEntry.nKey bytes in size. It consists of a single
-** byte identifying the index (either the main term index or a prefix-index),
-** followed by the term data. For example: "0token". There is no
-** nul-terminator - in this case nKey=6.
-**
-** The data that follows the key is in a similar, but not identical format
-** to the doclist data stored in the database. It is:
-**
-** * Rowid, as a varint
-** * Position list, without 0x00 terminator.
-** * Size of previous position list and rowid, as a 4 byte
-** big-endian integer.
-**
-** iRowidOff:
-** Offset of last rowid written to data area. Relative to first byte of
-** structure.
-**
-** nData:
-** Bytes of data written since iRowidOff.
- */
-type TFts5HashEntry1 = struct {
- FpHashNext uintptr
- FpScanNext uintptr
- FnAlloc int32
- FiSzPoslist int32
- FnData int32
- FnKey int32
- FbDel Tu8
- FbContent Tu8
- FiCol Ti16
- FiPos int32
- FiRowid Ti64
-}
-
-type Fts5HashEntry1 = TFts5HashEntry1
-
/*
** Equivalent to:
**
@@ -207185,143 +199255,6 @@ type TFts5TombstoneArray = struct {
type Fts5TombstoneArray = TFts5TombstoneArray
-type TFts5Data1 = struct {
- Fp uintptr
- Fnn int32
- FszLeaf int32
-}
-
-type Fts5Data1 = TFts5Data1
-
-/*
-** One object per %_data table.
-**
-** nContentlessDelete:
-** The number of contentless delete operations since the most recent
-** call to fts5IndexFlush() or fts5IndexDiscardData(). This is tracked
-** so that extra auto-merge work can be done by fts5IndexFlush() to
-** account for the delete operations.
- */
-type TFts5Index1 = struct {
- FpConfig uintptr
- FzDataTbl uintptr
- FnWorkUnit int32
- FpHash uintptr
- FnPendingData int32
- FiWriteRowid Ti64
- FbDelete int32
- FnContentlessDelete int32
- FnPendingRow int32
- Frc int32
- FflushRc int32
- FpReader uintptr
- FpWriter uintptr
- FpDeleter uintptr
- FpIdxWriter uintptr
- FpIdxDeleter uintptr
- FpIdxSelect uintptr
- FpIdxNextSelect uintptr
- FnRead int32
- FpDeleteFromIdx uintptr
- FpDataVersion uintptr
- FiStructVersion Ti64
- FpStruct uintptr
-}
-
-type Fts5Index1 = TFts5Index1
-
-type TFts5DoclistIter1 = struct {
- FaEof uintptr
- FiRowid Ti64
- FaPoslist uintptr
- FnPoslist int32
- FnSize int32
-}
-
-type Fts5DoclistIter1 = TFts5DoclistIter1
-
-/*
-** The contents of the "structure" record for each index are represented
-** using an Fts5Structure record in memory. Which uses instances of the
-** other Fts5StructureXXX types as components.
-**
-** nOriginCntr:
-** This value is set to non-zero for structure records created for
-** contentlessdelete=1 tables only. In that case it represents the
-** origin value to apply to the next top-level segment created.
- */
-type TFts5StructureSegment1 = struct {
- FiSegid int32
- FpgnoFirst int32
- FpgnoLast int32
- FiOrigin1 Tu64
- FiOrigin2 Tu64
- FnPgTombstone int32
- FnEntryTombstone Tu64
- FnEntry Tu64
-}
-
-type Fts5StructureSegment1 = TFts5StructureSegment1
-
-type TFts5StructureLevel1 = struct {
- FnMerge int32
- FnSeg int32
- FaSeg uintptr
-}
-
-type Fts5StructureLevel1 = TFts5StructureLevel1
-
-type TFts5Structure1 = struct {
- FnRef int32
- FnWriteCounter Tu64
- FnOriginCntr Tu64
- FnSegment int32
- FnLevel int32
-}
-
-type Fts5Structure1 = TFts5Structure1
-
-/* Size (in bytes) of an Fts5Structure object holding up to N levels */
-
-/*
-** An object of type Fts5SegWriter is used to write to segments.
- */
-type TFts5PageWriter1 = struct {
- Fpgno int32
- FiPrevPgidx int32
- Fbuf TFts5Buffer
- Fpgidx TFts5Buffer
- Fterm TFts5Buffer
-}
-
-type Fts5PageWriter1 = TFts5PageWriter1
-
-type TFts5DlidxWriter1 = struct {
- Fpgno int32
- FbPrevValid int32
- FiPrev Ti64
- Fbuf TFts5Buffer
-}
-
-type Fts5DlidxWriter1 = TFts5DlidxWriter1
-
-type TFts5SegWriter1 = struct {
- FiSegid int32
- Fwriter TFts5PageWriter
- FiPrevRowid Ti64
- FbFirstRowidInDoclist Tu8
- FbFirstRowidInPage Tu8
- FbFirstTermInPage Tu8
- FnLeafWritten int32
- FnEmpty int32
- FnDlidx int32
- FaDlidx uintptr
- Fbtterm TFts5Buffer
- FiBtPage int32
-}
-
-type Fts5SegWriter1 = TFts5SegWriter1
-
type TFts5CResult = struct {
FiFirst Tu16
FbTermEq Tu8
@@ -207329,191 +199262,6 @@ type TFts5CResult = struct {
type Fts5CResult = TFts5CResult
-type TFts5CResult1 = struct {
- FiFirst Tu16
- FbTermEq Tu8
-}
-
-type Fts5CResult1 = TFts5CResult1
-
-/*
-** Object for iterating through a single segment, visiting each term/rowid
-** pair in the segment.
-**
-** pSeg:
-** The segment to iterate through.
-**
-** iLeafPgno:
-** Current leaf page number within segment.
-**
-** iLeafOffset:
-** Byte offset within the current leaf that is the first byte of the
-** position list data (one byte passed the position-list size field).
-**
-** pLeaf:
-** Buffer containing current leaf page data. Set to NULL at EOF.
-**
-** iTermLeafPgno, iTermLeafOffset:
-** Leaf page number containing the last term read from the segment. And
-** the offset immediately following the term data.
-**
-** flags:
-** Mask of FTS5_SEGITER_XXX values. Interpreted as follows:
-**
-** FTS5_SEGITER_ONETERM:
-** If set, set the iterator to point to EOF after the current doclist
-** has been exhausted. Do not proceed to the next term in the segment.
-**
-** FTS5_SEGITER_REVERSE:
-** This flag is only ever set if FTS5_SEGITER_ONETERM is also set. If
-** it is set, iterate through rowid in descending order instead of the
-** default ascending order.
-**
-** iRowidOffset/nRowidOffset/aRowidOffset:
-** These are used if the FTS5_SEGITER_REVERSE flag is set.
-**
-** For each rowid on the page corresponding to the current term, the
-** corresponding aRowidOffset[] entry is set to the byte offset of the
-** start of the "position-list-size" field within the page.
-**
-** iTermIdx:
-** Index of current term on iTermLeafPgno.
-**
-** apTombstone/nTombstone:
-** These are used for contentless_delete=1 tables only. When the cursor
-** is first allocated, the apTombstone[] array is allocated so that it
-** is large enough for all tombstones hash pages associated with the
-** segment. The pages themselves are loaded lazily from the database as
-** they are required.
- */
-type TFts5SegIter1 = struct {
- FpSeg uintptr
- Fflags int32
- FiLeafPgno int32
- FpLeaf uintptr
- FpNextLeaf uintptr
- FiLeafOffset Ti64
- FpTombArray uintptr
- FxNext uintptr
- FiTermLeafPgno int32
- FiTermLeafOffset int32
- FiPgidxOff int32
- FiEndofDoclist int32
- FiRowidOffset int32
- FnRowidOffset int32
- FaRowidOffset uintptr
- FpDlidx uintptr
- Fterm TFts5Buffer
- FiRowid Ti64
- FnPos int32
- FbDel Tu8
-}
-
-type Fts5SegIter1 = TFts5SegIter1
-
-/*
-** Array of tombstone pages. Reference counted.
- */
-type TFts5TombstoneArray1 = struct {
- F__ccgo_align [0]uint64
- FnRef int32
- FnTombstone int32
-}
-
-type Fts5TombstoneArray1 = TFts5TombstoneArray1
-
-/* Size (in bytes) of an Fts5TombstoneArray holding up to N tombstones */
-
-/*
-** Argument is a pointer to an Fts5Data structure that contains a
-** leaf page.
- */
-
-/*
-** Argument is a pointer to an Fts5Data structure that contains a leaf
-** page. This macro evaluates to true if the leaf contains no terms, or
-** false if it contains at least one term.
- */
-
-/*
-** Object for iterating through the merged results of one or more segments,
-** visiting each term/rowid pair in the merged data.
-**
-** nSeg is always a power of two greater than or equal to the number of
-** segments that this object is merging data from. Both the aSeg[] and
-** aFirst[] arrays are sized at nSeg entries. The aSeg[] array is padded
-** with zeroed objects - these are handled as if they were iterators opened
-** on empty segments.
-**
-** The results of comparing segments aSeg[N] and aSeg[N+1], where N is an
-** even number, is stored in aFirst[(nSeg+N)/2]. The "result" of the
-** comparison in this context is the index of the iterator that currently
-** points to the smaller term/rowid combination. Iterators at EOF are
-** considered to be greater than all other iterators.
-**
-** aFirst[1] contains the index in aSeg[] of the iterator that points to
-** the smallest key overall. aFirst[0] is unused.
-**
-** poslist:
-** Used by sqlite3Fts5IterPoslist() when the poslist needs to be buffered.
-** There is no way to tell if this is populated or not.
-**
-** pColset:
-** If not NULL, points to an object containing a set of column indices.
-** Only matches that occur in one of these columns will be returned.
-** The Fts5Iter does not own the Fts5Colset object, and so it is not
-** freed when the iterator is closed - it is owned by the upper layer.
- */
-type TFts5Iter1 = struct {
- Fbase TFts5IndexIter
- FpTokenDataIter uintptr
- FpIndex uintptr
- Fposlist TFts5Buffer
- FpColset uintptr
- FxSetOutputs uintptr
- FnSeg int32
- FbRev int32
- FbSkipEmpty Tu8
- FiSwitchRowid Ti64
- FaFirst uintptr
-}
-
-type Fts5Iter1 = TFts5Iter1
-
-/* Size (in bytes) of an Fts5Iter object holding up to N segment iterators */
-
-/*
-** An instance of the following type is used to iterate through the contents
-** of a doclist-index record.
-**
-** pData:
-** Record containing the doclist-index data.
-**
-** bEof:
-** Set to true once iterator has reached EOF.
-**
-** iOff:
-** Set to the current offset within record pData.
- */
-type TFts5DlidxLvl1 = struct {
- FpData uintptr
- FiOff int32
- FbEof int32
- FiFirstOff int32
- FiLeafPgno int32
- FiRowid Ti64
-}
-
-type Fts5DlidxLvl1 = TFts5DlidxLvl1
-
-type TFts5DlidxIter1 = struct {
- F__ccgo_align [0]uint64
- FnLvl int32
- FiSegid int32
-}
-
-type Fts5DlidxIter1 = TFts5DlidxIter1
-
/* Size (in bytes) of an Fts5DlidxIter object with up to N levels */
func _fts5PutU16(tls *libc.TLS, aOut uintptr, iVal Tu16) {
@@ -210445,14 +202193,6 @@ type TPoslistCallbackCtx = struct {
type PoslistCallbackCtx = TPoslistCallbackCtx
-type TPoslistCallbackCtx1 = struct {
- FpBuf uintptr
- FpColset uintptr
- FeState int32
-}
-
-type PoslistCallbackCtx1 = TPoslistCallbackCtx1
-
type TPoslistOffsetsCtx = struct {
FpBuf uintptr
FpColset uintptr
@@ -210462,15 +202202,6 @@ type TPoslistOffsetsCtx = struct {
type PoslistOffsetsCtx = TPoslistOffsetsCtx
-type TPoslistOffsetsCtx1 = struct {
- FpBuf uintptr
- FpColset uintptr
- FiRead int32
- FiWrite int32
-}
-
-type PoslistOffsetsCtx1 = TPoslistOffsetsCtx1
-
// C documentation
//
// /*
@@ -210584,7 +202315,7 @@ func _fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr
}
}
-func _fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) {
+func _fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, __ccgo_fp_xChunk uintptr) {
var nChunk, nRem, pgno, pgnoSave, v2 int32
var pChunk, pData uintptr
var v1 int64
@@ -210605,7 +202336,7 @@ func _fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xCh
pgnoSave = pgno + int32(1)
}
for int32(1) != 0 {
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{xChunk})))(tls, p, pCtx, pChunk, nChunk)
+ (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xChunk})))(tls, p, pCtx, pChunk, nChunk)
nRem -= nChunk
_fts5DataRelease(tls, pData)
if nRem <= 0 {
@@ -212198,13 +203929,6 @@ type TFts5FlushCtx = struct {
type Fts5FlushCtx = TFts5FlushCtx
-type TFts5FlushCtx1 = struct {
- FpIdx uintptr
- Fwriter TFts5SegWriter
-}
-
-type Fts5FlushCtx1 = TFts5FlushCtx1
-
// C documentation
//
// /*
@@ -213325,16 +205049,6 @@ type TPrefixMerger = struct {
type PrefixMerger = TPrefixMerger
-type TPrefixMerger1 = struct {
- Fiter TFts5DoclistIter
- FiPos Ti64
- FiOff int32
- FaPos uintptr
- FpNext uintptr
-}
-
-type PrefixMerger1 = TPrefixMerger1
-
func _fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) {
var pp uintptr
_ = pp
@@ -213552,7 +205266,7 @@ func _fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBu
// ** If parameter pColset is not NULL, then it is used to filter entries before
// ** the callback is invoked.
// */
-func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr, nToken int32, bPrefix int32, xVisit uintptr, pCtx uintptr) (r int32) {
+func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr, nToken int32, bPrefix int32, __ccgo_fp_xVisit uintptr, pCtx uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var flags, nNew, v1 int32
@@ -213589,7 +205303,7 @@ func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr
break
}
}
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{xVisit})))(tls, p, pCtx, *(*uintptr)(unsafe.Pointer(bp)), pNew, nNew)
+ (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xVisit})))(tls, p, pCtx, *(*uintptr)(unsafe.Pointer(bp)), pNew, nNew)
goto _2
_2:
;
@@ -213600,70 +205314,6 @@ func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr
return (*TFts5Index)(unsafe.Pointer(p)).Frc
}
-/*
-** Usually, a tokendata=1 iterator (struct Fts5TokenDataIter) accumulates an
-** array of these for each row it visits (so all iRowid fields are the same).
-** Or, for an iterator used by an "ORDER BY rank" query, it accumulates an
-** array of these for the entire query (in which case iRowid fields may take
-** a variety of values).
-**
-** Each instance in the array indicates the iterator (and therefore term)
-** associated with position iPos of rowid iRowid. This is used by the
-** xInstToken() API.
-**
-** iRowid:
-** Rowid for the current entry.
-**
-** iPos:
-** Position of current entry within row. In the usual ((iCol<<32)+iOff)
-** format (e.g. see macros FTS5_POS2COLUMN() and FTS5_POS2OFFSET()).
-**
-** iIter:
-** If the Fts5TokenDataIter iterator that the entry is part of is
-** actually an iterator (i.e. with nIter>0, not just a container for
-** Fts5TokenDataMap structures), then this variable is an index into
-** the apIter[] array. The corresponding term is that which the iterator
-** at apIter[iIter] currently points to.
-**
-** Or, if the Fts5TokenDataIter iterator is just a container object
-** (nIter==0), then iIter is an index into the term.p[] buffer where
-** the term is stored.
-**
-** nByte:
-** In the case where iIter is an index into term.p[], this variable
-** is the size of the term in bytes. If iIter is an index into apIter[],
-** this variable is unused.
- */
-type TFts5TokenDataMap1 = struct {
- FiRowid Ti64
- FiPos Ti64
- FiIter int32
- FnByte int32
-}
-
-type Fts5TokenDataMap1 = TFts5TokenDataMap1
-
-/*
-** An object used to supplement Fts5Iter for tokendata=1 iterators.
-**
-** This object serves two purposes. The first is as a container for an array
-** of Fts5TokenDataMap structures, which are used to find the token required
-** when the xInstToken() API is used. This is done by the nMapAlloc, nMap and
-** aMap[] variables.
- */
-type TFts5TokenDataIter1 = struct {
- FnMapAlloc int32
- FnMap int32
- FaMap uintptr
- Fterms TFts5Buffer
- FnIter int32
- FnIterAlloc int32
- FaPoslistReader uintptr
- FaPoslistToIter uintptr
-}
-
-type Fts5TokenDataIter1 = TFts5TokenDataIter1
-
/* Size in bytes of an Fts5TokenDataIter object holding up to N iterators */
// C documentation
@@ -213832,14 +205482,6 @@ type TTokendataSetupCtx = struct {
type TokendataSetupCtx = TTokendataSetupCtx
-type TTokendataSetupCtx1 = struct {
- FpT uintptr
- FiTermOff int32
- FnTermByte int32
-}
-
-type TokendataSetupCtx1 = TTokendataSetupCtx1
-
// C documentation
//
// /*
@@ -213886,19 +205528,6 @@ type TPrefixSetupCtx = struct {
type PrefixSetupCtx = TPrefixSetupCtx
-type TPrefixSetupCtx1 = struct {
- FxMerge uintptr
- FxAppend uintptr
- FiLastRowid Ti64
- FnMerge int32
- FaBuf uintptr
- FnBuf int32
- Fdoclist TFts5Buffer
- FpTokendata uintptr
-}
-
-type PrefixSetupCtx1 = TPrefixSetupCtx1
-
// C documentation
//
// /*
@@ -216214,87 +207843,6 @@ type TFts5TransactionState = struct {
type Fts5TransactionState = TFts5TransactionState
-/*
-** A single object of this type is allocated when the FTS5 module is
-** registered with a database handle. It is used to store pointers to
-** all registered FTS5 extensions - tokenizers and auxiliary functions.
- */
-type TFts5Global1 = struct {
- Fapi Tfts5_api
- Fdb uintptr
- FiNextId Ti64
- FpAux uintptr
- FpTok uintptr
- FpDfltTok uintptr
- FpCsr uintptr
- FaLocaleHdr [4]Tu32
-}
-
-type Fts5Global1 = TFts5Global1
-
-/*
-** Size of header on fts5_locale() values. And macro to access a buffer
-** containing a copy of the header from an Fts5Config pointer.
- */
-
-/*
-** Each auxiliary function registered with the FTS5 module is represented
-** by an object of the following type. All such objects are stored as part
-** of the Fts5Global.pAux list.
- */
-type TFts5Auxiliary1 = struct {
- FpGlobal uintptr
- FzFunc uintptr
- FpUserData uintptr
- FxFunc Tfts5_extension_function
- FxDestroy uintptr
- FpNext uintptr
-}
-
-type Fts5Auxiliary1 = TFts5Auxiliary1
-
-/*
-** Each tokenizer module registered with the FTS5 module is represented
-** by an object of the following type. All such objects are stored as part
-** of the Fts5Global.pTok list.
-**
-** bV2Native:
-** True if the tokenizer was registered using xCreateTokenizer_v2(), false
-** for xCreateTokenizer(). If this variable is true, then x2 is populated
-** with the routines as supplied by the caller and x1 contains synthesized
-** wrapper routines. In this case the user-data pointer passed to
-** x1.xCreate should be a pointer to the Fts5TokenizerModule structure,
-** not a copy of pUserData.
-**
-** Of course, if bV2Native is false, then x1 contains the real routines and
-** x2 the synthesized ones. In this case a pointer to the Fts5TokenizerModule
-** object should be passed to x2.xCreate.
-**
-** The synthesized wrapper routines are necessary for xFindTokenizer(_v2)
-** calls.
- */
-type TFts5TokenizerModule1 = struct {
- FzName uintptr
- FpUserData uintptr
- FbV2Native int32
- Fx1 Tfts5_tokenizer
- Fx2 Tfts5_tokenizer_v2
- FxDestroy uintptr
- FpNext uintptr
-}
-
-type Fts5TokenizerModule1 = TFts5TokenizerModule1
-
-type TFts5FullTable1 = struct {
- Fp TFts5Table
- FpStorage uintptr
- FpGlobal uintptr
- FpSortCsr uintptr
- FiSavepoint int32
-}
-
-type Fts5FullTable1 = TFts5FullTable1
-
type TFts5MatchPhrase = struct {
FpPoslist uintptr
FnTerm int32
@@ -216302,97 +207850,6 @@ type TFts5MatchPhrase = struct {
type Fts5MatchPhrase = TFts5MatchPhrase
-/*
-** pStmt:
-** SELECT rowid, FROM ORDER BY +rank;
-**
-** aIdx[]:
-** There is one entry in the aIdx[] array for each phrase in the query,
-** the value of which is the offset within aPoslist[] following the last
-** byte of the position list for the corresponding phrase.
- */
-type TFts5Sorter1 = struct {
- FpStmt uintptr
- FiRowid Ti64
- FaPoslist uintptr
- FnIdx int32
-}
-
-type Fts5Sorter1 = TFts5Sorter1
-
-/* Size (int bytes) of an Fts5Sorter object with N indexes */
-
-/*
-** Virtual-table cursor object.
-**
-** iSpecial:
-** If this is a 'special' query (refer to function fts5SpecialMatch()),
-** then this variable contains the result of the query.
-**
-** iFirstRowid, iLastRowid:
-** These variables are only used for FTS5_PLAN_MATCH cursors. Assuming the
-** cursor iterates in ascending order of rowids, iFirstRowid is the lower
-** limit of rowids to return, and iLastRowid the upper. In other words, the
-** WHERE clause in the user's query might have been:
-**
-** MATCH AND rowid BETWEEN $iFirstRowid AND $iLastRowid
-**
-** If the cursor iterates in descending order of rowid, iFirstRowid
-** is the upper limit (i.e. the "first" rowid visited) and iLastRowid
-** the lower.
- */
-type TFts5Cursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FpNext uintptr
- FaColumnSize uintptr
- FiCsrId Ti64
- FePlan int32
- FbDesc int32
- FiFirstRowid Ti64
- FiLastRowid Ti64
- FpStmt uintptr
- FpExpr uintptr
- FpSorter uintptr
- Fcsrflags int32
- FiSpecial Ti64
- FzRank uintptr
- FzRankArgs uintptr
- FpRank uintptr
- FnRankArg int32
- FapRankArg uintptr
- FpRankArgStmt uintptr
- FpAux uintptr
- FpAuxdata uintptr
- FaInstIter uintptr
- FnInstAlloc int32
- FnInstCount int32
- FaInst uintptr
-}
-
-type Fts5Cursor1 = TFts5Cursor1
-
-/*
-** Bits that make up the "idxNum" parameter passed indirectly by
-** xBestIndex() to xFilter().
- */
-
-/*
-** Values for Fts5Cursor.csrflags
- */
-
-/*
-** Macros to Set(), Clear() and Test() cursor flags.
- */
-
-type TFts5Auxdata1 = struct {
- FpAux uintptr
- FpPtr uintptr
- FxDelete uintptr
- FpNext uintptr
-}
-
-type Fts5Auxdata1 = TFts5Auxdata1
-
// C documentation
//
// /*
@@ -218360,7 +209817,7 @@ func _fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) (r int32) {
// /*
// ** Implementation of xTokenize_v2() API.
// */
-func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pLoc uintptr, nLoc int32, pUserData uintptr, xToken uintptr) (r int32) {
+func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pLoc uintptr, nLoc int32, pUserData uintptr, __ccgo_fp_xToken uintptr) (r int32) {
var pCsr, pTab uintptr
var rc int32
_, _, _ = pCsr, pTab, rc
@@ -218368,7 +209825,7 @@ func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32
pTab = (*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab
rc = SQLITE_OK
_sqlite3Fts5SetLocale(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, pLoc, nLoc)
- rc = _sqlite3Fts5Tokenize(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, int32(FTS5_TOKENIZE_AUX), pText, nText, pUserData, xToken)
+ rc = _sqlite3Fts5Tokenize(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, int32(FTS5_TOKENIZE_AUX), pText, nText, pUserData, __ccgo_fp_xToken)
_sqlite3Fts5SetLocale(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, uintptr(0), 0)
return rc
}
@@ -218379,8 +209836,8 @@ func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32
// ** Implementation of xTokenize() API. This is just xTokenize_v2() with NULL/0
// ** passed as the locale.
// */
-func _fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) (r int32) {
- return _fts5ApiTokenize_v2(tls, pCtx, pText, nText, uintptr(0), 0, pUserData, xToken)
+func _fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, __ccgo_fp_xToken uintptr) (r int32) {
+ return _fts5ApiTokenize_v2(tls, pCtx, pText, nText, uintptr(0), 0, pUserData, __ccgo_fp_xToken)
}
func _fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) (r int32) {
@@ -218788,7 +210245,7 @@ func _fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr
// /*
// ** Implementation of the xSetAuxdata() method.
// */
-func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintptr) (r int32) {
+func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, __ccgo_fp_xDelete uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var pCsr, pData uintptr
@@ -218818,8 +210275,8 @@ func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintp
*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
pData = _sqlite3Fts5MallocZero(tls, bp, int64(32))
if pData == uintptr(0) {
- if xDelete != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDelete})))(tls, pPtr)
+ if __ccgo_fp_xDelete != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDelete})))(tls, pPtr)
}
return *(*int32)(unsafe.Pointer(bp))
}
@@ -218827,7 +210284,7 @@ func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintp
(*TFts5Auxdata)(unsafe.Pointer(pData)).FpNext = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpAuxdata
(*TFts5Cursor)(unsafe.Pointer(pCsr)).FpAuxdata = pData
}
- (*TFts5Auxdata)(unsafe.Pointer(pData)).FxDelete = xDelete
+ (*TFts5Auxdata)(unsafe.Pointer(pData)).FxDelete = __ccgo_fp_xDelete
(*TFts5Auxdata)(unsafe.Pointer(pData)).FpPtr = pPtr
return SQLITE_OK
}
@@ -219119,7 +210576,7 @@ func init() {
// /*
// ** Implementation of API function xQueryPhrase().
// */
-func _fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) (r int32) {
+func _fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, __ccgo_fp_xCallback uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var pCsr, pTab uintptr
@@ -219143,7 +210600,7 @@ func _fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData u
if !(rc == SQLITE_OK && (*TFts5Cursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcsrflags&int32(FTS5CSR_EOF) == 0) {
break
}
- rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xCallback})))(tls, uintptr(unsafe.Pointer(&_sFts5Api)), *(*uintptr)(unsafe.Pointer(bp)), pUserData)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xCallback})))(tls, uintptr(unsafe.Pointer(&_sFts5Api)), *(*uintptr)(unsafe.Pointer(bp)), pUserData)
if rc != SQLITE_OK {
if rc == int32(SQLITE_DONE) {
rc = SQLITE_OK
@@ -219430,14 +210887,14 @@ func _fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32)
// ** This routine implements the xFindFunction method for the FTS3
// ** virtual table.
// */
-func _fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) {
+func _fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, __ccgo_fp_pxFunc uintptr, ppArg uintptr) (r int32) {
var pAux, pTab uintptr
_, _ = pAux, pTab
pTab = pVtab
_ = nUnused
pAux = _fts5FindAuxiliary(tls, pTab, zName)
if pAux != 0 {
- *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_fts5ApiCallback)
+ *(*uintptr)(unsafe.Pointer(__ccgo_fp_pxFunc)) = __ccgo_fp(_fts5ApiCallback)
*(*uintptr)(unsafe.Pointer(ppArg)) = pAux
return int32(1)
}
@@ -219532,7 +210989,7 @@ func _fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) (r in
// /*
// ** Register a new auxiliary function with global context pGlobal.
// */
-func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Tfts5_extension_function, xDestroy uintptr) (r int32) {
+func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, __ccgo_fp_xFunc Tfts5_extension_function, __ccgo_fp_xDestroy uintptr) (r int32) {
var nByte, nName Tsqlite3_int64
var pAux, pGlobal uintptr
var rc int32
@@ -219549,8 +211006,8 @@ func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintpt
libc.Xmemcpy(tls, (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FzFunc, zName, libc.Uint64FromInt64(nName))
(*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal = pGlobal
(*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpUserData = pUserData
- (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxFunc = xFunc
- (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy = xDestroy
+ (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxFunc = __ccgo_fp_xFunc
+ (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy = __ccgo_fp_xDestroy
(*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpNext = (*TFts5Global)(unsafe.Pointer(pGlobal)).FpAux
(*TFts5Global)(unsafe.Pointer(pGlobal)).FpAux = pAux
} else {
@@ -219577,7 +211034,7 @@ func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintpt
// ** If an error occurs, an SQLite error code is returned and the final value
// ** of (*ppNew) undefined.
// */
-func _fts5NewTokenizerModule(tls *libc.TLS, pGlobal uintptr, zName uintptr, pUserData uintptr, xDestroy uintptr, ppNew uintptr) (r int32) {
+func _fts5NewTokenizerModule(tls *libc.TLS, pGlobal uintptr, zName uintptr, pUserData uintptr, __ccgo_fp_xDestroy uintptr, ppNew uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var nByte, nName Tsqlite3_int64
@@ -219594,7 +211051,7 @@ func _fts5NewTokenizerModule(tls *libc.TLS, pGlobal uintptr, zName uintptr, pUse
(*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FzName = pNew + 1*96
libc.Xmemcpy(tls, (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FzName, zName, libc.Uint64FromInt64(nName))
(*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FpUserData = pUserData
- (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FxDestroy = xDestroy
+ (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FxDestroy = __ccgo_fp_xDestroy
(*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FpNext = (*TFts5Global)(unsafe.Pointer(pGlobal)).FpTok
(*TFts5Global)(unsafe.Pointer(pGlobal)).FpTok = pNew
if (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FpNext == uintptr(0) {
@@ -219621,15 +211078,6 @@ type TFts5VtoVTokenizer = struct {
type Fts5VtoVTokenizer = TFts5VtoVTokenizer
-type TFts5VtoVTokenizer1 = struct {
- FbV2Native int32
- Fx1 Tfts5_tokenizer
- Fx2 Tfts5_tokenizer_v2
- FpReal uintptr
-}
-
-type Fts5VtoVTokenizer1 = TFts5VtoVTokenizer1
-
// C documentation
//
// /*
@@ -219689,11 +211137,11 @@ func _fts5VtoVDelete(tls *libc.TLS, pTok uintptr) {
// ** xTokenizer method for a wrapper tokenizer that offers the v1 interface
// ** (no support for locales).
// */
-func _fts5V1toV2Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5V1toV2Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
var p uintptr
_ = p
p = pTok
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx2.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, uintptr(0), 0, xToken)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx2.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, uintptr(0), 0, __ccgo_fp_xToken)
}
// C documentation
@@ -219702,13 +211150,13 @@ func _fts5V1toV2Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32,
// ** xTokenizer method for a wrapper tokenizer that offers the v2 interface
// ** (with locale support).
// */
-func _fts5V2toV1Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLocale uintptr, nLocale int32, xToken uintptr) (r int32) {
+func _fts5V2toV1Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLocale uintptr, nLocale int32, __ccgo_fp_xToken uintptr) (r int32) {
var p uintptr
_ = p
p = pTok
_ = pLocale
_ = nLocale
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx1.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, xToken)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx1.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, __ccgo_fp_xToken)
}
// C documentation
@@ -219717,7 +211165,7 @@ func _fts5V2toV1Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32,
// ** Register a new tokenizer. This is the implementation of the
// ** fts5_api.xCreateTokenizer_v2() method.
// */
-func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) (r int32) {
+func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var pGlobal uintptr
@@ -219730,7 +211178,7 @@ func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserDa
rc = int32(SQLITE_ERROR)
} else {
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
- rc = _fts5NewTokenizerModule(tls, pGlobal, zName, pUserData, xDestroy, bp)
+ rc = _fts5NewTokenizerModule(tls, pGlobal, zName, pUserData, __ccgo_fp_xDestroy, bp)
if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fx2 = *(*Tfts5_tokenizer_v2)(unsafe.Pointer(pTokenizer))
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FbV2Native = int32(1)
@@ -219747,7 +211195,7 @@ func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserDa
// /*
// ** The fts5_api.xCreateTokenizer() method.
// */
-func _fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) (r int32) {
+func _fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
@@ -219755,7 +211203,7 @@ func _fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData
_ = rc
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
rc = SQLITE_OK
- rc = _fts5NewTokenizerModule(tls, pApi, zName, pUserData, xDestroy, bp)
+ rc = _fts5NewTokenizerModule(tls, pApi, zName, pUserData, __ccgo_fp_xDestroy, bp)
if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fx1 = *(*Tfts5_tokenizer)(unsafe.Pointer(pTokenizer))
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fx2.FxCreate = __ccgo_fp(_fts5VtoVCreate)
@@ -220227,60 +211675,6 @@ func _sqlite3Fts5Init(tls *libc.TLS, db uintptr) (r int32) {
return _fts5Init(tls, db)
}
-/*
-** 2014 May 31
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
- */
-
-/* #include "fts5Int.h" */
-
-/*
-** pSavedRow:
-** SQL statement FTS5_STMT_LOOKUP2 is a copy of FTS5_STMT_LOOKUP, it
-** does a by-rowid lookup to retrieve a single row from the %_content
-** table or equivalent external-content table/view.
-**
-** However, FTS5_STMT_LOOKUP2 is only used when retrieving the original
-** values for a row being UPDATEd. In that case, the SQL statement is
-** not reset and pSavedRow is set to point at it. This is so that the
-** insert operation that follows the delete may access the original
-** row values for any new values for which sqlite3_value_nochange() returns
-** true. i.e. if the user executes:
-**
-** CREATE VIRTUAL TABLE ft USING fts5(a, b, c, locale=1);
-** ...
-** UPDATE fts SET a=?, b=? WHERE rowid=?;
-**
-** then the value passed to the xUpdate() method of this table as the
-** new.c value is an sqlite3_value_nochange() value. So in this case it
-** must be read from the saved row stored in Fts5Storage.pSavedRow.
-**
-** This is necessary - using sqlite3_value_nochange() instead of just having
-** SQLite pass the original value back via xUpdate() - so as not to discard
-** any locale information associated with such values.
-**
- */
-type TFts5Storage1 = struct {
- FpConfig uintptr
- FpIndex uintptr
- FbTotalsValid int32
- FnTotalRow Ti64
- FaTotalSize uintptr
- FpSavedRow uintptr
- FaStmt [12]uintptr
-}
-
-type Fts5Storage1 = TFts5Storage1
-
// C documentation
//
// /*
@@ -220637,14 +212031,6 @@ type TFts5InsertCtx = struct {
type Fts5InsertCtx = TFts5InsertCtx
-type TFts5InsertCtx1 = struct {
- FpStorage uintptr
- FiCol int32
- FszCol int32
-}
-
-type Fts5InsertCtx1 = TFts5InsertCtx1
-
// C documentation
//
// /*
@@ -221375,17 +212761,6 @@ type TFts5IntegrityCtx = struct {
type Fts5IntegrityCtx = TFts5IntegrityCtx
-type TFts5IntegrityCtx1 = struct {
- FiRowid Ti64
- FiCol int32
- FszCol int32
- Fcksum Tu64
- FpTermset uintptr
- FpConfig uintptr
-}
-
-type Fts5IntegrityCtx1 = TFts5IntegrityCtx1
-
// C documentation
//
// /*
@@ -221890,12 +213265,6 @@ type TAsciiTokenizer = struct {
type AsciiTokenizer = TAsciiTokenizer
-type TAsciiTokenizer1 = struct {
- FaTokenChar [128]uint8
-}
-
-type AsciiTokenizer1 = TAsciiTokenizer1
-
func _fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) {
var i int32
_ = i
@@ -222000,7 +213369,7 @@ func _asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) {
// /*
// ** Tokenize some text using the ascii tokenizer.
// */
-func _fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
bp := tls.Alloc(64)
defer tls.Free(64)
var a, p, pFold uintptr
@@ -222042,7 +213411,7 @@ func _fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused
}
_asciiFold(tls, pFold, pText+uintptr(is), nByte)
/* Invoke the token callback */
- rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xToken})))(tls, pCtx, 0, pFold, nByte, is, ie)
+ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xToken})))(tls, pCtx, 0, pFold, nByte, is, ie)
is = ie + int32(1)
}
if pFold != bp {
@@ -222076,18 +213445,6 @@ type TUnicode61Tokenizer = struct {
type Unicode61Tokenizer = TUnicode61Tokenizer
-type TUnicode61Tokenizer1 = struct {
- FaTokenChar [128]uint8
- FaFold uintptr
- FnFold int32
- FeRemoveDiacritic int32
- FnException int32
- FaiException uintptr
- FaCategory [32]uint8
-}
-
-type Unicode61Tokenizer1 = TUnicode61Tokenizer1
-
/* Values for eRemoveDiacritic (must match internals of fts5_unicode2.c) */
func _fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) (r int32) {
@@ -222313,7 +213670,7 @@ func _fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) (r int32) {
return libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 160 + uintptr(_sqlite3Fts5UnicodeCategory(tls, libc.Uint32FromInt32(iCode)))))) ^ _fts5UnicodeIsException(tls, p, iCode)
}
-func _fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
var a, aFold, p, pEnd, zCsr, zOut, zTerm, v10, v11, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v26, v27, v3, v4 uintptr
var iCode Tu32
var ie, is, nFold, rc, v7 int32
@@ -222500,7 +213857,7 @@ _9:
_5:
;
/* Invoke the token callback */
- rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xToken})))(tls, pCtx, 0, aFold, int32(int64(zOut)-int64(aFold)), is, ie)
+ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xToken})))(tls, pCtx, 0, aFold, int32(int64(zOut)-int64(aFold)), is, ie)
goto _2
_1:
;
@@ -222528,14 +213885,6 @@ type TPorterTokenizer = struct {
type PorterTokenizer = TPorterTokenizer
-type TPorterTokenizer1 = struct {
- Ftokenizer_v2 Tfts5_tokenizer_v2
- FpTokenizer uintptr
- FaBuf [128]int8
-}
-
-type PorterTokenizer1 = TPorterTokenizer1
-
// C documentation
//
// /*
@@ -222613,14 +213962,6 @@ type TPorterContext = struct {
type PorterContext = TPorterContext
-type TPorterContext1 = struct {
- FpCtx uintptr
- FxToken uintptr
- FaBuf uintptr
-}
-
-type PorterContext1 = TPorterContext1
-
type TPorterRule = struct {
FzSuffix uintptr
FnSuffix int32
@@ -222631,16 +213972,6 @@ type TPorterRule = struct {
type PorterRule = TPorterRule
-type TPorterRule1 = struct {
- FzSuffix uintptr
- FnSuffix int32
- FxCond uintptr
- FzOutput uintptr
- FnOutput int32
-}
-
-type PorterRule1 = TPorterRule1
-
func _fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) (r int32) {
return libc.BoolInt32(int32(c) == int32('a') || int32(c) == int32('e') || int32(c) == int32('i') || int32(c) == int32('o') || int32(c) == int32('u') || bYIsVowel != 0 && int32(c) == int32('y'))
}
@@ -223266,14 +214597,14 @@ pass_through:
// /*
// ** Tokenize using the porter tokenizer.
// */
-func _fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLoc uintptr, nLoc int32, xToken uintptr) (r int32) {
+func _fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLoc uintptr, nLoc int32, __ccgo_fp_xToken uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var p uintptr
var _ /* sCtx at bp+0 */ TPorterContext
_ = p
p = pTokenizer
- (*(*TPorterContext)(unsafe.Pointer(bp))).FxToken = xToken
+ (*(*TPorterContext)(unsafe.Pointer(bp))).FxToken = __ccgo_fp_xToken
(*(*TPorterContext)(unsafe.Pointer(bp))).FpCtx = pCtx
(*(*TPorterContext)(unsafe.Pointer(bp))).FaBuf = p + 40
return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TPorterTokenizer)(unsafe.Pointer(p)).Ftokenizer_v2.FxTokenize})))(tls, (*TPorterTokenizer)(unsafe.Pointer(p)).FpTokenizer, bp, flags, pText, nText, pLoc, nLoc, __ccgo_fp(_fts5PorterCb))
@@ -223291,13 +214622,6 @@ type TTrigramTokenizer = struct {
type TrigramTokenizer = TTrigramTokenizer
-type TTrigramTokenizer1 = struct {
- FbFold int32
- FiFoldParam int32
-}
-
-type TrigramTokenizer1 = TTrigramTokenizer1
-
// C documentation
//
// /*
@@ -223379,7 +214703,7 @@ func _fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, p
// /*
// ** Trigram tokenizer tokenize routine.
// */
-func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var aStart [3]int32
@@ -223507,7 +214831,7 @@ func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int
}
}
/* Pass the current trigram back to fts5 */
- rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xToken})))(tls, pCtx, 0, bp, int32(int64(zOut)-t__predefined_ptrdiff_t(bp)), aStart[0], iNext)
+ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xToken})))(tls, pCtx, 0, bp, int32(int64(zOut)-t__predefined_ptrdiff_t(bp)), aStart[0], iNext)
if iCode == uint32(0) || rc != SQLITE_OK {
break
}
@@ -223583,11 +214907,11 @@ func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int
// ** "trigram" tokenizer, case_sensitive=0 (the default) - FTS5_PATTERN_LIKE
// ** all other tokenizers - FTS5_PATTERN_NONE
// */
-func _sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) (r int32) {
+func _sqlite3Fts5TokenizerPattern(tls *libc.TLS, __ccgo_fp_xCreate uintptr, pTok uintptr) (r int32) {
var p uintptr
var v1 int32
_, _ = p, v1
- if xCreate == __ccgo_fp(_fts5TriCreate) {
+ if __ccgo_fp_xCreate == __ccgo_fp(_fts5TriCreate) {
p = pTok
if (*TTrigramTokenizer)(unsafe.Pointer(p)).FiFoldParam == 0 {
if (*TTrigramTokenizer)(unsafe.Pointer(p)).FbFold != 0 {
@@ -229142,39 +220466,6 @@ type TFts5VocabCursor = struct {
type Fts5VocabCursor = TFts5VocabCursor
-type TFts5VocabTable1 = struct {
- Fbase Tsqlite3_vtab
- FzFts5Tbl uintptr
- FzFts5Db uintptr
- Fdb uintptr
- FpGlobal uintptr
- FeType int32
- FbBusy uint32
-}
-
-type Fts5VocabTable1 = TFts5VocabTable1
-
-type TFts5VocabCursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FpStmt uintptr
- FpFts5 uintptr
- FbEof int32
- FpIter uintptr
- FpStruct uintptr
- FnLeTerm int32
- FzLeTerm uintptr
- FcolUsed int32
- FiCol int32
- FaCnt uintptr
- FaDoc uintptr
- Frowid Ti64
- Fterm TFts5Buffer
- FiInstPos Ti64
- FiInstOff int32
-}
-
-type Fts5VocabCursor1 = TFts5VocabCursor1
-
/*
** Bits for the mask used as the idxNum value by xBestIndex/xFilter.
*/
@@ -230259,11 +221550,11 @@ var Xsqlite3_temp_directory uintptr
// **
// ** See also: [sqlite_version()] and [sqlite_source_id()].
// */
-var Xsqlite3_version = [7]int8{'3', '.', '5', '0', '.', '3'}
+var Xsqlite3_version = [7]int8{'3', '.', '5', '0', '.', '4'}
var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
-var __ccgo_ts1 = "ATOMIC_INTRINSICS=0\x00COMPILER=clang-19.1.7\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=1000\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00unistr('\x000123456789abcdef\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenWrite\x00OpenDup\x00BitNot\x00OpenAutoindex\x00OpenEphemeral\x00String8\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00DropTrigger\x00Real\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00subrtnsig:%d,%s\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d: %s; [%s]\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: %s; [%s]\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open table with generated columns: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00more than %d aggregate terms\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%#Q\x00%Q\x00invalid Unicode escape\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00unistr\x00quote\x00unistr_quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00if\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00builtin\x00enc\x00narg\x00flags\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00unique\x00origin\x00partial\x00wdth\x00hght\x00flgs\x00rowid\x00fkid\x00busy\x00checkpointed\x00file\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00CREATE BLOOM FILTER\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00vacuum_%016llx\x00ATTACH %Q AS %s\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO %s.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM %s.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO %s.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX \x000x%x:%s\x00%d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00internal query planner error\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00near \"%T\": syntax error\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00#\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1, 0 UNION ALL SELECT 1, 'idx', '', 0, '', 2, 0 UNION ALL SELECT 2, 'stat', '', 0, '', 0, 0\x00PRAGMA '%q'.table_xinfo('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00SELECT * FROM %Q.sqlite_schema\x00no such table: %s.%s\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00wrong number of arguments to function fts5_get_locale()\x00non-integer argument passed to function fts5_get_locale()\x00snippet\x00highlight\x00bm25\x00fts5_get_locale\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00contentless_unindexed\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00locale\x00malformed locale=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00, NULL\x00, T.l%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00contentless_unindexed=1 requires a contentless table\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00insttoken\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00REPLACE INTO %Q.'%q_config' VALUES ('version', %d)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%.*s\x00%s: table does not support scanning\x00fts5: missing row %lld from content table %s\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00%s a subset of columns on fts5 contentless-delete table: %s\x00%s contentless fts5 table: %s\x00cannot UPDATE\x00'delete' may not be used with a contentless_delete=1 table\x00cannot DELETE from contentless fts5 table: %s\x00fts5_locale() requires locale=1\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2025-07-17 13:25:10 3ce993b8657d6d9deda380a93cdd6404a8c8ba1b185b2bc423703e41ae5f2543\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00fts5_locale\x00fts5_insttoken\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00%z%s?%d\x00%z,?%d\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00, l%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00DELETE FROM %Q.'%q_content';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00trigram\x00ascii\x00porter\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002025-07-17 13:25:10 3ce993b8657d6d9deda380a93cdd6404a8c8ba1b185b2bc423703e41ae5f2543\x00"
+var __ccgo_ts1 = "ATOMIC_INTRINSICS=0\x00COMPILER=clang-19.1.7\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=1000\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00unistr('\x000123456789abcdef\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenWrite\x00OpenDup\x00BitNot\x00OpenAutoindex\x00OpenEphemeral\x00String8\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00DropTrigger\x00Real\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00subrtnsig:%d,%s\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d: %s; [%s]\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: %s; [%s]\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open table with generated columns: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00more than %d aggregate terms\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%#Q\x00%Q\x00invalid Unicode escape\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00unistr\x00quote\x00unistr_quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00if\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00builtin\x00enc\x00narg\x00flags\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00unique\x00origin\x00partial\x00wdth\x00hght\x00flgs\x00rowid\x00fkid\x00busy\x00checkpointed\x00file\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00CREATE BLOOM FILTER\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00vacuum_%016llx\x00ATTACH %Q AS %s\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO %s.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM %s.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO %s.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX \x000x%x:%s\x00%d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00internal query planner error\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00near \"%T\": syntax error\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00#\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1, 0 UNION ALL SELECT 1, 'idx', '', 0, '', 2, 0 UNION ALL SELECT 2, 'stat', '', 0, '', 0, 0\x00PRAGMA '%q'.table_xinfo('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00SELECT * FROM %Q.sqlite_schema\x00no such table: %s.%s\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00wrong number of arguments to function fts5_get_locale()\x00non-integer argument passed to function fts5_get_locale()\x00snippet\x00highlight\x00bm25\x00fts5_get_locale\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00contentless_unindexed\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00locale\x00malformed locale=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00, NULL\x00, T.l%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00contentless_unindexed=1 requires a contentless table\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00insttoken\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00REPLACE INTO %Q.'%q_config' VALUES ('version', %d)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%.*s\x00%s: table does not support scanning\x00fts5: missing row %lld from content table %s\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00%s a subset of columns on fts5 contentless-delete table: %s\x00%s contentless fts5 table: %s\x00cannot UPDATE\x00'delete' may not be used with a contentless_delete=1 table\x00cannot DELETE from contentless fts5 table: %s\x00fts5_locale() requires locale=1\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00fts5_locale\x00fts5_insttoken\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00%z%s?%d\x00%z,?%d\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00, l%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00DELETE FROM %Q.'%q_content';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00trigram\x00ascii\x00porter\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3\x00"
type Sqlite3_int64 = sqlite3_int64
type Sqlite3_mutex_methods = sqlite3_mutex_methods
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_arm64.go b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_arm64.go
index 3db81cd195846..e32db26d77abf 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_arm64.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_arm64.go
@@ -2047,7 +2047,7 @@ const SQLITE_SHM_SHARED = 4
const SQLITE_SHM_UNLOCK = 1
const SQLITE_SORTER_PMASZ = 250
const SQLITE_SOUNDEX = 1
-const SQLITE_SOURCE_ID = "2025-07-17 13:25:10 3ce993b8657d6d9deda380a93cdd6404a8c8ba1b185b2bc423703e41ae5f2543"
+const SQLITE_SOURCE_ID = "2025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3"
const SQLITE_SO_ASC = 0
const SQLITE_SO_DESC = 1
const SQLITE_SO_UNDEFINED = -1
@@ -2157,8 +2157,8 @@ const SQLITE_UTF16LE = 2
const SQLITE_UTF16NATIVE = 2
const SQLITE_UTF16_ALIGNED = 8
const SQLITE_UTF8 = 1
-const SQLITE_VERSION = "3.50.3"
-const SQLITE_VERSION_NUMBER = 3050003
+const SQLITE_VERSION = "3.50.4"
+const SQLITE_VERSION_NUMBER = 3050004
const SQLITE_VTABRISK_High = 2
const SQLITE_VTABRISK_Low = 0
const SQLITE_VTABRISK_Normal = 1
@@ -4014,12 +4014,6 @@ type Tsqlite3_file = struct {
type sqlite3_file = Tsqlite3_file
-type Tsqlite3_file1 = struct {
- FpMethods uintptr
-}
-
-type sqlite3_file1 = Tsqlite3_file1
-
// C documentation
//
// /*
@@ -4148,30 +4142,6 @@ type Tsqlite3_io_methods = struct {
type sqlite3_io_methods = Tsqlite3_io_methods
-type Tsqlite3_io_methods1 = struct {
- FiVersion int32
- FxClose uintptr
- FxRead uintptr
- FxWrite uintptr
- FxTruncate uintptr
- FxSync uintptr
- FxFileSize uintptr
- FxLock uintptr
- FxUnlock uintptr
- FxCheckReservedLock uintptr
- FxFileControl uintptr
- FxSectorSize uintptr
- FxDeviceCharacteristics uintptr
- FxShmMap uintptr
- FxShmLock uintptr
- FxShmBarrier uintptr
- FxShmUnmap uintptr
- FxFetch uintptr
- FxUnfetch uintptr
-}
-
-type sqlite3_io_methods1 = Tsqlite3_io_methods1
-
// C documentation
//
// /*
@@ -4684,33 +4654,6 @@ type Tsqlite3_syscall_ptr = uintptr
type sqlite3_syscall_ptr = Tsqlite3_syscall_ptr
-type Tsqlite3_vfs1 = struct {
- FiVersion int32
- FszOsFile int32
- FmxPathname int32
- FpNext uintptr
- FzName uintptr
- FpAppData uintptr
- FxOpen uintptr
- FxDelete uintptr
- FxAccess uintptr
- FxFullPathname uintptr
- FxDlOpen uintptr
- FxDlError uintptr
- FxDlSym uintptr
- FxDlClose uintptr
- FxRandomness uintptr
- FxSleep uintptr
- FxCurrentTime uintptr
- FxGetLastError uintptr
- FxCurrentTimeInt64 uintptr
- FxSetSystemCall uintptr
- FxGetSystemCall uintptr
- FxNextSystemCall uintptr
-}
-
-type sqlite3_vfs1 = Tsqlite3_vfs1
-
// C documentation
//
// /*
@@ -4789,19 +4732,6 @@ type Tsqlite3_mem_methods = struct {
type sqlite3_mem_methods = Tsqlite3_mem_methods
-type Tsqlite3_mem_methods1 = struct {
- FxMalloc uintptr
- FxFree uintptr
- FxRealloc uintptr
- FxSize uintptr
- FxRoundup uintptr
- FxInit uintptr
- FxShutdown uintptr
- FpAppData uintptr
-}
-
-type sqlite3_mem_methods1 = Tsqlite3_mem_methods1
-
// C documentation
//
// /*
@@ -4977,223 +4907,6 @@ type Tsqlite3_module = struct {
type sqlite3_module = Tsqlite3_module
-/*
-** CAPI3REF: Virtual Table Object
-** KEYWORDS: sqlite3_module {virtual table module}
-**
-** This structure, sometimes called a "virtual table module",
-** defines the implementation of a [virtual table].
-** This structure consists mostly of methods for the module.
-**
-** ^A virtual table module is created by filling in a persistent
-** instance of this structure and passing a pointer to that instance
-** to [sqlite3_create_module()] or [sqlite3_create_module_v2()].
-** ^The registration remains valid until it is replaced by a different
-** module or until the [database connection] closes. The content
-** of this structure must not change while it is registered with
-** any database connection.
- */
-type Tsqlite3_module1 = struct {
- FiVersion int32
- FxCreate uintptr
- FxConnect uintptr
- FxBestIndex uintptr
- FxDisconnect uintptr
- FxDestroy uintptr
- FxOpen uintptr
- FxClose uintptr
- FxFilter uintptr
- FxNext uintptr
- FxEof uintptr
- FxColumn uintptr
- FxRowid uintptr
- FxUpdate uintptr
- FxBegin uintptr
- FxSync uintptr
- FxCommit uintptr
- FxRollback uintptr
- FxFindFunction uintptr
- FxRename uintptr
- FxSavepoint uintptr
- FxRelease uintptr
- FxRollbackTo uintptr
- FxShadowName uintptr
- FxIntegrity uintptr
-}
-
-type sqlite3_module1 = Tsqlite3_module1
-
-/*
-** CAPI3REF: Virtual Table Indexing Information
-** KEYWORDS: sqlite3_index_info
-**
-** The sqlite3_index_info structure and its substructures is used as part
-** of the [virtual table] interface to
-** pass information into and receive the reply from the [xBestIndex]
-** method of a [virtual table module]. The fields under **Inputs** are the
-** inputs to xBestIndex and are read-only. xBestIndex inserts its
-** results into the **Outputs** fields.
-**
-** ^(The aConstraint[] array records WHERE clause constraints of the form:
-**
-** column OP expr
-**
-** where OP is =, <, <=, >, or >=.)^ ^(The particular operator is
-** stored in aConstraint[].op using one of the
-** [SQLITE_INDEX_CONSTRAINT_EQ | SQLITE_INDEX_CONSTRAINT_ values].)^
-** ^(The index of the column is stored in
-** aConstraint[].iColumn.)^ ^(aConstraint[].usable is TRUE if the
-** expr on the right-hand side can be evaluated (and thus the constraint
-** is usable) and false if it cannot.)^
-**
-** ^The optimizer automatically inverts terms of the form "expr OP column"
-** and makes other simplifications to the WHERE clause in an attempt to
-** get as many WHERE clause terms into the form shown above as possible.
-** ^The aConstraint[] array only reports WHERE clause terms that are
-** relevant to the particular virtual table being queried.
-**
-** ^Information about the ORDER BY clause is stored in aOrderBy[].
-** ^Each term of aOrderBy records a column of the ORDER BY clause.
-**
-** The colUsed field indicates which columns of the virtual table may be
-** required by the current scan. Virtual table columns are numbered from
-** zero in the order in which they appear within the CREATE TABLE statement
-** passed to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62),
-** the corresponding bit is set within the colUsed mask if the column may be
-** required by SQLite. If the table has at least 64 columns and any column
-** to the right of the first 63 is required, then bit 63 of colUsed is also
-** set. In other words, column iCol may be required if the expression
-** (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) evaluates to
-** non-zero.
-**
-** The [xBestIndex] method must fill aConstraintUsage[] with information
-** about what parameters to pass to xFilter. ^If argvIndex>0 then
-** the right-hand side of the corresponding aConstraint[] is evaluated
-** and becomes the argvIndex-th entry in argv. ^(If aConstraintUsage[].omit
-** is true, then the constraint is assumed to be fully handled by the
-** virtual table and might not be checked again by the byte code.)^ ^(The
-** aConstraintUsage[].omit flag is an optimization hint. When the omit flag
-** is left in its default setting of false, the constraint will always be
-** checked separately in byte code. If the omit flag is changed to true, then
-** the constraint may or may not be checked in byte code. In other words,
-** when the omit flag is true there is no guarantee that the constraint will
-** not be checked again using byte code.)^
-**
-** ^The idxNum and idxStr values are recorded and passed into the
-** [xFilter] method.
-** ^[sqlite3_free()] is used to free idxStr if and only if
-** needToFreeIdxStr is true.
-**
-** ^The orderByConsumed means that output from [xFilter]/[xNext] will occur in
-** the correct order to satisfy the ORDER BY clause so that no separate
-** sorting step is required.
-**
-** ^The estimatedCost value is an estimate of the cost of a particular
-** strategy. A cost of N indicates that the cost of the strategy is similar
-** to a linear scan of an SQLite table with N rows. A cost of log(N)
-** indicates that the expense of the operation is similar to that of a
-** binary search on a unique indexed field of an SQLite table with N rows.
-**
-** ^The estimatedRows value is an estimate of the number of rows that
-** will be returned by the strategy.
-**
-** The xBestIndex method may optionally populate the idxFlags field with a
-** mask of SQLITE_INDEX_SCAN_* flags. One such flag is
-** [SQLITE_INDEX_SCAN_HEX], which if set causes the [EXPLAIN QUERY PLAN]
-** output to show the idxNum as hex instead of as decimal. Another flag is
-** SQLITE_INDEX_SCAN_UNIQUE, which if set indicates that the query plan will
-** return at most one row.
-**
-** Additionally, if xBestIndex sets the SQLITE_INDEX_SCAN_UNIQUE flag, then
-** SQLite also assumes that if a call to the xUpdate() method is made as
-** part of the same statement to delete or update a virtual table row and the
-** implementation returns SQLITE_CONSTRAINT, then there is no need to rollback
-** any database changes. In other words, if the xUpdate() returns
-** SQLITE_CONSTRAINT, the database contents must be exactly as they were
-** before xUpdate was called. By contrast, if SQLITE_INDEX_SCAN_UNIQUE is not
-** set and xUpdate returns SQLITE_CONSTRAINT, any database changes made by
-** the xUpdate method are automatically rolled back by SQLite.
-**
-** IMPORTANT: The estimatedRows field was added to the sqlite3_index_info
-** structure for SQLite [version 3.8.2] ([dateof:3.8.2]).
-** If a virtual table extension is
-** used with an SQLite version earlier than 3.8.2, the results of attempting
-** to read or write the estimatedRows field are undefined (but are likely
-** to include crashing the application). The estimatedRows field should
-** therefore only be used if [sqlite3_libversion_number()] returns a
-** value greater than or equal to 3008002. Similarly, the idxFlags field
-** was added for [version 3.9.0] ([dateof:3.9.0]).
-** It may therefore only be used if
-** sqlite3_libversion_number() returns a value greater than or equal to
-** 3009000.
- */
-type Tsqlite3_index_info1 = struct {
- FnConstraint int32
- FaConstraint uintptr
- FnOrderBy int32
- FaOrderBy uintptr
- FaConstraintUsage uintptr
- FidxNum int32
- FidxStr uintptr
- FneedToFreeIdxStr int32
- ForderByConsumed int32
- FestimatedCost float64
- FestimatedRows Tsqlite3_int64
- FidxFlags int32
- FcolUsed Tsqlite3_uint64
-}
-
-type sqlite3_index_info1 = Tsqlite3_index_info1
-
-/*
-** CAPI3REF: Virtual Table Instance Object
-** KEYWORDS: sqlite3_vtab
-**
-** Every [virtual table module] implementation uses a subclass
-** of this object to describe a particular instance
-** of the [virtual table]. Each subclass will
-** be tailored to the specific needs of the module implementation.
-** The purpose of this superclass is to define certain fields that are
-** common to all module implementations.
-**
-** ^Virtual tables methods can set an error message by assigning a
-** string obtained from [sqlite3_mprintf()] to zErrMsg. The method should
-** take care that any prior string is freed by a call to [sqlite3_free()]
-** prior to assigning a new string to zErrMsg. ^After the error message
-** is delivered up to the client application, the string will be automatically
-** freed by sqlite3_free() and the zErrMsg field will be zeroed.
- */
-type Tsqlite3_vtab1 = struct {
- FpModule uintptr
- FnRef int32
- FzErrMsg uintptr
-}
-
-type sqlite3_vtab1 = Tsqlite3_vtab1
-
-/*
-** CAPI3REF: Virtual Table Cursor Object
-** KEYWORDS: sqlite3_vtab_cursor {virtual table cursor}
-**
-** Every [virtual table module] implementation uses a subclass of the
-** following structure to describe cursors that point into the
-** [virtual table] and are used
-** to loop through the virtual table. Cursors are created using the
-** [sqlite3_module.xOpen | xOpen] method of the module and are destroyed
-** by the [sqlite3_module.xClose | xClose] method. Cursors are used
-** by the [xFilter], [xNext], [xEof], [xColumn], and [xRowid] methods
-** of the module. Each module implementation will define
-** the content of a cursor structure to suit its own needs.
-**
-** This superclass exists in order to define fields of the cursor that
-** are common to all implementations.
- */
-type Tsqlite3_vtab_cursor1 = struct {
- FpVtab uintptr
-}
-
-type sqlite3_vtab_cursor1 = Tsqlite3_vtab_cursor1
-
// C documentation
//
// /*
@@ -5275,20 +4988,6 @@ type Tsqlite3_mutex_methods = struct {
type sqlite3_mutex_methods = Tsqlite3_mutex_methods
-type Tsqlite3_mutex_methods1 = struct {
- FxMutexInit uintptr
- FxMutexEnd uintptr
- FxMutexAlloc uintptr
- FxMutexFree uintptr
- FxMutexEnter uintptr
- FxMutexTry uintptr
- FxMutexLeave uintptr
- FxMutexHeld uintptr
- FxMutexNotheld uintptr
-}
-
-type sqlite3_mutex_methods1 = Tsqlite3_mutex_methods1
-
// C documentation
//
// /*
@@ -5338,13 +5037,6 @@ type Tsqlite3_pcache_page = struct {
type sqlite3_pcache_page = Tsqlite3_pcache_page
-type Tsqlite3_pcache_page1 = struct {
- FpBuf uintptr
- FpExtra uintptr
-}
-
-type sqlite3_pcache_page1 = Tsqlite3_pcache_page1
-
// C documentation
//
// /*
@@ -5524,24 +5216,6 @@ type Tsqlite3_pcache_methods2 = struct {
type sqlite3_pcache_methods2 = Tsqlite3_pcache_methods2
-type Tsqlite3_pcache_methods21 = struct {
- FiVersion int32
- FpArg uintptr
- FxInit uintptr
- FxShutdown uintptr
- FxCreate uintptr
- FxCachesize uintptr
- FxPagecount uintptr
- FxFetch uintptr
- FxUnpin uintptr
- FxRekey uintptr
- FxTruncate uintptr
- FxDestroy uintptr
- FxShrink uintptr
-}
-
-type sqlite3_pcache_methods21 = Tsqlite3_pcache_methods21
-
// C documentation
//
// /*
@@ -5565,22 +5239,6 @@ type Tsqlite3_pcache_methods = struct {
type sqlite3_pcache_methods = Tsqlite3_pcache_methods
-type Tsqlite3_pcache_methods1 = struct {
- FpArg uintptr
- FxInit uintptr
- FxShutdown uintptr
- FxCreate uintptr
- FxCachesize uintptr
- FxPagecount uintptr
- FxFetch uintptr
- FxUnpin uintptr
- FxRekey uintptr
- FxTruncate uintptr
- FxDestroy uintptr
-}
-
-type sqlite3_pcache_methods1 = Tsqlite3_pcache_methods1
-
// C documentation
//
// /*
@@ -5721,50 +5379,6 @@ type Tsqlite3_rtree_dbl = float64
type sqlite3_rtree_dbl = Tsqlite3_rtree_dbl
-/*
-** A pointer to a structure of the following type is passed as the first
-** argument to callbacks registered using rtree_geometry_callback().
- */
-type Tsqlite3_rtree_geometry1 = struct {
- FpContext uintptr
- FnParam int32
- FaParam uintptr
- FpUser uintptr
- FxDelUser uintptr
-}
-
-type sqlite3_rtree_geometry1 = Tsqlite3_rtree_geometry1
-
-/*
-** A pointer to a structure of the following type is passed as the
-** argument to scored geometry callback registered using
-** sqlite3_rtree_query_callback().
-**
-** Note that the first 5 fields of this structure are identical to
-** sqlite3_rtree_geometry. This structure is a subclass of
-** sqlite3_rtree_geometry.
- */
-type Tsqlite3_rtree_query_info1 = struct {
- FpContext uintptr
- FnParam int32
- FaParam uintptr
- FpUser uintptr
- FxDelUser uintptr
- FaCoord uintptr
- FanQueue uintptr
- FnCoord int32
- FiLevel int32
- FmxLevel int32
- FiRowid Tsqlite3_int64
- FrParentScore Tsqlite3_rtree_dbl
- FeParentWithin int32
- FeWithin int32
- FrScore Tsqlite3_rtree_dbl
- FapSqlParam uintptr
-}
-
-type sqlite3_rtree_query_info1 = Tsqlite3_rtree_query_info1
-
/*
** Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin.
*/
@@ -6161,340 +5775,6 @@ type Tfts5_extension_function = uintptr
type fts5_extension_function = Tfts5_extension_function
-type TFts5PhraseIter1 = struct {
- Fa uintptr
- Fb uintptr
-}
-
-type Fts5PhraseIter1 = TFts5PhraseIter1
-
-/*
-** EXTENSION API FUNCTIONS
-**
-** xUserData(pFts):
-** Return a copy of the pUserData pointer passed to the xCreateFunction()
-** API when the extension function was registered.
-**
-** xColumnTotalSize(pFts, iCol, pnToken):
-** If parameter iCol is less than zero, set output variable *pnToken
-** to the total number of tokens in the FTS5 table. Or, if iCol is
-** non-negative but less than the number of columns in the table, return
-** the total number of tokens in column iCol, considering all rows in
-** the FTS5 table.
-**
-** If parameter iCol is greater than or equal to the number of columns
-** in the table, SQLITE_RANGE is returned. Or, if an error occurs (e.g.
-** an OOM condition or IO error), an appropriate SQLite error code is
-** returned.
-**
-** xColumnCount(pFts):
-** Return the number of columns in the table.
-**
-** xColumnSize(pFts, iCol, pnToken):
-** If parameter iCol is less than zero, set output variable *pnToken
-** to the total number of tokens in the current row. Or, if iCol is
-** non-negative but less than the number of columns in the table, set
-** *pnToken to the number of tokens in column iCol of the current row.
-**
-** If parameter iCol is greater than or equal to the number of columns
-** in the table, SQLITE_RANGE is returned. Or, if an error occurs (e.g.
-** an OOM condition or IO error), an appropriate SQLite error code is
-** returned.
-**
-** This function may be quite inefficient if used with an FTS5 table
-** created with the "columnsize=0" option.
-**
-** xColumnText:
-** If parameter iCol is less than zero, or greater than or equal to the
-** number of columns in the table, SQLITE_RANGE is returned.
-**
-** Otherwise, this function attempts to retrieve the text of column iCol of
-** the current document. If successful, (*pz) is set to point to a buffer
-** containing the text in utf-8 encoding, (*pn) is set to the size in bytes
-** (not characters) of the buffer and SQLITE_OK is returned. Otherwise,
-** if an error occurs, an SQLite error code is returned and the final values
-** of (*pz) and (*pn) are undefined.
-**
-** xPhraseCount:
-** Returns the number of phrases in the current query expression.
-**
-** xPhraseSize:
-** If parameter iCol is less than zero, or greater than or equal to the
-** number of phrases in the current query, as returned by xPhraseCount,
-** 0 is returned. Otherwise, this function returns the number of tokens in
-** phrase iPhrase of the query. Phrases are numbered starting from zero.
-**
-** xInstCount:
-** Set *pnInst to the total number of occurrences of all phrases within
-** the query within the current row. Return SQLITE_OK if successful, or
-** an error code (i.e. SQLITE_NOMEM) if an error occurs.
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option. If the FTS5 table is created
-** with either "detail=none" or "detail=column" and "content=" option
-** (i.e. if it is a contentless table), then this API always returns 0.
-**
-** xInst:
-** Query for the details of phrase match iIdx within the current row.
-** Phrase matches are numbered starting from zero, so the iIdx argument
-** should be greater than or equal to zero and smaller than the value
-** output by xInstCount(). If iIdx is less than zero or greater than
-** or equal to the value returned by xInstCount(), SQLITE_RANGE is returned.
-**
-** Otherwise, output parameter *piPhrase is set to the phrase number, *piCol
-** to the column in which it occurs and *piOff the token offset of the
-** first token of the phrase. SQLITE_OK is returned if successful, or an
-** error code (i.e. SQLITE_NOMEM) if an error occurs.
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option.
-**
-** xRowid:
-** Returns the rowid of the current row.
-**
-** xTokenize:
-** Tokenize text using the tokenizer belonging to the FTS5 table.
-**
-** xQueryPhrase(pFts5, iPhrase, pUserData, xCallback):
-** This API function is used to query the FTS table for phrase iPhrase
-** of the current query. Specifically, a query equivalent to:
-**
-** ... FROM ftstable WHERE ftstable MATCH $p ORDER BY rowid
-**
-** with $p set to a phrase equivalent to the phrase iPhrase of the
-** current query is executed. Any column filter that applies to
-** phrase iPhrase of the current query is included in $p. For each
-** row visited, the callback function passed as the fourth argument
-** is invoked. The context and API objects passed to the callback
-** function may be used to access the properties of each matched row.
-** Invoking Api.xUserData() returns a copy of the pointer passed as
-** the third argument to pUserData.
-**
-** If parameter iPhrase is less than zero, or greater than or equal to
-** the number of phrases in the query, as returned by xPhraseCount(),
-** this function returns SQLITE_RANGE.
-**
-** If the callback function returns any value other than SQLITE_OK, the
-** query is abandoned and the xQueryPhrase function returns immediately.
-** If the returned value is SQLITE_DONE, xQueryPhrase returns SQLITE_OK.
-** Otherwise, the error code is propagated upwards.
-**
-** If the query runs to completion without incident, SQLITE_OK is returned.
-** Or, if some error occurs before the query completes or is aborted by
-** the callback, an SQLite error code is returned.
-**
-**
-** xSetAuxdata(pFts5, pAux, xDelete)
-**
-** Save the pointer passed as the second argument as the extension function's
-** "auxiliary data". The pointer may then be retrieved by the current or any
-** future invocation of the same fts5 extension function made as part of
-** the same MATCH query using the xGetAuxdata() API.
-**
-** Each extension function is allocated a single auxiliary data slot for
-** each FTS query (MATCH expression). If the extension function is invoked
-** more than once for a single FTS query, then all invocations share a
-** single auxiliary data context.
-**
-** If there is already an auxiliary data pointer when this function is
-** invoked, then it is replaced by the new pointer. If an xDelete callback
-** was specified along with the original pointer, it is invoked at this
-** point.
-**
-** The xDelete callback, if one is specified, is also invoked on the
-** auxiliary data pointer after the FTS5 query has finished.
-**
-** If an error (e.g. an OOM condition) occurs within this function,
-** the auxiliary data is set to NULL and an error code returned. If the
-** xDelete parameter was not NULL, it is invoked on the auxiliary data
-** pointer before returning.
-**
-**
-** xGetAuxdata(pFts5, bClear)
-**
-** Returns the current auxiliary data pointer for the fts5 extension
-** function. See the xSetAuxdata() method for details.
-**
-** If the bClear argument is non-zero, then the auxiliary data is cleared
-** (set to NULL) before this function returns. In this case the xDelete,
-** if any, is not invoked.
-**
-**
-** xRowCount(pFts5, pnRow)
-**
-** This function is used to retrieve the total number of rows in the table.
-** In other words, the same value that would be returned by:
-**
-** SELECT count(*) FROM ftstable;
-**
-** xPhraseFirst()
-** This function is used, along with type Fts5PhraseIter and the xPhraseNext
-** method, to iterate through all instances of a single query phrase within
-** the current row. This is the same information as is accessible via the
-** xInstCount/xInst APIs. While the xInstCount/xInst APIs are more convenient
-** to use, this API may be faster under some circumstances. To iterate
-** through instances of phrase iPhrase, use the following code:
-**
-** Fts5PhraseIter iter;
-** int iCol, iOff;
-** for(pApi->xPhraseFirst(pFts, iPhrase, &iter, &iCol, &iOff);
-** iCol>=0;
-** pApi->xPhraseNext(pFts, &iter, &iCol, &iOff)
-** ){
-** // An instance of phrase iPhrase at offset iOff of column iCol
-** }
-**
-** The Fts5PhraseIter structure is defined above. Applications should not
-** modify this structure directly - it should only be used as shown above
-** with the xPhraseFirst() and xPhraseNext() API methods (and by
-** xPhraseFirstColumn() and xPhraseNextColumn() as illustrated below).
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option. If the FTS5 table is created
-** with either "detail=none" or "detail=column" and "content=" option
-** (i.e. if it is a contentless table), then this API always iterates
-** through an empty set (all calls to xPhraseFirst() set iCol to -1).
-**
-** In all cases, matches are visited in (column ASC, offset ASC) order.
-** i.e. all those in column 0, sorted by offset, followed by those in
-** column 1, etc.
-**
-** xPhraseNext()
-** See xPhraseFirst above.
-**
-** xPhraseFirstColumn()
-** This function and xPhraseNextColumn() are similar to the xPhraseFirst()
-** and xPhraseNext() APIs described above. The difference is that instead
-** of iterating through all instances of a phrase in the current row, these
-** APIs are used to iterate through the set of columns in the current row
-** that contain one or more instances of a specified phrase. For example:
-**
-** Fts5PhraseIter iter;
-** int iCol;
-** for(pApi->xPhraseFirstColumn(pFts, iPhrase, &iter, &iCol);
-** iCol>=0;
-** pApi->xPhraseNextColumn(pFts, &iter, &iCol)
-** ){
-** // Column iCol contains at least one instance of phrase iPhrase
-** }
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" option. If the FTS5 table is created with either
-** "detail=none" "content=" option (i.e. if it is a contentless table),
-** then this API always iterates through an empty set (all calls to
-** xPhraseFirstColumn() set iCol to -1).
-**
-** The information accessed using this API and its companion
-** xPhraseFirstColumn() may also be obtained using xPhraseFirst/xPhraseNext
-** (or xInst/xInstCount). The chief advantage of this API is that it is
-** significantly more efficient than those alternatives when used with
-** "detail=column" tables.
-**
-** xPhraseNextColumn()
-** See xPhraseFirstColumn above.
-**
-** xQueryToken(pFts5, iPhrase, iToken, ppToken, pnToken)
-** This is used to access token iToken of phrase iPhrase of the current
-** query. Before returning, output parameter *ppToken is set to point
-** to a buffer containing the requested token, and *pnToken to the
-** size of this buffer in bytes.
-**
-** If iPhrase or iToken are less than zero, or if iPhrase is greater than
-** or equal to the number of phrases in the query as reported by
-** xPhraseCount(), or if iToken is equal to or greater than the number of
-** tokens in the phrase, SQLITE_RANGE is returned and *ppToken and *pnToken
-
- are both zeroed.
-
-**
-** The output text is not a copy of the query text that specified the
-** token. It is the output of the tokenizer module. For tokendata=1
-** tables, this includes any embedded 0x00 and trailing data.
-**
-** xInstToken(pFts5, iIdx, iToken, ppToken, pnToken)
-** This is used to access token iToken of phrase hit iIdx within the
-** current row. If iIdx is less than zero or greater than or equal to the
-** value returned by xInstCount(), SQLITE_RANGE is returned. Otherwise,
-** output variable (*ppToken) is set to point to a buffer containing the
-** matching document token, and (*pnToken) to the size of that buffer in
-** bytes.
-**
-** The output text is not a copy of the document text that was tokenized.
-** It is the output of the tokenizer module. For tokendata=1 tables, this
-** includes any embedded 0x00 and trailing data.
-**
-** This API may be slow in some cases if the token identified by parameters
-** iIdx and iToken matched a prefix token in the query. In most cases, the
-** first call to this API for each prefix token in the query is forced
-** to scan the portion of the full-text index that matches the prefix
-** token to collect the extra data required by this API. If the prefix
-** token matches a large number of token instances in the document set,
-** this may be a performance problem.
-**
-** If the user knows in advance that a query may use this API for a
-** prefix token, FTS5 may be configured to collect all required data as part
-** of the initial querying of the full-text index, avoiding the second scan
-** entirely. This also causes prefix queries that do not use this API to
-** run more slowly and use more memory. FTS5 may be configured in this way
-** either on a per-table basis using the [FTS5 insttoken | 'insttoken']
-** option, or on a per-query basis using the
-** [fts5_insttoken | fts5_insttoken()] user function.
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option.
-**
-** xColumnLocale(pFts5, iIdx, pzLocale, pnLocale)
-** If parameter iCol is less than zero, or greater than or equal to the
-** number of columns in the table, SQLITE_RANGE is returned.
-**
-** Otherwise, this function attempts to retrieve the locale associated
-** with column iCol of the current row. Usually, there is no associated
-** locale, and output parameters (*pzLocale) and (*pnLocale) are set
-** to NULL and 0, respectively. However, if the fts5_locale() function
-** was used to associate a locale with the value when it was inserted
-** into the fts5 table, then (*pzLocale) is set to point to a nul-terminated
-** buffer containing the name of the locale in utf-8 encoding. (*pnLocale)
-** is set to the size in bytes of the buffer, not including the
-** nul-terminator.
-**
-** If successful, SQLITE_OK is returned. Or, if an error occurs, an
-** SQLite error code is returned. The final value of the output parameters
-** is undefined in this case.
-**
-** xTokenize_v2:
-** Tokenize text using the tokenizer belonging to the FTS5 table. This
-** API is the same as the xTokenize() API, except that it allows a tokenizer
-** locale to be specified.
-*/
-type TFts5ExtensionApi1 = struct {
- FiVersion int32
- FxUserData uintptr
- FxColumnCount uintptr
- FxRowCount uintptr
- FxColumnTotalSize uintptr
- FxTokenize uintptr
- FxPhraseCount uintptr
- FxPhraseSize uintptr
- FxInstCount uintptr
- FxInst uintptr
- FxRowid uintptr
- FxColumnText uintptr
- FxColumnSize uintptr
- FxQueryPhrase uintptr
- FxSetAuxdata uintptr
- FxGetAuxdata uintptr
- FxPhraseFirst uintptr
- FxPhraseNext uintptr
- FxPhraseFirstColumn uintptr
- FxPhraseNextColumn uintptr
- FxQueryToken uintptr
- FxInstToken uintptr
- FxColumnLocale uintptr
- FxTokenize_v2 uintptr
-}
-
-type Fts5ExtensionApi1 = TFts5ExtensionApi1
-
type Tfts5_tokenizer_v2 = struct {
FiVersion int32
FxCreate uintptr
@@ -6504,15 +5784,6 @@ type Tfts5_tokenizer_v2 = struct {
type fts5_tokenizer_v2 = Tfts5_tokenizer_v2
-type Tfts5_tokenizer_v21 = struct {
- FiVersion int32
- FxCreate uintptr
- FxDelete uintptr
- FxTokenize uintptr
-}
-
-type fts5_tokenizer_v21 = Tfts5_tokenizer_v21
-
// C documentation
//
// /*
@@ -6528,14 +5799,6 @@ type Tfts5_tokenizer = struct {
type fts5_tokenizer = Tfts5_tokenizer
-type Tfts5_tokenizer1 = struct {
- FxCreate uintptr
- FxDelete uintptr
- FxTokenize uintptr
-}
-
-type fts5_tokenizer1 = Tfts5_tokenizer1
-
/* Flags that may be passed as the third argument to xTokenize() */
/* Flags that may be passed by the tokenizer implementation back to FTS5
@@ -6561,17 +5824,6 @@ type Tfts5_api = struct {
type fts5_api = Tfts5_api
-type Tfts5_api1 = struct {
- FiVersion int32
- FxCreateTokenizer uintptr
- FxFindTokenizer uintptr
- FxCreateFunction uintptr
- FxCreateTokenizer_v2 uintptr
- FxFindTokenizer_v2 uintptr
-}
-
-type fts5_api1 = Tfts5_api1
-
/*
** END OF REGISTRATION API
*************************************************************************/
@@ -7015,52 +6267,6 @@ type THashElem = struct {
type HashElem = THashElem
-/* A complete hash table is an instance of the following structure.
-** The internals of this structure are intended to be opaque -- client
-** code should not attempt to access or modify the fields of this structure
-** directly. Change this structure only by using the routines below.
-** However, some of the "procedures" and "functions" for modifying and
-** accessing this structure are really macros, so we can't really make
-** this structure opaque.
-**
-** All elements of the hash table are on a single doubly-linked list.
-** Hash.first points to the head of this list.
-**
-** There are Hash.htsize buckets. Each bucket points to a spot in
-** the global doubly-linked list. The contents of the bucket are the
-** element pointed to plus the next _ht.count-1 elements in the list.
-**
-** Hash.htsize and Hash.ht may be zero. In that case lookup is done
-** by a linear search of the global list. For small tables, the
-** Hash.ht table is never allocated because if there are few elements
-** in the table, it is faster to do a linear search than to manage
-** the hash table.
- */
-type THash1 = struct {
- Fhtsize uint32
- Fcount uint32
- Ffirst uintptr
- Fht uintptr
-}
-
-type Hash1 = THash1
-
-/* Each element in the hash table is an instance of the following
-** structure. All elements are stored on a single doubly-linked list.
-**
-** Again, this structure is intended to be opaque, but it can't really
-** be opaque because it is used by macros.
- */
-type THashElem1 = struct {
- Fnext uintptr
- Fprev uintptr
- Fdata uintptr
- FpKey uintptr
- Fh uint32
-}
-
-type HashElem1 = THashElem1
-
type Tfpos_t = int64
type fpos_t = Tfpos_t
@@ -7511,14 +6717,6 @@ type TBusyHandler = struct {
type BusyHandler = TBusyHandler
-type TBusyHandler1 = struct {
- FxBusyHandler uintptr
- FpBusyArg uintptr
- FnBusy int32
-}
-
-type BusyHandler1 = TBusyHandler1
-
/*
** Name of table that holds the database schema.
**
@@ -7763,6 +6961,7 @@ type TExpr = struct {
FpAggInfo uintptr
Fy struct {
FpWin [0]uintptr
+ FnReg [0]int32
Fsub [0]struct {
FiAddr int32
FregReturn int32
@@ -8248,10 +7447,6 @@ type TStrAccum = struct {
type StrAccum = TStrAccum
-type Tsqlite3_str1 = TStrAccum
-
-type sqlite3_str1 = Tsqlite3_str1
-
/* Internal alias for sqlite3_str */
type TTable = struct {
FzName uintptr
@@ -8680,9 +7875,9 @@ type DbPage = TDbPage
// /*
// ** Handle type for pages.
// */
-type TPgHdr2 = TDbPage
+type TPgHdr = TDbPage
-type PgHdr2 = TPgHdr2
+type PgHdr = TPgHdr
/* Functions to support testing and debugging. */
@@ -8809,53 +8004,6 @@ type TBtreePayload = struct {
type BtreePayload = TBtreePayload
-/* Allowed flags for sqlite3BtreeDelete() and sqlite3BtreeInsert() */
-
-/* An instance of the BtreePayload object describes the content of a single
-** entry in either an index or table btree.
-**
-** Index btrees (used for indexes and also WITHOUT ROWID tables) contain
-** an arbitrary key and no data. These btrees have pKey,nKey set to the
-** key and the pData,nData,nZero fields are uninitialized. The aMem,nMem
-** fields give an array of Mem objects that are a decomposition of the key.
-** The nMem field might be zero, indicating that no decomposition is available.
-**
-** Table btrees (used for rowid tables) contain an integer rowid used as
-** the key and passed in the nKey field. The pKey field is zero.
-** pData,nData hold the content of the new entry. nZero extra zero bytes
-** are appended to the end of the content when constructing the entry.
-** The aMem,nMem fields are uninitialized for table btrees.
-**
-** Field usage summary:
-**
-** Table BTrees Index Btrees
-**
-** pKey always NULL encoded key
-** nKey the ROWID length of pKey
-** pData data not used
-** aMem not used decomposed key value
-** nMem not used entries in aMem
-** nData length of pData not used
-** nZero extra zeros after pData not used
-**
-** This object is used to pass information into sqlite3BtreeInsert(). The
-** same information used to be passed as five separate parameters. But placing
-** the information into this object helps to keep the interface more
-** organized and understandable, and it also helps the resulting code to
-** run a little faster by using fewer registers for parameter passing.
- */
-type TBtreePayload1 = struct {
- FpKey uintptr
- FnKey Tsqlite3_int64
- FpData uintptr
- FaMem uintptr
- FnMem Tu16
- FnData int32
- FnZero int32
-}
-
-type BtreePayload1 = TBtreePayload1
-
/************** End of btree.h ***********************************************/
/************** Continuing where we left off in sqliteInt.h ******************/
/************** Include vdbe.h in the middle of sqliteInt.h ******************/
@@ -8959,16 +8107,6 @@ type TMem = struct {
type Mem = TMem
-// C documentation
-//
-// /*
-// ** The names of the following types declared in vdbeInt.h are required
-// ** for the VdbeOp definition.
-// */
-type Tsqlite3_value1 = TMem
-
-type sqlite3_value1 = Tsqlite3_value1
-
type TSubProgram = struct {
FaOp uintptr
FnOp int32
@@ -8992,38 +8130,11 @@ type TSubrtnSig = struct {
type SubrtnSig = TSubrtnSig
-/*
-** A signature for a reusable subroutine that materializes the RHS of
-** an IN operator.
- */
-type TSubrtnSig1 = struct {
- FselId int32
- FbComplete Tu8
- FzAff uintptr
- FiTable int32
- FiAddr int32
- FregReturn int32
-}
-
-type SubrtnSig1 = TSubrtnSig1
-
/*
** A single instruction of the virtual machine has an opcode
** and as many as three operands. The instruction is recorded
** as an instance of the following structure:
*/
-type TVdbeOp1 = struct {
- Fopcode Tu8
- Fp4type int8
- Fp5 Tu16
- Fp1 int32
- Fp2 int32
- Fp3 int32
- Fp4 Tp4union
-}
-
-type VdbeOp1 = TVdbeOp1
-
type TVdbeOp = struct {
Fopcode Tu8
Fp4type int8
@@ -9036,34 +8147,10 @@ type TVdbeOp = struct {
type VdbeOp = TVdbeOp
-/*
-** A sub-routine used to implement a trigger program.
- */
-type TSubProgram1 = struct {
- FaOp uintptr
- FnOp int32
- FnMem int32
- FnCsr int32
- FaOnce uintptr
- Ftoken uintptr
- FpNext uintptr
-}
-
-type SubProgram1 = TSubProgram1
-
/*
** A smaller version of VdbeOp used for the VdbeAddOpList() function because
** it takes up less space.
*/
-type TVdbeOpList1 = struct {
- Fopcode Tu8
- Fp1 int8
- Fp2 int8
- Fp3 int8
-}
-
-type VdbeOpList1 = TVdbeOpList1
-
type TVdbeOpList = struct {
Fopcode Tu8
Fp1 int8
@@ -9077,90 +8164,6 @@ type TRecordCompare = uintptr
type RecordCompare = TRecordCompare
-/* Use SQLITE_ENABLE_EXPLAIN_COMMENTS to enable generation of extra
-** comments on each VDBE opcode.
-**
-** Use the SQLITE_ENABLE_MODULE_COMMENTS macro to see some extra no-op
-** comments in VDBE programs that show key decision points in the code
-** generator.
- */
-
-/*
-** The VdbeCoverage macros are used to set a coverage testing point
-** for VDBE branch instructions. The coverage testing points are line
-** numbers in the sqlite3.c source file. VDBE branch coverage testing
-** only works with an amalgamation build. That's ok since a VDBE branch
-** coverage build designed for testing the test suite only. No application
-** should ever ship with VDBE branch coverage measuring turned on.
-**
-** VdbeCoverage(v) // Mark the previously coded instruction
-** // as a branch
-**
-** VdbeCoverageIf(v, conditional) // Mark previous if conditional true
-**
-** VdbeCoverageAlwaysTaken(v) // Previous branch is always taken
-**
-** VdbeCoverageNeverTaken(v) // Previous branch is never taken
-**
-** VdbeCoverageNeverNull(v) // Previous three-way branch is only
-** // taken on the first two ways. The
-** // NULL option is not possible
-**
-** VdbeCoverageEqNe(v) // Previous OP_Jump is only interested
-** // in distinguishing equal and not-equal.
-**
-** Every VDBE branch operation must be tagged with one of the macros above.
-** If not, then when "make test" is run with -DSQLITE_VDBE_COVERAGE and
-** -DSQLITE_DEBUG then an ALWAYS() will fail in the vdbeTakeBranch()
-** routine in vdbe.c, alerting the developer to the missed tag.
-**
-** During testing, the test application will invoke
-** sqlite3_test_control(SQLITE_TESTCTRL_VDBE_COVERAGE,...) to set a callback
-** routine that is invoked as each bytecode branch is taken. The callback
-** contains the sqlite3.c source line number of the VdbeCoverage macro and
-** flags to indicate whether or not the branch was taken. The test application
-** is responsible for keeping track of this and reporting byte-code branches
-** that are never taken.
-**
-** See the VdbeBranchTaken() macro and vdbeTakeBranch() function in the
-** vdbe.c source file for additional information.
- */
-
-/************** End of vdbe.h ************************************************/
-/************** Continuing where we left off in sqliteInt.h ******************/
-/************** Include pcache.h in the middle of sqliteInt.h ****************/
-/************** Begin file pcache.h ******************************************/
-/*
-** 2008 August 05
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This header file defines the interface that the sqlite page cache
-** subsystem.
- */
-
-type TPgHdr = struct {
- FpPage uintptr
- FpData uintptr
- FpExtra uintptr
- FpCache uintptr
- FpDirty uintptr
- FpPager uintptr
- Fpgno TPgno
- Fflags Tu16
- FnRef Ti64
- FpDirtyNext uintptr
- FpDirtyPrev uintptr
-}
-
-type PgHdr = TPgHdr
-
type TPCache = struct {
FpDirty uintptr
FpDirtyTail uintptr
@@ -9179,187 +8182,6 @@ type TPCache = struct {
type PCache = TPCache
-/************** End of mutex.h ***********************************************/
-/************** Continuing where we left off in sqliteInt.h ******************/
-
-/* The SQLITE_EXTRA_DURABLE compile-time option used to set the default
-** synchronous setting to EXTRA. It is no longer supported.
- */
-
-/*
-** Default synchronous levels.
-**
-** Note that (for historical reasons) the PAGER_SYNCHRONOUS_* macros differ
-** from the SQLITE_DEFAULT_SYNCHRONOUS value by 1.
-**
-** PAGER_SYNCHRONOUS DEFAULT_SYNCHRONOUS
-** OFF 1 0
-** NORMAL 2 1
-** FULL 3 2
-** EXTRA 4 3
-**
-** The "PRAGMA synchronous" statement also uses the zero-based numbers.
-** In other words, the zero-based numbers are used for all external interfaces
-** and the one-based values are used internally.
- */
-
-/*
-** Each database file to be accessed by the system is an instance
-** of the following structure. There are normally two of these structures
-** in the sqlite.aDb[] array. aDb[0] is the main database file and
-** aDb[1] is the database file used to hold temporary tables. Additional
-** databases may be attached.
- */
-type TDb1 = struct {
- FzDbSName uintptr
- FpBt uintptr
- Fsafety_level Tu8
- FbSyncSet Tu8
- FpSchema uintptr
-}
-
-type Db1 = TDb1
-
-/*
-** An instance of the following structure stores a database schema.
-**
-** Most Schema objects are associated with a Btree. The exception is
-** the Schema for the TEMP database (sqlite3.aDb[1]) which is free-standing.
-** In shared cache mode, a single Schema object can be shared by multiple
-** Btrees that refer to the same underlying BtShared object.
-**
-** Schema objects are automatically deallocated when the last Btree that
-** references them is destroyed. The TEMP Schema is manually freed by
-** sqlite3_close().
-*
-** A thread must be holding a mutex on the corresponding Btree in order
-** to access Schema content. This implies that the thread must also be
-** holding a mutex on the sqlite3 connection pointer that owns the Btree.
-** For a TEMP Schema, only the connection mutex is required.
- */
-type TSchema1 = struct {
- Fschema_cookie int32
- FiGeneration int32
- FtblHash THash
- FidxHash THash
- FtrigHash THash
- FfkeyHash THash
- FpSeqTab uintptr
- Ffile_format Tu8
- Fenc Tu8
- FschemaFlags Tu16
- Fcache_size int32
-}
-
-type Schema1 = TSchema1
-
-/*
-** These macros can be used to test, set, or clear bits in the
-** Db.pSchema->flags field.
- */
-
-/*
-** Allowed values for the DB.pSchema->flags field.
-**
-** The DB_SchemaLoaded flag is set after the database schema has been
-** read into internal hash tables.
-**
-** DB_UnresetViews means that one or more views have column names that
-** have been filled out. If the schema changes, these column names might
-** changes and so the view will need to be reset.
- */
-
-/*
-** The number of different kinds of things that can be limited
-** using the sqlite3_limit() interface.
- */
-
-/*
-** Lookaside malloc is a set of fixed-size buffers that can be used
-** to satisfy small transient memory allocation requests for objects
-** associated with a particular database connection. The use of
-** lookaside malloc provides a significant performance enhancement
-** (approx 10%) by avoiding numerous malloc/free requests while parsing
-** SQL statements.
-**
-** The Lookaside structure holds configuration information about the
-** lookaside malloc subsystem. Each available memory allocation in
-** the lookaside subsystem is stored on a linked list of LookasideSlot
-** objects.
-**
-** Lookaside allocations are only allowed for objects that are associated
-** with a particular database connection. Hence, schema information cannot
-** be stored in lookaside because in shared cache mode the schema information
-** is shared by multiple database connections. Therefore, while parsing
-** schema information, the Lookaside.bEnabled flag is cleared so that
-** lookaside allocations are not used to construct the schema objects.
-**
-** New lookaside allocations are only allowed if bDisable==0. When
-** bDisable is greater than zero, sz is set to zero which effectively
-** disables lookaside without adding a new test for the bDisable flag
-** in a performance-critical path. sz should be set by to szTrue whenever
-** bDisable changes back to zero.
-**
-** Lookaside buffers are initially held on the pInit list. As they are
-** used and freed, they are added back to the pFree list. New allocations
-** come off of pFree first, then pInit as a fallback. This dual-list
-** allows use to compute a high-water mark - the maximum number of allocations
-** outstanding at any point in the past - by subtracting the number of
-** allocations on the pInit list from the total number of allocations.
-**
-** Enhancement on 2019-12-12: Two-size-lookaside
-** The default lookaside configuration is 100 slots of 1200 bytes each.
-** The larger slot sizes are important for performance, but they waste
-** a lot of space, as most lookaside allocations are less than 128 bytes.
-** The two-size-lookaside enhancement breaks up the lookaside allocation
-** into two pools: One of 128-byte slots and the other of the default size
-** (1200-byte) slots. Allocations are filled from the small-pool first,
-** failing over to the full-size pool if that does not work. Thus more
-** lookaside slots are available while also using less memory.
-** This enhancement can be omitted by compiling with
-** SQLITE_OMIT_TWOSIZE_LOOKASIDE.
- */
-type TLookaside1 = struct {
- FbDisable Tu32
- Fsz Tu16
- FszTrue Tu16
- FbMalloced Tu8
- FnSlot Tu32
- FanStat [3]Tu32
- FpInit uintptr
- FpFree uintptr
- FpSmallInit uintptr
- FpSmallFree uintptr
- FpMiddle uintptr
- FpStart uintptr
- FpEnd uintptr
- FpTrueEnd uintptr
-}
-
-type Lookaside1 = TLookaside1
-
-type TLookasideSlot1 = struct {
- FpNext uintptr
-}
-
-type LookasideSlot1 = TLookasideSlot1
-
-/* Size of the smaller allocations in two-size lookaside */
-
-/*
-** A hash table for built-in function definitions. (Application-defined
-** functions use a regular table table from hash.h.)
-**
-** Hash each FuncDef structure into one of the FuncDefHash.a[] slots.
-** Collisions are on the FuncDef.u.pHash chain. Use the SQLITE_FUNC_HASH()
-** macro to compute a hash on the function name.
- */
-type TFuncDefHash1 = struct {
- Fa [23]uintptr
-}
-
-type FuncDefHash1 = TFuncDefHash1
-
// C documentation
//
// /*
@@ -9369,917 +8191,6 @@ type Tsqlite3_xauth = uintptr
type sqlite3_xauth = Tsqlite3_xauth
-/* This is an extra SQLITE_TRACE macro that indicates "legacy" tracing
-** in the style of sqlite3_trace()
- */
-
-/*
-** Maximum number of sqlite3.aDb[] entries. This is the number of attached
-** databases plus 2 for "main" and "temp".
- */
-
-/*
-** Each database connection is an instance of the following structure.
- */
-type Tsqlite31 = struct {
- FpVfs uintptr
- FpVdbe uintptr
- FpDfltColl uintptr
- Fmutex uintptr
- FaDb uintptr
- FnDb int32
- FmDbFlags Tu32
- Fflags Tu64
- FlastRowid Ti64
- FszMmap Ti64
- FnSchemaLock Tu32
- FopenFlags uint32
- FerrCode int32
- FerrByteOffset int32
- FerrMask int32
- FiSysErrno int32
- FdbOptFlags Tu32
- Fenc Tu8
- FautoCommit Tu8
- Ftemp_store Tu8
- FmallocFailed Tu8
- FbBenignMalloc Tu8
- FdfltLockMode Tu8
- FnextAutovac int8
- FsuppressErr Tu8
- FvtabOnConflict Tu8
- FisTransactionSavepoint Tu8
- FmTrace Tu8
- FnoSharedCache Tu8
- FnSqlExec Tu8
- FeOpenState Tu8
- FnextPagesize int32
- FnChange Ti64
- FnTotalChange Ti64
- FaLimit [12]int32
- FnMaxSorterMmap int32
- Finit1 Tsqlite3InitInfo
- FnVdbeActive int32
- FnVdbeRead int32
- FnVdbeWrite int32
- FnVdbeExec int32
- FnVDestroy int32
- FnExtension int32
- FaExtension uintptr
- Ftrace struct {
- FxV2 [0]uintptr
- FxLegacy uintptr
- }
- FpTraceArg uintptr
- FxProfile uintptr
- FpProfileArg uintptr
- FpCommitArg uintptr
- FxCommitCallback uintptr
- FpRollbackArg uintptr
- FxRollbackCallback uintptr
- FpUpdateArg uintptr
- FxUpdateCallback uintptr
- FpAutovacPagesArg uintptr
- FxAutovacDestr uintptr
- FxAutovacPages uintptr
- FpParse uintptr
- FpPreUpdateArg uintptr
- FxPreUpdateCallback uintptr
- FpPreUpdate uintptr
- FxWalCallback uintptr
- FpWalArg uintptr
- FxCollNeeded uintptr
- FxCollNeeded16 uintptr
- FpCollNeededArg uintptr
- FpErr uintptr
- Fu1 struct {
- FnotUsed1 [0]float64
- FisInterrupted int32
- F__ccgo_pad2 [4]byte
- }
- Flookaside TLookaside
- FxAuth Tsqlite3_xauth
- FpAuthArg uintptr
- FxProgress uintptr
- FpProgressArg uintptr
- FnProgressOps uint32
- FnVTrans int32
- FaModule THash
- FpVtabCtx uintptr
- FaVTrans uintptr
- FpDisconnect uintptr
- FaFunc THash
- FaCollSeq THash
- FbusyHandler TBusyHandler
- FaDbStatic [2]TDb
- FpSavepoint uintptr
- FnAnalysisLimit int32
- FbusyTimeout int32
- FnSavepoint int32
- FnStatement int32
- FnDeferredCons Ti64
- FnDeferredImmCons Ti64
- FpnBytesFreed uintptr
- FpDbData uintptr
- FpBlockingConnection uintptr
- FpUnlockConnection uintptr
- FpUnlockArg uintptr
- FxUnlockNotify uintptr
- FpNextBlocked uintptr
-}
-
-type sqlite31 = Tsqlite31
-
-/*
-** A macro to discover the encoding of a database.
- */
-
-/*
-** A u64 constant where the lower 32 bits are all zeros. Only the
-** upper 32 bits are included in the argument. Necessary because some
-** C-compilers still do not accept LL integer literals.
- */
-
-/*
-** Possible values for the sqlite3.flags.
-**
-** Value constraints (enforced via assert()):
-** SQLITE_FullFSync == PAGER_FULLFSYNC
-** SQLITE_CkptFullFSync == PAGER_CKPT_FULLFSYNC
-** SQLITE_CacheSpill == PAGER_CACHE_SPILL
- */
-/* result set is empty */
-/* DELETE, or UPDATE and return */
-/* the count using a callback. */
-
-/* Flags used only if debugging */
-
-/*
-** Allowed values for sqlite3.mDbFlags
- */
-
-/*
-** Bits of the sqlite3.dbOptFlags field that are used by the
-** sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS,...) interface to
-** selectively disable various optimizations.
- */
-/* TH3 expects this value ^^^^^^^^^^ to be 0x0000800. Don't change it */
-/* TH3 expects this value ^^^^^^^^^^ to be 0x40000. Coordinate any change */
-/* TH3 expects this value ^^^^^^^^^^ See flatten04.test */
-
-/*
-** Macros for testing whether or not optimizations are enabled or disabled.
- */
-
-/*
-** Return true if it OK to factor constant expressions into the initialization
-** code. The argument is a Parse object for the code generator.
- */
-
-/* Possible values for the sqlite3.eOpenState field.
-** The numbers are randomly selected such that a minimum of three bits must
-** change to convert any number to another or to zero
- */
-
-/*
-** Each SQL function is defined by an instance of the following
-** structure. For global built-in functions (ex: substr(), max(), count())
-** a pointer to this structure is held in the sqlite3BuiltinFunctions object.
-** For per-connection application-defined functions, a pointer to this
-** structure is held in the db->aHash hash table.
-**
-** The u.pHash field is used by the global built-ins. The u.pDestructor
-** field is used by per-connection app-def functions.
- */
-type TFuncDef1 = struct {
- FnArg Ti16
- FfuncFlags Tu32
- FpUserData uintptr
- FpNext uintptr
- FxSFunc uintptr
- FxFinalize uintptr
- FxValue uintptr
- FxInverse uintptr
- FzName uintptr
- Fu struct {
- FpDestructor [0]uintptr
- FpHash uintptr
- }
-}
-
-type FuncDef1 = TFuncDef1
-
-/*
-** This structure encapsulates a user-function destructor callback (as
-** configured using create_function_v2()) and a reference counter. When
-** create_function_v2() is called to create a function with a destructor,
-** a single object of this type is allocated. FuncDestructor.nRef is set to
-** the number of FuncDef objects created (either 1 or 3, depending on whether
-** or not the specified encoding is SQLITE_ANY). The FuncDef.pDestructor
-** member of each of the new FuncDef objects is set to point to the allocated
-** FuncDestructor.
-**
-** Thereafter, when one of the FuncDef objects is deleted, the reference
-** count on this object is decremented. When it reaches 0, the destructor
-** is invoked and the FuncDestructor structure freed.
- */
-type TFuncDestructor1 = struct {
- FnRef int32
- FxDestroy uintptr
- FpUserData uintptr
-}
-
-type FuncDestructor1 = TFuncDestructor1
-
-/*
-** Possible values for FuncDef.flags. Note that the _LENGTH and _TYPEOF
-** values must correspond to OPFLAG_LENGTHARG and OPFLAG_TYPEOFARG. And
-** SQLITE_FUNC_CONSTANT must be the same as SQLITE_DETERMINISTIC. There
-** are assert() statements in the code to verify this.
-**
-** Value constraints (enforced via assert()):
-** SQLITE_FUNC_MINMAX == NC_MinMaxAgg == SF_MinMaxAgg
-** SQLITE_FUNC_ANYORDER == NC_OrderAgg == SF_OrderByReqd
-** SQLITE_FUNC_LENGTH == OPFLAG_LENGTHARG
-** SQLITE_FUNC_TYPEOF == OPFLAG_TYPEOFARG
-** SQLITE_FUNC_BYTELEN == OPFLAG_BYTELENARG
-** SQLITE_FUNC_CONSTANT == SQLITE_DETERMINISTIC from the API
-** SQLITE_FUNC_DIRECT == SQLITE_DIRECTONLY from the API
-** SQLITE_FUNC_UNSAFE == SQLITE_INNOCUOUS -- opposite meanings!!!
-** SQLITE_FUNC_ENCMASK depends on SQLITE_UTF* macros in the API
-**
-** Note that even though SQLITE_FUNC_UNSAFE and SQLITE_INNOCUOUS have the
-** same bit value, their meanings are inverted. SQLITE_FUNC_UNSAFE is
-** used internally and if set means that the function has side effects.
-** SQLITE_INNOCUOUS is used by application code and means "not unsafe".
-** See multiple instances of tag-20230109-1.
- */
-/* 0x0200 -- available for reuse */
-/* SQLITE_SUBTYPE 0x00100000 // Consumer of subtypes */
-/* SQLITE_RESULT_SUBTYPE 0x01000000 // Generator of subtypes */
-
-/* Identifier numbers for each in-line function */
-
-/*
-** The following three macros, FUNCTION(), LIKEFUNC() and AGGREGATE() are
-** used to create the initializers for the FuncDef structures.
-**
-** FUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Used to create a scalar function definition of a function zName
-** implemented by C function xFunc that accepts nArg arguments. The
-** value passed as iArg is cast to a (void*) and made available
-** as the user-data (sqlite3_user_data()) for the function. If
-** argument bNC is true, then the SQLITE_FUNC_NEEDCOLL flag is set.
-**
-** VFUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Like FUNCTION except it omits the SQLITE_FUNC_CONSTANT flag.
-**
-** SFUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Like FUNCTION except it omits the SQLITE_FUNC_CONSTANT flag and
-** adds the SQLITE_DIRECTONLY flag.
-**
-** INLINE_FUNC(zName, nArg, iFuncId, mFlags)
-** zName is the name of a function that is implemented by in-line
-** byte code rather than by the usual callbacks. The iFuncId
-** parameter determines the function id. The mFlags parameter is
-** optional SQLITE_FUNC_ flags for this function.
-**
-** TEST_FUNC(zName, nArg, iFuncId, mFlags)
-** zName is the name of a test-only function implemented by in-line
-** byte code rather than by the usual callbacks. The iFuncId
-** parameter determines the function id. The mFlags parameter is
-** optional SQLITE_FUNC_ flags for this function.
-**
-** DFUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Like FUNCTION except it omits the SQLITE_FUNC_CONSTANT flag and
-** adds the SQLITE_FUNC_SLOCHNG flag. Used for date & time functions
-** and functions like sqlite_version() that can change, but not during
-** a single query. The iArg is ignored. The user-data is always set
-** to a NULL pointer. The bNC parameter is not used.
-**
-** MFUNCTION(zName, nArg, xPtr, xFunc)
-** For math-library functions. xPtr is an arbitrary pointer.
-**
-** PURE_DATE(zName, nArg, iArg, bNC, xFunc)
-** Used for "pure" date/time functions, this macro is like DFUNCTION
-** except that it does set the SQLITE_FUNC_CONSTANT flags. iArg is
-** ignored and the user-data for these functions is set to an
-** arbitrary non-NULL pointer. The bNC parameter is not used.
-**
-** AGGREGATE(zName, nArg, iArg, bNC, xStep, xFinal)
-** Used to create an aggregate function definition implemented by
-** the C functions xStep and xFinal. The first four parameters
-** are interpreted in the same way as the first 4 parameters to
-** FUNCTION().
-**
-** WAGGREGATE(zName, nArg, iArg, xStep, xFinal, xValue, xInverse)
-** Used to create an aggregate function definition implemented by
-** the C functions xStep and xFinal. The first four parameters
-** are interpreted in the same way as the first 4 parameters to
-** FUNCTION().
-**
-** LIKEFUNC(zName, nArg, pArg, flags)
-** Used to create a scalar function definition of a function zName
-** that accepts nArg arguments and is implemented by a call to C
-** function likeFunc. Argument pArg is cast to a (void *) and made
-** available as the function user-data (sqlite3_user_data()). The
-** FuncDef.flags variable is set to the value passed as the flags
-** parameter.
- */
-
-/*
-** All current savepoints are stored in a linked list starting at
-** sqlite3.pSavepoint. The first element in the list is the most recently
-** opened savepoint. Savepoints are added to the list by the vdbe
-** OP_Savepoint instruction.
- */
-type TSavepoint1 = struct {
- FzName uintptr
- FnDeferredCons Ti64
- FnDeferredImmCons Ti64
- FpNext uintptr
-}
-
-type Savepoint1 = TSavepoint1
-
-/*
-** The following are used as the second parameter to sqlite3Savepoint(),
-** and as the P1 argument to the OP_Savepoint instruction.
- */
-
-/*
-** Each SQLite module (virtual table definition) is defined by an
-** instance of the following structure, stored in the sqlite3.aModule
-** hash table.
- */
-type TModule1 = struct {
- FpModule uintptr
- FzName uintptr
- FnRefModule int32
- FpAux uintptr
- FxDestroy uintptr
- FpEpoTab uintptr
-}
-
-type Module1 = TModule1
-
-/*
-** Information about each column of an SQL table is held in an instance
-** of the Column structure, in the Table.aCol[] array.
-**
-** Definitions:
-**
-** "table column index" This is the index of the column in the
-** Table.aCol[] array, and also the index of
-** the column in the original CREATE TABLE stmt.
-**
-** "storage column index" This is the index of the column in the
-** record BLOB generated by the OP_MakeRecord
-** opcode. The storage column index is less than
-** or equal to the table column index. It is
-** equal if and only if there are no VIRTUAL
-** columns to the left.
-**
-** Notes on zCnName:
-** The zCnName field stores the name of the column, the datatype of the
-** column, and the collating sequence for the column, in that order, all in
-** a single allocation. Each string is 0x00 terminated. The datatype
-** is only included if the COLFLAG_HASTYPE bit of colFlags is set and the
-** collating sequence name is only included if the COLFLAG_HASCOLL bit is
-** set.
- */
-type TColumn1 = struct {
- FzCnName uintptr
- F__ccgo8 uint8
- Faffinity uint8
- FszEst Tu8
- FhName Tu8
- FiDflt Tu16
- FcolFlags Tu16
-}
-
-type Column1 = TColumn1
-
-/* Allowed values for Column.eCType.
-**
-** Values must match entries in the global constant arrays
-** sqlite3StdTypeLen[] and sqlite3StdType[]. Each value is one more
-** than the offset into these arrays for the corresponding name.
-** Adjust the SQLITE_N_STDTYPE value if adding or removing entries.
- */
-
-/* Allowed values for Column.colFlags.
-**
-** Constraints:
-** TF_HasVirtual == COLFLAG_VIRTUAL
-** TF_HasStored == COLFLAG_STORED
-** TF_HasHidden == COLFLAG_HIDDEN
- */
-
-/*
-** A "Collating Sequence" is defined by an instance of the following
-** structure. Conceptually, a collating sequence consists of a name and
-** a comparison routine that defines the order of that sequence.
-**
-** If CollSeq.xCmp is NULL, it means that the
-** collating sequence is undefined. Indices built on an undefined
-** collating sequence may not be read or written.
- */
-type TCollSeq1 = struct {
- FzName uintptr
- Fenc Tu8
- FpUser uintptr
- FxCmp uintptr
- FxDel uintptr
-}
-
-type CollSeq1 = TCollSeq1
-
-/*
-** A sort order can be either ASC or DESC.
- */
-
-/*
-** Column affinity types.
-**
-** These used to have mnemonic name like 'i' for SQLITE_AFF_INTEGER and
-** 't' for SQLITE_AFF_TEXT. But we can save a little space and improve
-** the speed a little by numbering the values consecutively.
-**
-** But rather than start with 0 or 1, we begin with 'A'. That way,
-** when multiple affinity types are concatenated into a string and
-** used as the P4 operand, they will be more readable.
-**
-** Note also that the numeric types are grouped together so that testing
-** for a numeric type is a single comparison. And the BLOB type is first.
- */
-
-/*
-** The SQLITE_AFF_MASK values masks off the significant bits of an
-** affinity value.
- */
-
-/*
-** Additional bit values that can be ORed with an affinity without
-** changing the affinity.
-**
-** The SQLITE_NOTNULL flag is a combination of NULLEQ and JUMPIFNULL.
-** It causes an assert() to fire if either operand to a comparison
-** operator is NULL. It is added to certain comparison operators to
-** prove that the operands are always NOT NULL.
- */
-
-/*
-** An object of this type is created for each virtual table present in
-** the database schema.
-**
-** If the database schema is shared, then there is one instance of this
-** structure for each database connection (sqlite3*) that uses the shared
-** schema. This is because each database connection requires its own unique
-** instance of the sqlite3_vtab* handle used to access the virtual table
-** implementation. sqlite3_vtab* handles can not be shared between
-** database connections, even when the rest of the in-memory database
-** schema is shared, as the implementation often stores the database
-** connection handle passed to it via the xConnect() or xCreate() method
-** during initialization internally. This database connection handle may
-** then be used by the virtual table implementation to access real tables
-** within the database. So that they appear as part of the callers
-** transaction, these accesses need to be made via the same database
-** connection as that used to execute SQL operations on the virtual table.
-**
-** All VTable objects that correspond to a single table in a shared
-** database schema are initially stored in a linked-list pointed to by
-** the Table.pVTable member variable of the corresponding Table object.
-** When an sqlite3_prepare() operation is required to access the virtual
-** table, it searches the list for the VTable that corresponds to the
-** database connection doing the preparing so as to use the correct
-** sqlite3_vtab* handle in the compiled query.
-**
-** When an in-memory Table object is deleted (for example when the
-** schema is being reloaded for some reason), the VTable objects are not
-** deleted and the sqlite3_vtab* handles are not xDisconnect()ed
-** immediately. Instead, they are moved from the Table.pVTable list to
-** another linked list headed by the sqlite3.pDisconnect member of the
-** corresponding sqlite3 structure. They are then deleted/xDisconnected
-** next time a statement is prepared using said sqlite3*. This is done
-** to avoid deadlock issues involving multiple sqlite3.mutex mutexes.
-** Refer to comments above function sqlite3VtabUnlockList() for an
-** explanation as to why it is safe to add an entry to an sqlite3.pDisconnect
-** list without holding the corresponding sqlite3.mutex mutex.
-**
-** The memory for objects of this type is always allocated by
-** sqlite3DbMalloc(), using the connection handle stored in VTable.db as
-** the first argument.
- */
-type TVTable1 = struct {
- Fdb uintptr
- FpMod uintptr
- FpVtab uintptr
- FnRef int32
- FbConstraint Tu8
- FbAllSchemas Tu8
- FeVtabRisk Tu8
- FiSavepoint int32
- FpNext uintptr
-}
-
-type VTable1 = TVTable1
-
-/* Allowed values for VTable.eVtabRisk
- */
-
-/*
-** The schema for each SQL table, virtual table, and view is represented
-** in memory by an instance of the following structure.
- */
-type TTable1 = struct {
- FzName uintptr
- FaCol uintptr
- FpIndex uintptr
- FzColAff uintptr
- FpCheck uintptr
- Ftnum TPgno
- FnTabRef Tu32
- FtabFlags Tu32
- FiPKey Ti16
- FnCol Ti16
- FnNVCol Ti16
- FnRowLogEst TLogEst
- FszTabRow TLogEst
- FkeyConf Tu8
- FeTabType Tu8
- Fu struct {
- Fview [0]struct {
- FpSelect uintptr
- }
- Fvtab [0]struct {
- FnArg int32
- FazArg uintptr
- Fp uintptr
- }
- Ftab struct {
- FaddColOffset int32
- FpFKey uintptr
- FpDfltList uintptr
- }
- }
- FpTrigger uintptr
- FpSchema uintptr
- FaHx [16]Tu8
-}
-
-type Table1 = TTable1
-
-/*
-** Allowed values for Table.tabFlags.
-**
-** TF_OOOHidden applies to tables or view that have hidden columns that are
-** followed by non-hidden columns. Example: "CREATE VIRTUAL TABLE x USING
-** vtab1(a HIDDEN, b);". Since "b" is a non-hidden column but "a" is hidden,
-** the TF_OOOHidden attribute would apply in this case. Such tables require
-** special handling during INSERT processing. The "OOO" means "Out Of Order".
-**
-** Constraints:
-**
-** TF_HasVirtual == COLFLAG_VIRTUAL
-** TF_HasStored == COLFLAG_STORED
-** TF_HasHidden == COLFLAG_HIDDEN
- */
-
-/*
-** Allowed values for Table.eTabType
- */
-
-/*
-** Test to see whether or not a table is a virtual table. This is
-** done as a macro so that it will be optimized out when virtual
-** table support is omitted from the build.
- */
-
-/*
-** Macros to determine if a column is hidden. IsOrdinaryHiddenColumn()
-** only works for non-virtual tables (ordinary tables and views) and is
-** always false unless SQLITE_ENABLE_HIDDEN_COLUMNS is defined. The
-** IsHiddenColumn() macro is general purpose.
- */
-
-/* Does the table have a rowid */
-
-/* Macro is true if the SQLITE_ALLOW_ROWID_IN_VIEW (mis-)feature is
-** available. By default, this macro is false
- */
-
-/*
-** Each foreign key constraint is an instance of the following structure.
-**
-** A foreign key is associated with two tables. The "from" table is
-** the table that contains the REFERENCES clause that creates the foreign
-** key. The "to" table is the table that is named in the REFERENCES clause.
-** Consider this example:
-**
-** CREATE TABLE ex1(
-** a INTEGER PRIMARY KEY,
-** b INTEGER CONSTRAINT fk1 REFERENCES ex2(x)
-** );
-**
-** For foreign key "fk1", the from-table is "ex1" and the to-table is "ex2".
-** Equivalent names:
-**
-** from-table == child-table
-** to-table == parent-table
-**
-** Each REFERENCES clause generates an instance of the following structure
-** which is attached to the from-table. The to-table need not exist when
-** the from-table is created. The existence of the to-table is not checked.
-**
-** The list of all parents for child Table X is held at X.pFKey.
-**
-** A list of all children for a table named Z (which might not even exist)
-** is held in Schema.fkeyHash with a hash key of Z.
- */
-type TFKey1 = struct {
- FpFrom uintptr
- FpNextFrom uintptr
- FzTo uintptr
- FpNextTo uintptr
- FpPrevTo uintptr
- FnCol int32
- FisDeferred Tu8
- FaAction [2]Tu8
- FapTrigger [2]uintptr
-}
-
-type FKey1 = TFKey1
-
-/* The size (in bytes) of an FKey object holding N columns. The answer
-** does NOT include space to hold the zTo name. */
-
-/*
-** SQLite supports many different ways to resolve a constraint
-** error. ROLLBACK processing means that a constraint violation
-** causes the operation in process to fail and for the current transaction
-** to be rolled back. ABORT processing means the operation in process
-** fails and any prior changes from that one operation are backed out,
-** but the transaction is not rolled back. FAIL processing means that
-** the operation in progress stops and returns an error code. But prior
-** changes due to the same operation are not backed out and no rollback
-** occurs. IGNORE means that the particular row that caused the constraint
-** error is not inserted or updated. Processing continues and no error
-** is returned. REPLACE means that preexisting database rows that caused
-** a UNIQUE constraint violation are removed so that the new insert or
-** update can proceed. Processing continues and no error is reported.
-** UPDATE applies to insert operations only and means that the insert
-** is omitted and the DO UPDATE clause of an upsert is run instead.
-**
-** RESTRICT, SETNULL, SETDFLT, and CASCADE actions apply only to foreign keys.
-** RESTRICT is the same as ABORT for IMMEDIATE foreign keys and the
-** same as ROLLBACK for DEFERRED keys. SETNULL means that the foreign
-** key is set to NULL. SETDFLT means that the foreign key is set
-** to its default value. CASCADE means that a DELETE or UPDATE of the
-** referenced table row is propagated into the row that holds the
-** foreign key.
-**
-** The OE_Default value is a place holder that means to use whatever
-** conflict resolution algorithm is required from context.
-**
-** The following symbolic values are used to record which type
-** of conflict resolution action to take.
- */
-
-/*
-** An instance of the following structure is passed as the first
-** argument to sqlite3VdbeKeyCompare and is used to control the
-** comparison of the two index keys.
-**
-** Note that aSortOrder[] and aColl[] have nField+1 slots. There
-** are nField slots for the columns of an index then one extra slot
-** for the rowid at the end.
- */
-type TKeyInfo1 = struct {
- FnRef Tu32
- Fenc Tu8
- FnKeyField Tu16
- FnAllField Tu16
- Fdb uintptr
- FaSortFlags uintptr
-}
-
-type KeyInfo1 = TKeyInfo1
-
-/* The size (in bytes) of a KeyInfo object with up to N fields */
-
-/*
-** Allowed bit values for entries in the KeyInfo.aSortFlags[] array.
- */
-
-/*
-** This object holds a record which has been parsed out into individual
-** fields, for the purposes of doing a comparison.
-**
-** A record is an object that contains one or more fields of data.
-** Records are used to store the content of a table row and to store
-** the key of an index. A blob encoding of a record is created by
-** the OP_MakeRecord opcode of the VDBE and is disassembled by the
-** OP_Column opcode.
-**
-** An instance of this object serves as a "key" for doing a search on
-** an index b+tree. The goal of the search is to find the entry that
-** is closed to the key described by this object. This object might hold
-** just a prefix of the key. The number of fields is given by
-** pKeyInfo->nField.
-**
-** The r1 and r2 fields are the values to return if this key is less than
-** or greater than a key in the btree, respectively. These are normally
-** -1 and +1 respectively, but might be inverted to +1 and -1 if the b-tree
-** is in DESC order.
-**
-** The key comparison functions actually return default_rc when they find
-** an equals comparison. default_rc can be -1, 0, or +1. If there are
-** multiple entries in the b-tree with the same key (when only looking
-** at the first pKeyInfo->nFields,) then default_rc can be set to -1 to
-** cause the search to find the last match, or +1 to cause the search to
-** find the first match.
-**
-** The key comparison functions will set eqSeen to true if they ever
-** get and equal results when comparing this structure to a b-tree record.
-** When default_rc!=0, the search might end up on the record immediately
-** before the first match or immediately after the last match. The
-** eqSeen field will indicate whether or not an exact match exists in the
-** b-tree.
- */
-type TUnpackedRecord1 = struct {
- FpKeyInfo uintptr
- FaMem uintptr
- Fu struct {
- Fi [0]Ti64
- Fz uintptr
- }
- Fn int32
- FnField Tu16
- Fdefault_rc Ti8
- FerrCode Tu8
- Fr1 Ti8
- Fr2 Ti8
- FeqSeen Tu8
-}
-
-type UnpackedRecord1 = TUnpackedRecord1
-
-/*
-** Each SQL index is represented in memory by an
-** instance of the following structure.
-**
-** The columns of the table that are to be indexed are described
-** by the aiColumn[] field of this structure. For example, suppose
-** we have the following table and index:
-**
-** CREATE TABLE Ex1(c1 int, c2 int, c3 text);
-** CREATE INDEX Ex2 ON Ex1(c3,c1);
-**
-** In the Table structure describing Ex1, nCol==3 because there are
-** three columns in the table. In the Index structure describing
-** Ex2, nColumn==2 since 2 of the 3 columns of Ex1 are indexed.
-** The value of aiColumn is {2, 0}. aiColumn[0]==2 because the
-** first column to be indexed (c3) has an index of 2 in Ex1.aCol[].
-** The second column to be indexed (c1) has an index of 0 in
-** Ex1.aCol[], hence Ex2.aiColumn[1]==0.
-**
-** The Index.onError field determines whether or not the indexed columns
-** must be unique and what to do if they are not. When Index.onError=OE_None,
-** it means this is not a unique index. Otherwise it is a unique index
-** and the value of Index.onError indicates which conflict resolution
-** algorithm to employ when an attempt is made to insert a non-unique
-** element.
-**
-** The colNotIdxed bitmask is used in combination with SrcItem.colUsed
-** for a fast test to see if an index can serve as a covering index.
-** colNotIdxed has a 1 bit for every column of the original table that
-** is *not* available in the index. Thus the expression
-** "colUsed & colNotIdxed" will be non-zero if the index is not a
-** covering index. The most significant bit of of colNotIdxed will always
-** be true (note-20221022-a). If a column beyond the 63rd column of the
-** table is used, the "colUsed & colNotIdxed" test will always be non-zero
-** and we have to assume either that the index is not covering, or use
-** an alternative (slower) algorithm to determine whether or not
-** the index is covering.
-**
-** While parsing a CREATE TABLE or CREATE INDEX statement in order to
-** generate VDBE code (as opposed to parsing one read from an sqlite_schema
-** table as part of parsing an existing database schema), transient instances
-** of this structure may be created. In this case the Index.tnum variable is
-** used to store the address of a VDBE instruction, not a database page
-** number (it cannot - the database page is not allocated until the VDBE
-** program is executed). See convertToWithoutRowidTable() for details.
- */
-type TIndex1 = struct {
- FzName uintptr
- FaiColumn uintptr
- FaiRowLogEst uintptr
- FpTable uintptr
- FzColAff uintptr
- FpNext uintptr
- FpSchema uintptr
- FaSortOrder uintptr
- FazColl uintptr
- FpPartIdxWhere uintptr
- FaColExpr uintptr
- Ftnum TPgno
- FszIdxRow TLogEst
- FnKeyCol Tu16
- FnColumn Tu16
- FonError Tu8
- F__ccgo100 uint16
- FnSample int32
- FmxSample int32
- FnSampleCol int32
- FaAvgEq uintptr
- FaSample uintptr
- FaiRowEst uintptr
- FnRowEst0 TtRowcnt
- FcolNotIdxed TBitmask
-}
-
-type Index1 = TIndex1
-
-/*
-** Allowed values for Index.idxType
- */
-
-/* Return true if index X is a PRIMARY KEY index */
-
-/* Return true if index X is a UNIQUE index */
-
-/* The Index.aiColumn[] values are normally positive integer. But
-** there are some negative values that have special meaning:
- */
-
-/*
-** Each sample stored in the sqlite_stat4 table is represented in memory
-** using a structure of this type. See documentation at the top of the
-** analyze.c source file for additional information.
- */
-type TIndexSample1 = struct {
- Fp uintptr
- Fn int32
- FanEq uintptr
- FanLt uintptr
- FanDLt uintptr
-}
-
-type IndexSample1 = TIndexSample1
-
-/*
-** Possible values to use within the flags argument to sqlite3GetToken().
- */
-
-/*
-** Each token coming out of the lexer is an instance of
-** this structure. Tokens are also used as part of an expression.
-**
-** The memory that "z" points to is owned by other objects. Take care
-** that the owner of the "z" string does not deallocate the string before
-** the Token goes out of scope! Very often, the "z" points to some place
-** in the middle of the Parse.zSql text. But it might also point to a
-** static string.
- */
-type TToken1 = struct {
- Fz uintptr
- Fn uint32
-}
-
-type Token1 = TToken1
-
-/*
-** An instance of this structure contains information needed to generate
-** code for a SELECT that contains aggregate functions.
-**
-** If Expr.op==TK_AGG_COLUMN or TK_AGG_FUNCTION then Expr.pAggInfo is a
-** pointer to this structure. The Expr.iAgg field is the index in
-** AggInfo.aCol[] or AggInfo.aFunc[] of information needed to generate
-** code for that node.
-**
-** AggInfo.pGroupBy and AggInfo.aFunc.pExpr point to fields within the
-** original Select structure that describes the SELECT statement. These
-** fields do not need to be freed when deallocating the AggInfo structure.
- */
-type TAggInfo1 = struct {
- FdirectMode Tu8
- FuseSortingIdx Tu8
- FnSortingColumn Tu32
- FsortingIdx int32
- FsortingIdxPTab int32
- FiFirstReg int32
- FpGroupBy uintptr
- FaCol uintptr
- FnColumn int32
- FnAccumulator int32
- FaFunc uintptr
- FnFunc int32
- FselId Tu32
-}
-
-type AggInfo1 = TAggInfo1
-
/*
** Macros to compute aCol[] and aFunc[] register numbers.
**
@@ -10304,622 +8215,6 @@ type TynVar = int16
type ynVar = TynVar
-/*
-** Each node of an expression in the parse tree is an instance
-** of this structure.
-**
-** Expr.op is the opcode. The integer parser token codes are reused
-** as opcodes here. For example, the parser defines TK_GE to be an integer
-** code representing the ">=" operator. This same integer code is reused
-** to represent the greater-than-or-equal-to operator in the expression
-** tree.
-**
-** If the expression is an SQL literal (TK_INTEGER, TK_FLOAT, TK_BLOB,
-** or TK_STRING), then Expr.u.zToken contains the text of the SQL literal. If
-** the expression is a variable (TK_VARIABLE), then Expr.u.zToken contains the
-** variable name. Finally, if the expression is an SQL function (TK_FUNCTION),
-** then Expr.u.zToken contains the name of the function.
-**
-** Expr.pRight and Expr.pLeft are the left and right subexpressions of a
-** binary operator. Either or both may be NULL.
-**
-** Expr.x.pList is a list of arguments if the expression is an SQL function,
-** a CASE expression or an IN expression of the form " IN (, ...)".
-** Expr.x.pSelect is used if the expression is a sub-select or an expression of
-** the form " IN (SELECT ...)". If the EP_xIsSelect bit is set in the
-** Expr.flags mask, then Expr.x.pSelect is valid. Otherwise, Expr.x.pList is
-** valid.
-**
-** An expression of the form ID or ID.ID refers to a column in a table.
-** For such expressions, Expr.op is set to TK_COLUMN and Expr.iTable is
-** the integer cursor number of a VDBE cursor pointing to that table and
-** Expr.iColumn is the column number for the specific column. If the
-** expression is used as a result in an aggregate SELECT, then the
-** value is also stored in the Expr.iAgg column in the aggregate so that
-** it can be accessed after all aggregates are computed.
-**
-** If the expression is an unbound variable marker (a question mark
-** character '?' in the original SQL) then the Expr.iTable holds the index
-** number for that variable.
-**
-** If the expression is a subquery then Expr.iColumn holds an integer
-** register number containing the result of the subquery. If the
-** subquery gives a constant result, then iTable is -1. If the subquery
-** gives a different answer at different times during statement processing
-** then iTable is the address of a subroutine that computes the subquery.
-**
-** If the Expr is of type OP_Column, and the table it is selecting from
-** is a disk table or the "old.*" pseudo-table, then pTab points to the
-** corresponding table definition.
-**
-** ALLOCATION NOTES:
-**
-** Expr objects can use a lot of memory space in database schema. To
-** help reduce memory requirements, sometimes an Expr object will be
-** truncated. And to reduce the number of memory allocations, sometimes
-** two or more Expr objects will be stored in a single memory allocation,
-** together with Expr.u.zToken strings.
-**
-** If the EP_Reduced and EP_TokenOnly flags are set when
-** an Expr object is truncated. When EP_Reduced is set, then all
-** the child Expr objects in the Expr.pLeft and Expr.pRight subtrees
-** are contained within the same memory allocation. Note, however, that
-** the subtrees in Expr.x.pList or Expr.x.pSelect are always separately
-** allocated, regardless of whether or not EP_Reduced is set.
- */
-type TExpr1 = struct {
- Fop Tu8
- FaffExpr uint8
- Fop2 Tu8
- Fflags Tu32
- Fu struct {
- FiValue [0]int32
- FzToken uintptr
- }
- FpLeft uintptr
- FpRight uintptr
- Fx struct {
- FpSelect [0]uintptr
- FpList uintptr
- }
- FnHeight int32
- FiTable int32
- FiColumn TynVar
- FiAgg Ti16
- Fw struct {
- FiOfst [0]int32
- FiJoin int32
- }
- FpAggInfo uintptr
- Fy struct {
- FpWin [0]uintptr
- Fsub [0]struct {
- FiAddr int32
- FregReturn int32
- }
- FpTab uintptr
- }
-}
-
-type Expr1 = TExpr1
-
-/* The following are the meanings of bits in the Expr.flags field.
-** Value restrictions:
-**
-** EP_Agg == NC_HasAgg == SF_HasAgg
-** EP_Win == NC_HasWin
- */
-
-/* The EP_Propagate mask is a set of properties that automatically propagate
-** upwards into parent nodes.
- */
-
-/* Macros can be used to test, set, or clear bits in the
-** Expr.flags field.
- */
-
-/* Macros used to ensure that the correct members of unions are accessed
-** in Expr.
- */
-
-/* Flags for use with Expr.vvaFlags
- */
-
-/* The ExprSetVVAProperty() macro is used for Verification, Validation,
-** and Accreditation only. It works like ExprSetProperty() during VVA
-** processes but is a no-op for delivery.
- */
-
-/*
-** Macros to determine the number of bytes required by a normal Expr
-** struct, an Expr struct with the EP_Reduced flag set in Expr.flags
-** and an Expr struct with the EP_TokenOnly flag set.
- */
-
-/*
-** Flags passed to the sqlite3ExprDup() function. See the header comment
-** above sqlite3ExprDup() for details.
- */
-
-/*
-** True if the expression passed as an argument was a function with
-** an OVER() clause (a window function).
- */
-
-/*
-** A list of expressions. Each expression may optionally have a
-** name. An expr/name combination can be used in several ways, such
-** as the list of "expr AS ID" fields following a "SELECT" or in the
-** list of "ID = expr" items in an UPDATE. A list of expressions can
-** also be used as the argument to a function, in which case the a.zName
-** field is not used.
-**
-** In order to try to keep memory usage down, the Expr.a.zEName field
-** is used for multiple purposes:
-**
-** eEName Usage
-** ---------- -------------------------
-** ENAME_NAME (1) the AS of result set column
-** (2) COLUMN= of an UPDATE
-**
-** ENAME_TAB DB.TABLE.NAME used to resolve names
-** of subqueries
-**
-** ENAME_SPAN Text of the original result set
-** expression.
- */
-type TExprList1 = struct {
- F__ccgo_align [0]uint64
- FnExpr int32
- FnAlloc int32
-}
-
-type ExprList1 = TExprList1
-
-/* The size (in bytes) of an ExprList object that is big enough to hold
-** as many as N expressions. */
-
-/*
-** Allowed values for Expr.a.eEName
- */
-
-/*
-** An instance of this structure can hold a simple list of identifiers,
-** such as the list "a,b,c" in the following statements:
-**
-** INSERT INTO t(a,b,c) VALUES ...;
-** CREATE INDEX idx ON t(a,b,c);
-** CREATE TRIGGER trig BEFORE UPDATE ON t(a,b,c) ...;
-**
-** The IdList.a.idx field is used when the IdList represents the list of
-** column names after a table name in an INSERT statement. In the statement
-**
-** INSERT INTO t(a,b,c) ...
-**
-** If "a" is the k-th column of table "t", then IdList.a[0].idx==k.
- */
-type TIdList1 = struct {
- F__ccgo_align [0]uint64
- FnId int32
-}
-
-type IdList1 = TIdList1
-
-/* The size (in bytes) of an IdList object that can hold up to N IDs. */
-
-/*
-** Allowed values for IdList.eType, which determines which value of the a.u4
-** is valid.
- */
-
-/*
-** Details of the implementation of a subquery.
- */
-type TSubquery1 = struct {
- FpSelect uintptr
- FaddrFillSub int32
- FregReturn int32
- FregResult int32
-}
-
-type Subquery1 = TSubquery1
-
-/*
-** The SrcItem object represents a single term in the FROM clause of a query.
-** The SrcList object is mostly an array of SrcItems.
-**
-** The jointype starts out showing the join type between the current table
-** and the next table on the list. The parser builds the list this way.
-** But sqlite3SrcListShiftJoinType() later shifts the jointypes so that each
-** jointype expresses the join between the table and the previous table.
-**
-** In the colUsed field, the high-order bit (bit 63) is set if the table
-** contains more than 63 columns and the 64-th or later column is used.
-**
-** Aggressive use of "union" helps keep the size of the object small. This
-** has been shown to boost performance, in addition to saving memory.
-** Access to union elements is gated by the following rules which should
-** always be checked, either by an if-statement or by an assert().
-**
-** Field Only access if this is true
-** --------------- -----------------------------------
-** u1.zIndexedBy fg.isIndexedBy
-** u1.pFuncArg fg.isTabFunc
-** u1.nRow !fg.isTabFunc && !fg.isIndexedBy
-**
-** u2.pIBIndex fg.isIndexedBy
-** u2.pCteUse fg.isCte
-**
-** u3.pOn !fg.isUsing
-** u3.pUsing fg.isUsing
-**
-** u4.zDatabase !fg.fixedSchema && !fg.isSubquery
-** u4.pSchema fg.fixedSchema
-** u4.pSubq fg.isSubquery
-**
-** See also the sqlite3SrcListDelete() routine for assert() statements that
-** check invariants on the fields of this object, especially the flags
-** inside the fg struct.
- */
-type TSrcItem1 = struct {
- FzName uintptr
- FzAlias uintptr
- FpSTab uintptr
- Ffg struct {
- Fjointype Tu8
- F__ccgo4 uint32
- }
- FiCursor int32
- FcolUsed TBitmask
- Fu1 struct {
- FpFuncArg [0]uintptr
- FnRow [0]Tu32
- FzIndexedBy uintptr
- }
- Fu2 struct {
- FpCteUse [0]uintptr
- FpIBIndex uintptr
- }
- Fu3 struct {
- FpUsing [0]uintptr
- FpOn uintptr
- }
- Fu4 struct {
- FzDatabase [0]uintptr
- FpSubq [0]uintptr
- FpSchema uintptr
- }
-}
-
-type SrcItem1 = TSrcItem1
-
-/*
-** The OnOrUsing object represents either an ON clause or a USING clause.
-** It can never be both at the same time, but it can be neither.
- */
-type TOnOrUsing1 = struct {
- FpOn uintptr
- FpUsing uintptr
-}
-
-type OnOrUsing1 = TOnOrUsing1
-
-/*
-** This object represents one or more tables that are the source of
-** content for an SQL statement. For example, a single SrcList object
-** is used to hold the FROM clause of a SELECT statement. SrcList also
-** represents the target tables for DELETE, INSERT, and UPDATE statements.
-**
- */
-type TSrcList1 = struct {
- F__ccgo_align [0]uint64
- FnSrc int32
- FnAlloc Tu32
-}
-
-type SrcList1 = TSrcList1
-
-/* Size (in bytes) of a SrcList object that can hold as many as N
-** SrcItem objects. */
-
-/* Size (in bytes( of a SrcList object that holds 1 SrcItem. This is a
-** special case of SZ_SRCITEM(1) that comes up often. */
-
-/*
-** Permitted values of the SrcList.a.jointype field
- */
-
-/*
-** Flags appropriate for the wctrlFlags parameter of sqlite3WhereBegin()
-** and the WhereInfo.wctrlFlags member.
-**
-** Value constraints (enforced via assert()):
-** WHERE_USE_LIMIT == SF_FixedLimit
- */
-/* 0x8000 not currently used */
-
-/* Allowed return values from sqlite3WhereIsDistinct()
- */
-
-/*
-** A NameContext defines a context in which to resolve table and column
-** names. The context consists of a list of tables (the pSrcList) field and
-** a list of named expression (pEList). The named expression list may
-** be NULL. The pSrc corresponds to the FROM clause of a SELECT or
-** to the table being operated on by INSERT, UPDATE, or DELETE. The
-** pEList corresponds to the result set of a SELECT and is NULL for
-** other statements.
-**
-** NameContexts can be nested. When resolving names, the inner-most
-** context is searched first. If no match is found, the next outer
-** context is checked. If there is still no match, the next context
-** is checked. This process continues until either a match is found
-** or all contexts are check. When a match is found, the nRef member of
-** the context containing the match is incremented.
-**
-** Each subquery gets a new NameContext. The pNext field points to the
-** NameContext in the parent query. Thus the process of scanning the
-** NameContext list corresponds to searching through successively outer
-** subqueries looking for a match.
- */
-type TNameContext1 = struct {
- FpParse uintptr
- FpSrcList uintptr
- FuNC struct {
- FpAggInfo [0]uintptr
- FpUpsert [0]uintptr
- FiBaseReg [0]int32
- FpEList uintptr
- }
- FpNext uintptr
- FnRef int32
- FnNcErr int32
- FncFlags int32
- FnNestedSelect Tu32
- FpWinSelect uintptr
-}
-
-type NameContext1 = TNameContext1
-
-/*
-** Allowed values for the NameContext, ncFlags field.
-**
-** Value constraints (all checked via assert()):
-** NC_HasAgg == SF_HasAgg == EP_Agg
-** NC_MinMaxAgg == SF_MinMaxAgg == SQLITE_FUNC_MINMAX
-** NC_OrderAgg == SF_OrderByReqd == SQLITE_FUNC_ANYORDER
-** NC_HasWin == EP_Win
-**
- */
-/* 0x002000 // available for reuse */
-
-/*
-** An instance of the following object describes a single ON CONFLICT
-** clause in an upsert.
-**
-** The pUpsertTarget field is only set if the ON CONFLICT clause includes
-** conflict-target clause. (In "ON CONFLICT(a,b)" the "(a,b)" is the
-** conflict-target clause.) The pUpsertTargetWhere is the optional
-** WHERE clause used to identify partial unique indexes.
-**
-** pUpsertSet is the list of column=expr terms of the UPDATE statement.
-** The pUpsertSet field is NULL for a ON CONFLICT DO NOTHING. The
-** pUpsertWhere is the WHERE clause for the UPDATE and is NULL if the
-** WHERE clause is omitted.
- */
-type TUpsert1 = struct {
- FpUpsertTarget uintptr
- FpUpsertTargetWhere uintptr
- FpUpsertSet uintptr
- FpUpsertWhere uintptr
- FpNextUpsert uintptr
- FisDoUpdate Tu8
- FisDup Tu8
- FpToFree uintptr
- FpUpsertIdx uintptr
- FpUpsertSrc uintptr
- FregData int32
- FiDataCur int32
- FiIdxCur int32
-}
-
-type Upsert1 = TUpsert1
-
-/*
-** An instance of the following structure contains all information
-** needed to generate code for a single SELECT statement.
-**
-** See the header comment on the computeLimitRegisters() routine for a
-** detailed description of the meaning of the iLimit and iOffset fields.
-**
-** addrOpenEphm[] entries contain the address of OP_OpenEphemeral opcodes.
-** These addresses must be stored so that we can go back and fill in
-** the P4_KEYINFO and P2 parameters later. Neither the KeyInfo nor
-** the number of columns in P2 can be computed at the same time
-** as the OP_OpenEphm instruction is coded because not
-** enough information about the compound query is known at that point.
-** The KeyInfo for addrOpenTran[0] and [1] contains collating sequences
-** for the result set. The KeyInfo for addrOpenEphm[2] contains collating
-** sequences for the ORDER BY clause.
- */
-type TSelect1 = struct {
- Fop Tu8
- FnSelectRow TLogEst
- FselFlags Tu32
- FiLimit int32
- FiOffset int32
- FselId Tu32
- FaddrOpenEphm [2]int32
- FpEList uintptr
- FpSrc uintptr
- FpWhere uintptr
- FpGroupBy uintptr
- FpHaving uintptr
- FpOrderBy uintptr
- FpPrior uintptr
- FpNext uintptr
- FpLimit uintptr
- FpWith uintptr
- FpWin uintptr
- FpWinDefn uintptr
-}
-
-type Select1 = TSelect1
-
-/*
-** Allowed values for Select.selFlags. The "SF" prefix stands for
-** "Select Flag".
-**
-** Value constraints (all checked via assert())
-** SF_HasAgg == NC_HasAgg
-** SF_MinMaxAgg == NC_MinMaxAgg == SQLITE_FUNC_MINMAX
-** SF_OrderByReqd == NC_OrderAgg == SQLITE_FUNC_ANYORDER
-** SF_FixedLimit == WHERE_USE_LIMIT
- */
-
-/* True if SrcItem X is a subquery that has SF_NestedFrom */
-
-/*
-** The results of a SELECT can be distributed in several ways, as defined
-** by one of the following macros. The "SRT" prefix means "SELECT Result
-** Type".
-**
-** SRT_Union Store results as a key in a temporary index
-** identified by pDest->iSDParm.
-**
-** SRT_Except Remove results from the temporary index pDest->iSDParm.
-**
-** SRT_Exists Store a 1 in memory cell pDest->iSDParm if the result
-** set is not empty.
-**
-** SRT_Discard Throw the results away. This is used by SELECT
-** statements within triggers whose only purpose is
-** the side-effects of functions.
-**
-** SRT_Output Generate a row of output (using the OP_ResultRow
-** opcode) for each row in the result set.
-**
-** SRT_Mem Only valid if the result is a single column.
-** Store the first column of the first result row
-** in register pDest->iSDParm then abandon the rest
-** of the query. This destination implies "LIMIT 1".
-**
-** SRT_Set The result must be a single column. Store each
-** row of result as the key in table pDest->iSDParm.
-** Apply the affinity pDest->affSdst before storing
-** results. if pDest->iSDParm2 is positive, then it is
-** a register holding a Bloom filter for the IN operator
-** that should be populated in addition to the
-** pDest->iSDParm table. This SRT is used to
-** implement "IN (SELECT ...)".
-**
-** SRT_EphemTab Create an temporary table pDest->iSDParm and store
-** the result there. The cursor is left open after
-** returning. This is like SRT_Table except that
-** this destination uses OP_OpenEphemeral to create
-** the table first.
-**
-** SRT_Coroutine Generate a co-routine that returns a new row of
-** results each time it is invoked. The entry point
-** of the co-routine is stored in register pDest->iSDParm
-** and the result row is stored in pDest->nDest registers
-** starting with pDest->iSdst.
-**
-** SRT_Table Store results in temporary table pDest->iSDParm.
-** SRT_Fifo This is like SRT_EphemTab except that the table
-** is assumed to already be open. SRT_Fifo has
-** the additional property of being able to ignore
-** the ORDER BY clause.
-**
-** SRT_DistFifo Store results in a temporary table pDest->iSDParm.
-** But also use temporary table pDest->iSDParm+1 as
-** a record of all prior results and ignore any duplicate
-** rows. Name means: "Distinct Fifo".
-**
-** SRT_Queue Store results in priority queue pDest->iSDParm (really
-** an index). Append a sequence number so that all entries
-** are distinct.
-**
-** SRT_DistQueue Store results in priority queue pDest->iSDParm only if
-** the same record has never been stored before. The
-** index at pDest->iSDParm+1 hold all prior stores.
-**
-** SRT_Upfrom Store results in the temporary table already opened by
-** pDest->iSDParm. If (pDest->iSDParm<0), then the temp
-** table is an intkey table - in this case the first
-** column returned by the SELECT is used as the integer
-** key. If (pDest->iSDParm>0), then the table is an index
-** table. (pDest->iSDParm) is the number of key columns in
-** each index record in this case.
- */
-
-/* The DISTINCT clause is ignored for all of the above. Not that
-** IgnorableDistinct() implies IgnorableOrderby() */
-
-/* The ORDER BY clause is ignored for all of the above */
-
-/*
-** An instance of this object describes where to put of the results of
-** a SELECT statement.
- */
-type TSelectDest1 = struct {
- FeDest Tu8
- FiSDParm int32
- FiSDParm2 int32
- FiSdst int32
- FnSdst int32
- FzAffSdst uintptr
- FpOrderBy uintptr
-}
-
-type SelectDest1 = TSelectDest1
-
-/*
-** During code generation of statements that do inserts into AUTOINCREMENT
-** tables, the following information is attached to the Table.u.autoInc.p
-** pointer of each autoincrement table to record some side information that
-** the code generator needs. We have to keep per-table autoincrement
-** information in case inserts are done within triggers. Triggers do not
-** normally coordinate their activities, but we do need to coordinate the
-** loading and saving of autoincrement information.
- */
-type TAutoincInfo1 = struct {
- FpNext uintptr
- FpTab uintptr
- FiDb int32
- FregCtr int32
-}
-
-type AutoincInfo1 = TAutoincInfo1
-
-/*
-** At least one instance of the following structure is created for each
-** trigger that may be fired while parsing an INSERT, UPDATE or DELETE
-** statement. All such objects are stored in the linked list headed at
-** Parse.pTriggerPrg and deleted once statement compilation has been
-** completed.
-**
-** A Vdbe sub-program that implements the body and WHEN clause of trigger
-** TriggerPrg.pTrigger, assuming a default ON CONFLICT clause of
-** TriggerPrg.orconf, is stored in the TriggerPrg.pProgram variable.
-** The Parse.pTriggerPrg list never contains two entries with the same
-** values for both pTrigger and orconf.
-**
-** The TriggerPrg.aColmask[0] variable is set to a mask of old.* columns
-** accessed (or set to 0 for triggers fired as a result of INSERT
-** statements). Similarly, the TriggerPrg.aColmask[1] variable is set to
-** a mask of new.* columns used by the program.
- */
-type TTriggerPrg1 = struct {
- FpTrigger uintptr
- FpNext uintptr
- FpProgram uintptr
- Forconf int32
- FaColmask [2]Tu32
-}
-
-type TriggerPrg1 = TTriggerPrg1
-
// C documentation
//
// /*
@@ -10929,318 +8224,6 @@ type TyDbMask = uint32
type yDbMask = TyDbMask
-/*
-** For each index X that has as one of its arguments either an expression
-** or the name of a virtual generated column, and if X is in scope such that
-** the value of the expression can simply be read from the index, then
-** there is an instance of this object on the Parse.pIdxExpr list.
-**
-** During code generation, while generating code to evaluate expressions,
-** this list is consulted and if a matching expression is found, the value
-** is read from the index rather than being recomputed.
- */
-type TIndexedExpr1 = struct {
- FpExpr uintptr
- FiDataCur int32
- FiIdxCur int32
- FiIdxCol int32
- FbMaybeNullRow Tu8
- Faff Tu8
- FpIENext uintptr
-}
-
-type IndexedExpr1 = TIndexedExpr1
-
-/*
-** An instance of the ParseCleanup object specifies an operation that
-** should be performed after parsing to deallocation resources obtained
-** during the parse and which are no longer needed.
- */
-type TParseCleanup1 = struct {
- FpNext uintptr
- FpPtr uintptr
- FxCleanup uintptr
-}
-
-type ParseCleanup1 = TParseCleanup1
-
-/*
-** An SQL parser context. A copy of this structure is passed through
-** the parser and down into all the parser action routine in order to
-** carry around information that is global to the entire parse.
-**
-** The structure is divided into two parts. When the parser and code
-** generate call themselves recursively, the first part of the structure
-** is constant but the second part is reset at the beginning and end of
-** each recursion.
-**
-** The nTableLock and aTableLock variables are only used if the shared-cache
-** feature is enabled (if sqlite3Tsd()->useSharedData is true). They are
-** used to store the set of table-locks required by the statement being
-** compiled. Function sqlite3TableLock() is used to add entries to the
-** list.
- */
-type TParse1 = struct {
- Fdb uintptr
- FzErrMsg uintptr
- FpVdbe uintptr
- Frc int32
- FnQueryLoop TLogEst
- Fnested Tu8
- FnTempReg Tu8
- FisMultiWrite Tu8
- FmayAbort Tu8
- FhasCompound Tu8
- FdisableLookaside Tu8
- FprepFlags Tu8
- FwithinRJSubrtn Tu8
- FmSubrtnSig Tu8
- FeTriggerOp Tu8
- FbReturning Tu8
- FeOrconf Tu8
- FdisableTriggers Tu8
- F__ccgo_align18 [1]byte
- F__ccgo44 uint8
- FnRangeReg int32
- FiRangeReg int32
- FnErr int32
- FnTab int32
- FnMem int32
- FszOpAlloc int32
- FiSelfTab int32
- FnLabel int32
- FnLabelAlloc int32
- FaLabel uintptr
- FpConstExpr uintptr
- FpIdxEpr uintptr
- FpIdxPartExpr uintptr
- FwriteMask TyDbMask
- FcookieMask TyDbMask
- FnMaxArg int32
- FnSelect int32
- FnProgressSteps Tu32
- FnTableLock int32
- FaTableLock uintptr
- FpAinc uintptr
- FpToplevel uintptr
- FpTriggerTab uintptr
- FpTriggerPrg uintptr
- FpCleanup uintptr
- FaTempReg [8]int32
- FpOuterParse uintptr
- FsNameToken TToken
- Foldmask Tu32
- Fnewmask Tu32
- Fu1 struct {
- Fd [0]struct {
- FpReturning uintptr
- }
- Fcr struct {
- FaddrCrTab int32
- FregRowid int32
- FregRoot int32
- FconstraintName TToken
- }
- }
- FsLastToken TToken
- FnVar TynVar
- FiPkSortOrder Tu8
- Fexplain Tu8
- FeParseMode Tu8
- FnVtabLock int32
- FnHeight int32
- FaddrExplain int32
- FpVList uintptr
- FpReprepare uintptr
- FzTail uintptr
- FpNewTable uintptr
- FpNewIndex uintptr
- FpNewTrigger uintptr
- FzAuthContext uintptr
- FsArg TToken
- FapVtabLock uintptr
- FpWith uintptr
- FpRename uintptr
-}
-
-type Parse1 = TParse1
-
-/* Allowed values for Parse.eParseMode
- */
-
-/*
-** Sizes and pointers of various parts of the Parse object.
- */
-
-/*
-** Return true if currently inside an sqlite3_declare_vtab() call.
- */
-
-/*
-** An instance of the following structure can be declared on a stack and used
-** to save the Parse.zAuthContext value so that it can be restored later.
- */
-type TAuthContext1 = struct {
- FzAuthContext uintptr
- FpParse uintptr
-}
-
-type AuthContext1 = TAuthContext1
-
-/*
-** Bitfield flags for P5 value in various opcodes.
-**
-** Value constraints (enforced via assert()):
-** OPFLAG_LENGTHARG == SQLITE_FUNC_LENGTH
-** OPFLAG_TYPEOFARG == SQLITE_FUNC_TYPEOF
-** OPFLAG_BULKCSR == BTREE_BULKLOAD
-** OPFLAG_SEEKEQ == BTREE_SEEK_EQ
-** OPFLAG_FORDELETE == BTREE_FORDELETE
-** OPFLAG_SAVEPOSITION == BTREE_SAVEPOSITION
-** OPFLAG_AUXDELETE == BTREE_AUXDELETE
- */
-/* Also used in P2 (not P5) of OP_Delete */
-
-/*
-** Each trigger present in the database schema is stored as an instance of
-** struct Trigger.
-**
-** Pointers to instances of struct Trigger are stored in two ways.
-** 1. In the "trigHash" hash table (part of the sqlite3* that represents the
-** database). This allows Trigger structures to be retrieved by name.
-** 2. All triggers associated with a single table form a linked list, using the
-** pNext member of struct Trigger. A pointer to the first element of the
-** linked list is stored as the "pTrigger" member of the associated
-** struct Table.
-**
-** The "step_list" member points to the first element of a linked list
-** containing the SQL statements specified as the trigger program.
- */
-type TTrigger1 = struct {
- FzName uintptr
- Ftable uintptr
- Fop Tu8
- Ftr_tm Tu8
- FbReturning Tu8
- FpWhen uintptr
- FpColumns uintptr
- FpSchema uintptr
- FpTabSchema uintptr
- Fstep_list uintptr
- FpNext uintptr
-}
-
-type Trigger1 = TTrigger1
-
-/*
-** A trigger is either a BEFORE or an AFTER trigger. The following constants
-** determine which.
-**
-** If there are multiple triggers, you might of some BEFORE and some AFTER.
-** In that cases, the constants below can be ORed together.
- */
-
-/*
-** An instance of struct TriggerStep is used to store a single SQL statement
-** that is a part of a trigger-program.
-**
-** Instances of struct TriggerStep are stored in a singly linked list (linked
-** using the "pNext" member) referenced by the "step_list" member of the
-** associated struct Trigger instance. The first element of the linked list is
-** the first step of the trigger-program.
-**
-** The "op" member indicates whether this is a "DELETE", "INSERT", "UPDATE" or
-** "SELECT" statement. The meanings of the other members is determined by the
-** value of "op" as follows:
-**
-** (op == TK_INSERT)
-** orconf -> stores the ON CONFLICT algorithm
-** pSelect -> The content to be inserted - either a SELECT statement or
-** a VALUES clause.
-** zTarget -> Dequoted name of the table to insert into.
-** pIdList -> If this is an INSERT INTO ... () VALUES ...
-** statement, then this stores the column-names to be
-** inserted into.
-** pUpsert -> The ON CONFLICT clauses for an Upsert
-**
-** (op == TK_DELETE)
-** zTarget -> Dequoted name of the table to delete from.
-** pWhere -> The WHERE clause of the DELETE statement if one is specified.
-** Otherwise NULL.
-**
-** (op == TK_UPDATE)
-** zTarget -> Dequoted name of the table to update.
-** pWhere -> The WHERE clause of the UPDATE statement if one is specified.
-** Otherwise NULL.
-** pExprList -> A list of the columns to update and the expressions to update
-** them to. See sqlite3Update() documentation of "pChanges"
-** argument.
-**
-** (op == TK_SELECT)
-** pSelect -> The SELECT statement
-**
-** (op == TK_RETURNING)
-** pExprList -> The list of expressions that follow the RETURNING keyword.
-**
- */
-type TTriggerStep1 = struct {
- Fop Tu8
- Forconf Tu8
- FpTrig uintptr
- FpSelect uintptr
- FzTarget uintptr
- FpFrom uintptr
- FpWhere uintptr
- FpExprList uintptr
- FpIdList uintptr
- FpUpsert uintptr
- FzSpan uintptr
- FpNext uintptr
- FpLast uintptr
-}
-
-type TriggerStep1 = TTriggerStep1
-
-/*
-** Information about a RETURNING clause
- */
-type TReturning1 = struct {
- FpParse uintptr
- FpReturnEL uintptr
- FretTrig TTrigger
- FretTStep TTriggerStep
- FiRetCur int32
- FnRetCol int32
- FiRetReg int32
- FzName [40]uint8
-}
-
-type Returning1 = TReturning1
-
-/*
-** The following object is the header for an "RCStr" or "reference-counted
-** string". An RCStr is passed around and used like any other char*
-** that has been dynamically allocated. The important interface
-** differences:
-**
-** 1. RCStr strings are reference counted. They are deallocated
-** when the reference count reaches zero.
-**
-** 2. Use sqlite3RCStrUnref() to free an RCStr string rather than
-** sqlite3_free()
-**
-** 3. Make a (read-only) copy of a read-only RCStr string using
-** sqlite3RCStrRef().
-**
-** "String" is in the name, but an RCStr object can also be used to hold
-** binary data.
- */
-type TRCStr1 = struct {
- FnRCRef Tu64
-}
-
-type RCStr1 = TRCStr1
-
// C documentation
//
// /*
@@ -11326,232 +8309,6 @@ type TSqlite3Config = struct {
type Sqlite3Config = TSqlite3Config
-/*
-** This macro is used inside of assert() statements to indicate that
-** the assert is only valid on a well-formed database. Instead of:
-**
-** assert( X );
-**
-** One writes:
-**
-** assert( X || CORRUPT_DB );
-**
-** CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate
-** that the database is definitely corrupt, only that it might be corrupt.
-** For most test cases, CORRUPT_DB is set to false using a special
-** sqlite3_test_control(). This enables assert() statements to prove
-** things that are always true for well-formed databases.
- */
-
-/*
-** Context pointer passed down through the tree-walk.
- */
-type TWalker1 = struct {
- FpParse uintptr
- FxExprCallback uintptr
- FxSelectCallback uintptr
- FxSelectCallback2 uintptr
- FwalkerDepth int32
- FeCode Tu16
- FmWFlags Tu16
- Fu struct {
- Fn [0]int32
- FiCur [0]int32
- FpSrcList [0]uintptr
- FpCCurHint [0]uintptr
- FpRefSrcList [0]uintptr
- FaiCol [0]uintptr
- FpIdxCover [0]uintptr
- FpGroupBy [0]uintptr
- FpSelect [0]uintptr
- FpRewrite [0]uintptr
- FpConst [0]uintptr
- FpRename [0]uintptr
- FpTab [0]uintptr
- FpCovIdxCk [0]uintptr
- FpSrcItem [0]uintptr
- FpFix [0]uintptr
- FaMem [0]uintptr
- FpNC uintptr
- }
-}
-
-type Walker1 = TWalker1
-
-/*
-** The following structure contains information used by the sqliteFix...
-** routines as they walk the parse tree to make database references
-** explicit.
- */
-type TDbFixer1 = struct {
- FpParse uintptr
- Fw TWalker
- FpSchema uintptr
- FbTemp Tu8
- FzDb uintptr
- FzType uintptr
- FpName uintptr
-}
-
-type DbFixer1 = TDbFixer1
-
-/*
-** Return code from the parse-tree walking primitives and their
-** callbacks.
- */
-
-/*
-** A single common table expression
- */
-type TCte1 = struct {
- FzName uintptr
- FpCols uintptr
- FpSelect uintptr
- FzCteErr uintptr
- FpUse uintptr
- FeM10d Tu8
-}
-
-type Cte1 = TCte1
-
-/*
-** Allowed values for the materialized flag (eM10d):
- */
-
-/*
-** An instance of the With object represents a WITH clause containing
-** one or more CTEs (common table expressions).
- */
-type TWith1 = struct {
- FnCte int32
- FbView int32
- FpOuter uintptr
-}
-
-type With1 = TWith1
-
-/* The size (in bytes) of a With object that can hold as many
-** as N different CTEs. */
-
-/*
-** The Cte object is not guaranteed to persist for the entire duration
-** of code generation. (The query flattener or other parser tree
-** edits might delete it.) The following object records information
-** about each Common Table Expression that must be preserved for the
-** duration of the parse.
-**
-** The CteUse objects are freed using sqlite3ParserAddCleanup() rather
-** than sqlite3SelectDelete(), which is what enables them to persist
-** until the end of code generation.
- */
-type TCteUse1 = struct {
- FnUse int32
- FaddrM9e int32
- FregRtn int32
- FiCur int32
- FnRowEst TLogEst
- FeM10d Tu8
-}
-
-type CteUse1 = TCteUse1
-
-/* Client data associated with sqlite3_set_clientdata() and
-** sqlite3_get_clientdata().
- */
-type TDbClientData1 = struct {
- FpNext uintptr
- FpData uintptr
- FxDestructor uintptr
-}
-
-type DbClientData1 = TDbClientData1
-
-/* The size (in bytes) of a DbClientData object that can has a name
-** that is N bytes long, including the zero-terminator. */
-
-/*
-** This object is used in various ways, most (but not all) related to window
-** functions.
-**
-** (1) A single instance of this structure is attached to the
-** the Expr.y.pWin field for each window function in an expression tree.
-** This object holds the information contained in the OVER clause,
-** plus additional fields used during code generation.
-**
-** (2) All window functions in a single SELECT form a linked-list
-** attached to Select.pWin. The Window.pFunc and Window.pExpr
-** fields point back to the expression that is the window function.
-**
-** (3) The terms of the WINDOW clause of a SELECT are instances of this
-** object on a linked list attached to Select.pWinDefn.
-**
-** (4) For an aggregate function with a FILTER clause, an instance
-** of this object is stored in Expr.y.pWin with eFrmType set to
-** TK_FILTER. In this case the only field used is Window.pFilter.
-**
-** The uses (1) and (2) are really the same Window object that just happens
-** to be accessible in two different ways. Use case (3) are separate objects.
- */
-type TWindow1 = struct {
- FzName uintptr
- FzBase uintptr
- FpPartition uintptr
- FpOrderBy uintptr
- FeFrmType Tu8
- FeStart Tu8
- FeEnd Tu8
- FbImplicitFrame Tu8
- FeExclude Tu8
- FpStart uintptr
- FpEnd uintptr
- FppThis uintptr
- FpNextWin uintptr
- FpFilter uintptr
- FpWFunc uintptr
- FiEphCsr int32
- FregAccum int32
- FregResult int32
- FcsrApp int32
- FregApp int32
- FregPart int32
- FpOwner uintptr
- FnBufferCol int32
- FiArgCol int32
- FregOne int32
- FregStartRowid int32
- FregEndRowid int32
- FbExprArgs Tu8
-}
-
-type Window1 = TWindow1
-
-/*
-** An instance of the following structure holds information about SQL
-** functions arguments that are the parameters to the printf() function.
- */
-type TPrintfArguments1 = struct {
- FnArg int32
- FnUsed int32
- FapArg uintptr
-}
-
-type PrintfArguments1 = TPrintfArguments1
-
-/*
-** An instance of this object receives the decoding of a floating point
-** value into an approximate decimal representation.
- */
-type TFpDecode1 = struct {
- Fsign uint8
- FisSpecial uint8
- Fn int32
- FiDP int32
- Fz uintptr
- FzBuf [24]uint8
-}
-
-type FpDecode1 = TFpDecode1
-
/************** End of sqliteInt.h *******************************************/
/************** Begin file os_common.h ***************************************/
/*
@@ -12715,72 +9472,6 @@ type TVdbeCursor = struct {
type VdbeCursor = TVdbeCursor
-type TVdbeCursor1 = struct {
- FeCurType Tu8
- FiDb Ti8
- FnullRow Tu8
- FdeferredMoveto Tu8
- FisTable Tu8
- F__ccgo_align5 [3]byte
- F__ccgo8 uint8
- FseekHit Tu16
- Fub struct {
- FaAltMap [0]uintptr
- FpBtx uintptr
- }
- FseqCount Ti64
- FcacheStatus Tu32
- FseekResult int32
- FpAltCursor uintptr
- Fuc struct {
- FpVCur [0]uintptr
- FpSorter [0]uintptr
- FpCursor uintptr
- }
- FpKeyInfo uintptr
- FiHdrOffset Tu32
- FpgnoRoot TPgno
- FnField Ti16
- FnHdrParsed Tu16
- FmovetoTarget Ti64
- FaOffset uintptr
- FaRow uintptr
- FpayloadSize Tu32
- FszRow Tu32
- FpCache uintptr
-}
-
-type VdbeCursor1 = TVdbeCursor1
-
-/*
-** The size (in bytes) of a VdbeCursor object that has an nField value of N
-** or less. The value of SZ_VDBECURSOR(n) is guaranteed to be a multiple
-** of 8.
- */
-
-/* Return true if P is a null-only cursor
- */
-
-/*
-** A value for VdbeCursor.cacheStatus that means the cache is always invalid.
- */
-
-/*
-** Large TEXT or BLOB values can be slow to load, so we want to avoid
-** loading them more than once. For that reason, large TEXT and BLOB values
-** can be stored in a cache defined by this object, and attached to the
-** VdbeCursor using the pCache field.
- */
-type TVdbeTxtBlbCache1 = struct {
- FpCValue uintptr
- FiOffset Ti64
- FiCol int32
- FcacheStatus Tu32
- FcolCacheCtr Tu32
-}
-
-type VdbeTxtBlbCache1 = TVdbeTxtBlbCache1
-
// C documentation
//
// /*
@@ -12826,152 +9517,6 @@ type TVdbeFrame = struct {
type VdbeFrame = TVdbeFrame
-type TVdbeFrame1 = struct {
- Fv uintptr
- FpParent uintptr
- FaOp uintptr
- FaMem uintptr
- FapCsr uintptr
- FaOnce uintptr
- Ftoken uintptr
- FlastRowid Ti64
- FpAuxData uintptr
- FnCursor int32
- Fpc int32
- FnOp int32
- FnMem int32
- FnChildMem int32
- FnChildCsr int32
- FnChange Ti64
- FnDbChange Ti64
-}
-
-type VdbeFrame1 = TVdbeFrame1
-
-/*
-** Size of struct Mem not including the Mem.zMalloc member or anything that
-** follows.
- */
-
-/* One or more of the following flags are set to indicate the
-** representations of the value stored in the Mem struct.
-**
-** * MEM_Null An SQL NULL value
-**
-** * MEM_Null|MEM_Zero An SQL NULL with the virtual table
-** UPDATE no-change flag set
-**
-** * MEM_Null|MEM_Term| An SQL NULL, but also contains a
-** MEM_Subtype pointer accessible using
-** sqlite3_value_pointer().
-**
-** * MEM_Null|MEM_Cleared Special SQL NULL that compares non-equal
-** to other NULLs even using the IS operator.
-**
-** * MEM_Str A string, stored in Mem.z with
-** length Mem.n. Zero-terminated if
-** MEM_Term is set. This flag is
-** incompatible with MEM_Blob and
-** MEM_Null, but can appear with MEM_Int,
-** MEM_Real, and MEM_IntReal.
-**
-** * MEM_Blob A blob, stored in Mem.z length Mem.n.
-** Incompatible with MEM_Str, MEM_Null,
-** MEM_Int, MEM_Real, and MEM_IntReal.
-**
-** * MEM_Blob|MEM_Zero A blob in Mem.z of length Mem.n plus
-** MEM.u.i extra 0x00 bytes at the end.
-**
-** * MEM_Int Integer stored in Mem.u.i.
-**
-** * MEM_Real Real stored in Mem.u.r.
-**
-** * MEM_IntReal Real stored as an integer in Mem.u.i.
-**
-** If the MEM_Null flag is set, then the value is an SQL NULL value.
-** For a pointer type created using sqlite3_bind_pointer() or
-** sqlite3_result_pointer() the MEM_Term and MEM_Subtype flags are also set.
-**
-** If the MEM_Str flag is set then Mem.z points at a string representation.
-** Usually this is encoded in the same unicode encoding as the main
-** database (see below for exceptions). If the MEM_Term flag is also
-** set, then the string is nul terminated. The MEM_Int and MEM_Real
-** flags may coexist with the MEM_Str flag.
- */
-
-/* Extra bits that modify the meanings of the core datatypes above
- */
-/* 0x0080 // Available */
-
-/* Bits that determine the storage for Mem.z for a string or blob or
-** aggregate accumulator.
- */
-
-/* Return TRUE if Mem X contains dynamically allocated content - anything
-** that needs to be deallocated to avoid a leak.
- */
-
-/*
-** Clear any existing type flags from a Mem and replace them with f
- */
-
-/*
-** True if Mem X is a NULL-nochng type.
- */
-
-/*
-** Return true if a memory cell has been initialized and is valid.
-** is for use inside assert() statements only.
-**
-** A Memory cell is initialized if at least one of the
-** MEM_Null, MEM_Str, MEM_Int, MEM_Real, MEM_Blob, or MEM_IntReal bits
-** is set. It is "undefined" if all those bits are zero.
- */
-
-/*
-** Each auxiliary data pointer stored by a user defined function
-** implementation calling sqlite3_set_auxdata() is stored in an instance
-** of this structure. All such structures associated with a single VM
-** are stored in a linked list headed at Vdbe.pAuxData. All are destroyed
-** when the VM is halted (if not before).
- */
-type TAuxData1 = struct {
- FiAuxOp int32
- FiAuxArg int32
- FpAux uintptr
- FxDeleteAux uintptr
- FpNextAux uintptr
-}
-
-type AuxData1 = TAuxData1
-
-/*
-** The "context" argument for an installable function. A pointer to an
-** instance of this structure is the first argument to the routines used
-** implement the SQL functions.
-**
-** There is a typedef for this structure in sqlite.h. So all routines,
-** even the public interface to SQLite, can use a pointer to this structure.
-** But this file is the only place where the internal details of this
-** structure are known.
-**
-** This structure is defined inside of vdbeInt.h because it uses substructures
-** (Mem) which are only defined there.
- */
-type Tsqlite3_context1 = struct {
- FpOut uintptr
- FpFunc uintptr
- FpMem uintptr
- FpVdbe uintptr
- FiOp int32
- FisError int32
- Fenc Tu8
- FskipFlag Tu8
- Fargc Tu16
-}
-
-type sqlite3_context1 = Tsqlite3_context1
-
/*
** The size (in bytes) of an sqlite3_context object that holds N
** argv[] arguments.
@@ -13002,18 +9547,6 @@ type TScanStatus = struct {
type ScanStatus = TScanStatus
-type TScanStatus1 = struct {
- FaddrExplain int32
- FaAddrRange [6]int32
- FaddrLoop int32
- FaddrVisit int32
- FiSelectID int32
- FnEst TLogEst
- FzName uintptr
-}
-
-type ScanStatus1 = TScanStatus1
-
// C documentation
//
// /* The DblquoteStr object holds the text of a double-quoted
@@ -13030,101 +9563,6 @@ type TDblquoteStr = struct {
type DblquoteStr = TDblquoteStr
-type TDblquoteStr1 = struct {
- FpNextStr uintptr
- Fz [8]uint8
-}
-
-type DblquoteStr1 = TDblquoteStr1
-
-/*
-** An instance of the virtual machine. This structure contains the complete
-** state of the virtual machine.
-**
-** The "sqlite3_stmt" structure pointer that is returned by sqlite3_prepare()
-** is really a pointer to an instance of this structure.
- */
-type TVdbe1 = struct {
- Fdb uintptr
- FppVPrev uintptr
- FpVNext uintptr
- FpParse uintptr
- FnVar TynVar
- FnMem int32
- FnCursor int32
- FcacheCtr Tu32
- Fpc int32
- Frc int32
- FnChange Ti64
- FiStatement int32
- FiCurrentTime Ti64
- FnFkConstraint Ti64
- FnStmtDefCons Ti64
- FnStmtDefImmCons Ti64
- FaMem uintptr
- FapArg uintptr
- FapCsr uintptr
- FaVar uintptr
- FaOp uintptr
- FnOp int32
- FnOpAlloc int32
- FaColName uintptr
- FpResultRow uintptr
- FzErrMsg uintptr
- FpVList uintptr
- FstartTime Ti64
- FnResColumn Tu16
- FnResAlloc Tu16
- FerrorAction Tu8
- FminWriteFileFormat Tu8
- FprepFlags Tu8
- FeVdbeState Tu8
- F__ccgo200 uint16
- FbtreeMask TyDbMask
- FlockMask TyDbMask
- FaCounter [9]Tu32
- FzSql uintptr
- FpFree uintptr
- FpFrame uintptr
- FpDelFrame uintptr
- FnFrame int32
- Fexpmask Tu32
- FpProgram uintptr
- FpAuxData uintptr
-}
-
-type Vdbe1 = TVdbe1
-
-/*
-** The following are allowed values for Vdbe.eVdbeState
- */
-
-/*
-** Structure used to store the context required by the
-** sqlite3_preupdate_*() API functions.
- */
-type TPreUpdate1 = struct {
- Fv uintptr
- FpCsr uintptr
- Fop int32
- FaRecord uintptr
- FpKeyinfo uintptr
- FpUnpacked uintptr
- FpNewUnpacked uintptr
- FiNewReg int32
- FiBlobWrite int32
- FiKey1 Ti64
- FiKey2 Ti64
- Foldipk TMem
- FaNew uintptr
- FpTab uintptr
- FpPk uintptr
- FapDflt uintptr
- FkeyinfoSpace [32]Tu8
-}
-
-type PreUpdate1 = TPreUpdate1
-
// C documentation
//
// /*
@@ -13146,13 +9584,6 @@ type TValueList = struct {
type ValueList = TValueList
-type TValueList1 = struct {
- FpCsr uintptr
- FpOut uintptr
-}
-
-type ValueList1 = TValueList1
-
/************** End of vdbeInt.h *********************************************/
/************** Continuing where we left off in status.c *********************/
@@ -13172,14 +9603,7 @@ type Tsqlite3StatType = struct {
type sqlite3StatType = Tsqlite3StatType
-type Tsqlite3StatType1 = struct {
- FnowValue [10]Tsqlite3StatValueType
- FmxValue [10]Tsqlite3StatValueType
-}
-
-type sqlite3StatType1 = Tsqlite3StatType1
-
-var _sqlite3Stat = Tsqlite3StatType1{}
+var _sqlite3Stat = Tsqlite3StatType{}
// C documentation
//
@@ -13258,7 +9682,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
var pMutex, v1 uintptr
_, _ = pMutex, v1
if op < 0 || op >= libc.Int32FromUint64(libc.Uint64FromInt64(80)/libc.Uint64FromInt64(8)) {
- return _sqlite3MisuseError(tls, int32(24454))
+ return _sqlite3MisuseError(tls, int32(24456))
}
if _statMutex[op] != 0 {
v1 = _sqlite3Pcache1Mutex(tls)
@@ -13488,7 +9912,7 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p
goto _5
_5:
;
- pVdbe = (*TVdbe1)(unsafe.Pointer(pVdbe)).FpVNext
+ pVdbe = (*TVdbe)(unsafe.Pointer(pVdbe)).FpVNext
}
(*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FpEnd = (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FpTrueEnd
(*Tsqlite3)(unsafe.Pointer(db)).FpnBytesFreed = uintptr(0)
@@ -13623,24 +10047,6 @@ type TDateTime = struct {
type DateTime = TDateTime
-type TDateTime1 = struct {
- FiJD Tsqlite3_int64
- FY int32
- FM int32
- FD int32
- Fh int32
- Fm int32
- Ftz int32
- Fs float64
- FvalidJD uint8
- FvalidYMD uint8
- FvalidHMS uint8
- FnFloor uint8
- F__ccgo44 uint8
-}
-
-type DateTime1 = TDateTime1
-
// C documentation
//
// /*
@@ -15634,28 +12040,28 @@ func init() {
// */
func _sqlite3OsClose(tls *libc.TLS, pId uintptr) {
if (*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods != 0 {
- (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods)).FxClose})))(tls, pId)
+ (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods)).FxClose})))(tls, pId)
(*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = uintptr(0)
}
}
func _sqlite3OsRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Ti64) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxRead})))(tls, id, pBuf, amt, offset)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxRead})))(tls, id, pBuf, amt, offset)
}
func _sqlite3OsWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Ti64) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxWrite})))(tls, id, pBuf, amt, offset)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxWrite})))(tls, id, pBuf, amt, offset)
}
func _sqlite3OsTruncate(tls *libc.TLS, id uintptr, size Ti64) (r int32) {
- return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxTruncate})))(tls, id, size)
+ return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxTruncate})))(tls, id, size)
}
func _sqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) (r int32) {
var v1 int32
_ = v1
if flags != 0 {
- v1 = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSync})))(tls, id, flags)
+ v1 = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSync})))(tls, id, flags)
} else {
v1 = SQLITE_OK
}
@@ -15663,19 +12069,19 @@ func _sqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) (r int32) {
}
func _sqlite3OsFileSize(tls *libc.TLS, id uintptr, pSize uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileSize})))(tls, id, pSize)
+ return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileSize})))(tls, id, pSize)
}
func _sqlite3OsLock(tls *libc.TLS, id uintptr, lockType int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxLock})))(tls, id, lockType)
+ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxLock})))(tls, id, lockType)
}
func _sqlite3OsUnlock(tls *libc.TLS, id uintptr, lockType int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnlock})))(tls, id, lockType)
+ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnlock})))(tls, id, lockType)
}
func _sqlite3OsCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxCheckReservedLock})))(tls, id, pResOut)
+ return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxCheckReservedLock})))(tls, id, pResOut)
}
// C documentation
@@ -15692,12 +12098,12 @@ func _sqlite3OsFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) (r
if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods == uintptr(0) {
return int32(SQLITE_NOTFOUND)
}
- return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
+ return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
}
func _sqlite3OsFileControlHint(tls *libc.TLS, id uintptr, op int32, pArg uintptr) {
if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods != 0 {
- (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
+ (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
}
}
@@ -15705,7 +12111,7 @@ func _sqlite3OsSectorSize(tls *libc.TLS, id uintptr) (r int32) {
var xSectorSize uintptr
var v1 int32
_, _ = xSectorSize, v1
- xSectorSize = (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSectorSize
+ xSectorSize = (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSectorSize
if xSectorSize != 0 {
v1 = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xSectorSize})))(tls, id)
} else {
@@ -15718,34 +12124,34 @@ func _sqlite3OsDeviceCharacteristics(tls *libc.TLS, id uintptr) (r int32) {
if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods == uintptr(0) {
return 0
}
- return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxDeviceCharacteristics})))(tls, id)
+ return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxDeviceCharacteristics})))(tls, id)
}
func _sqlite3OsShmLock(tls *libc.TLS, id uintptr, offset int32, n int32, flags int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmLock})))(tls, id, offset, n, flags)
+ return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmLock})))(tls, id, offset, n, flags)
}
func _sqlite3OsShmBarrier(tls *libc.TLS, id uintptr) {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmBarrier})))(tls, id)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmBarrier})))(tls, id)
}
func _sqlite3OsShmUnmap(tls *libc.TLS, id uintptr, deleteFlag int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmUnmap})))(tls, id, deleteFlag)
+ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmUnmap})))(tls, id, deleteFlag)
}
func _sqlite3OsShmMap(tls *libc.TLS, id uintptr, iPage int32, pgsz int32, bExtend int32, pp uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmMap})))(tls, id, iPage, pgsz, bExtend, pp)
+ return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmMap})))(tls, id, iPage, pgsz, bExtend, pp)
}
// C documentation
//
// /* The real implementation of xFetch and xUnfetch */
func _sqlite3OsFetch(tls *libc.TLS, id uintptr, iOff Ti64, iAmt int32, pp uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFetch})))(tls, id, iOff, iAmt, pp)
+ return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFetch})))(tls, id, iOff, iAmt, pp)
}
func _sqlite3OsUnfetch(tls *libc.TLS, id uintptr, iOff Ti64, p uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnfetch})))(tls, id, iOff, p)
+ return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnfetch})))(tls, id, iOff, p)
}
// C documentation
@@ -16058,14 +12464,7 @@ type TBenignMallocHooks = struct {
type BenignMallocHooks = TBenignMallocHooks
-type TBenignMallocHooks1 = struct {
- FxBenignBegin uintptr
- FxBenignEnd uintptr
-}
-
-type BenignMallocHooks1 = TBenignMallocHooks1
-
-var _sqlite3Hooks = TBenignMallocHooks1{}
+var _sqlite3Hooks = TBenignMallocHooks{}
/* The "wsdHooks" macro will resolve to the appropriate BenignMallocHooks
** structure. If writable static data is unsupported on the target,
@@ -16080,9 +12479,9 @@ var _sqlite3Hooks = TBenignMallocHooks1{}
// ** Register hooks to call when sqlite3BeginBenignMalloc() and
// ** sqlite3EndBenignMalloc() are called, respectively.
// */
-func _sqlite3BenignMallocHooks(tls *libc.TLS, xBenignBegin uintptr, xBenignEnd uintptr) {
- _sqlite3Hooks.FxBenignBegin = xBenignBegin
- _sqlite3Hooks.FxBenignEnd = xBenignEnd
+func _sqlite3BenignMallocHooks(tls *libc.TLS, __ccgo_fp_xBenignBegin uintptr, __ccgo_fp_xBenignEnd uintptr) {
+ _sqlite3Hooks.FxBenignBegin = __ccgo_fp_xBenignBegin
+ _sqlite3Hooks.FxBenignEnd = __ccgo_fp_xBenignEnd
}
// C documentation
@@ -16830,6 +13229,8 @@ func _sqlite3MallocMutex(tls *libc.TLS) (r uintptr) {
return _mem0.Fmutex
}
+type t__ccgo_fp__Xsqlite3_memory_alarm_0 = func(*libc.TLS, uintptr, int64, int32)
+
// C documentation
//
// /*
@@ -16837,8 +13238,8 @@ func _sqlite3MallocMutex(tls *libc.TLS) (r uintptr) {
// ** that was invoked when memory usage grew too large. Now it is a
// ** no-op.
// */
-func Xsqlite3_memory_alarm(tls *libc.TLS, xCallback uintptr, pArg uintptr, iThreshold Tsqlite3_int64) (r int32) {
- _ = xCallback
+func Xsqlite3_memory_alarm(tls *libc.TLS, __ccgo_fp_xCallback uintptr, pArg uintptr, iThreshold Tsqlite3_int64) (r int32) {
+ _ = __ccgo_fp_xCallback
_ = pArg
_ = iThreshold
return SQLITE_OK
@@ -20146,63 +16547,10 @@ func _sqlite3PrngRestoreState(tls *libc.TLS) {
libc.Xmemcpy(tls, uintptr(unsafe.Pointer(&_sqlite3Prng)), uintptr(unsafe.Pointer(&_sqlite3SavedPrng)), uint64(132))
}
-/************** End of random.c **********************************************/
-/************** Begin file threads.c *****************************************/
-/*
-** 2012 July 21
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
-** This file presents a simple cross-platform threading interface for
-** use internally by SQLite.
-**
-** A "thread" can be created using sqlite3ThreadCreate(). This thread
-** runs independently of its creator until it is joined using
-** sqlite3ThreadJoin(), at which point it terminates.
-**
-** Threads do not have to be real. It could be that the work of the
-** "thread" is done by the main thread at either the sqlite3ThreadCreate()
-** or sqlite3ThreadJoin() call. This is, in fact, what happens in
-** single threaded systems. Nothing in SQLite requires multiple threads.
-** This interface exists so that applications that want to take advantage
-** of multiple cores can do so, while also allowing applications to stay
-** single-threaded if desired.
- */
-/* #include "sqliteInt.h" */
-
-/********************************* Unix Pthreads ****************************/
-/******************************** End Unix Pthreads *************************/
-
-/********************************* Win32 Threads ****************************/
-/******************************** End Win32 Threads *************************/
-
-/********************************* Single-Threaded **************************/
-/*
-** This implementation does not actually create a new thread. It does the
-** work of the thread in the main thread, when either the thread is created
-** or when it is joined
- */
-
-/* A running thread */
-type TSQLiteThread1 = struct {
- FxTask uintptr
- FpIn uintptr
- FpResult uintptr
-}
-
-type SQLiteThread1 = TSQLiteThread1
-
// C documentation
//
// /* Create a new thread */
-func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, xTask uintptr, pIn uintptr) (r int32) {
+func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, __ccgo_fp_xTask uintptr, pIn uintptr) (r int32) {
var p uintptr
_ = p
*(*uintptr)(unsafe.Pointer(ppThread)) = uintptr(0)
@@ -20211,11 +16559,11 @@ func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, xTask uintptr, pIn ui
return int32(SQLITE_NOMEM)
}
if int32(int64(p))/int32(17)&int32(1) != 0 {
- (*TSQLiteThread)(unsafe.Pointer(p)).FxTask = xTask
+ (*TSQLiteThread)(unsafe.Pointer(p)).FxTask = __ccgo_fp_xTask
(*TSQLiteThread)(unsafe.Pointer(p)).FpIn = pIn
} else {
(*TSQLiteThread)(unsafe.Pointer(p)).FxTask = uintptr(0)
- (*TSQLiteThread)(unsafe.Pointer(p)).FpResult = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(&struct{ uintptr }{xTask})))(tls, pIn)
+ (*TSQLiteThread)(unsafe.Pointer(p)).FpResult = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xTask})))(tls, pIn)
}
*(*uintptr)(unsafe.Pointer(ppThread)) = p
return SQLITE_OK
@@ -24288,22 +20636,6 @@ type TUnixUnusedFd = struct {
type UnixUnusedFd = TUnixUnusedFd
-/* An unused file descriptor */
-
-/*
-** Sometimes, after a file handle is closed by SQLite, the file descriptor
-** cannot be closed immediately. In these cases, instances of the following
-** structure are used to store the file descriptor while waiting for an
-** opportunity to either close or reuse it.
- */
-type TUnixUnusedFd1 = struct {
- Ffd int32
- Fflags int32
- FpNext uintptr
-}
-
-type UnixUnusedFd1 = TUnixUnusedFd1
-
// C documentation
//
// /*
@@ -24334,30 +20666,6 @@ type TunixFile = struct {
type unixFile = TunixFile
-type TunixFile1 = struct {
- FpMethod uintptr
- FpVfs uintptr
- FpInode uintptr
- Fh int32
- FeFileLock uint8
- FctrlFlags uint16
- FlastErrno int32
- FlockingContext uintptr
- FpPreallocatedUnused uintptr
- FzPath uintptr
- FpShm uintptr
- FszChunk int32
- FnFetchOut int32
- FmmapSize Tsqlite3_int64
- FmmapSizeActual Tsqlite3_int64
- FmmapSizeMax Tsqlite3_int64
- FpMapRegion uintptr
- FsectorSize int32
- FdeviceCharacteristics int32
-}
-
-type unixFile1 = TunixFile1
-
// C documentation
//
// /* This variable holds the process id (pid) from when the xRandomness()
@@ -24577,7 +20885,7 @@ func _robustFchown(tls *libc.TLS, fd int32, uid Tuid_t, gid Tgid_t) (r int32) {
// ** system call pointer, or SQLITE_NOTFOUND if there is no configurable
// ** system call named zName.
// */
-func _unixSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, pNewFunc Tsqlite3_syscall_ptr) (r int32) {
+func _unixSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, __ccgo_fp_pNewFunc Tsqlite3_syscall_ptr) (r int32) {
var i uint32
var rc int32
_, _ = i, rc
@@ -24615,10 +20923,10 @@ func _unixSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, pNewFunc
_aSyscall[i].FpDefault = _aSyscall[i].FpCurrent
}
rc = SQLITE_OK
- if pNewFunc == uintptr(0) {
- pNewFunc = _aSyscall[i].FpDefault
+ if __ccgo_fp_pNewFunc == uintptr(0) {
+ __ccgo_fp_pNewFunc = _aSyscall[i].FpDefault
}
- _aSyscall[i].FpCurrent = pNewFunc
+ _aSyscall[i].FpCurrent = __ccgo_fp_pNewFunc
break
}
goto _2
@@ -24992,47 +21300,6 @@ type TunixFileId = struct {
type unixFileId = TunixFileId
-/*
-** An instance of the following structure is allocated for each open
-** inode.
-**
-** A single inode can have multiple file descriptors, so each unixFile
-** structure contains a pointer to an instance of this object and this
-** object keeps a count of the number of unixFile pointing to it.
-**
-** Mutex rules:
-**
-** (1) Only the pLockMutex mutex must be held in order to read or write
-** any of the locking fields:
-** nShared, nLock, eFileLock, bProcessLock, pUnused
-**
-** (2) When nRef>0, then the following fields are unchanging and can
-** be read (but not written) without holding any mutex:
-** fileId, pLockMutex
-**
-** (3) With the exceptions above, all the fields may only be read
-** or written while holding the global unixBigLock mutex.
-**
-** Deadlock prevention: The global unixBigLock mutex may not
-** be acquired while holding the pLockMutex mutex. If both unixBigLock
-** and pLockMutex are needed, then unixBigLock must be acquired first.
- */
-type TunixInodeInfo1 = struct {
- FfileId TunixFileId
- FpLockMutex uintptr
- FnShared int32
- FnLock int32
- FeFileLock uint8
- FbProcessLock uint8
- FpUnused uintptr
- FnRef int32
- FpShmNode uintptr
- FpNext uintptr
- FpPrev uintptr
-}
-
-type unixInodeInfo1 = TunixInodeInfo1
-
// C documentation
//
// /*
@@ -25133,7 +21400,7 @@ func _closePendingFds(tls *libc.TLS, pFile uintptr) {
break
}
pNext = (*TUnixUnusedFd)(unsafe.Pointer(p)).FpNext
- _robust_close(tls, pFile, (*TUnixUnusedFd)(unsafe.Pointer(p)).Ffd, int32(40205))
+ _robust_close(tls, pFile, (*TUnixUnusedFd)(unsafe.Pointer(p)).Ffd, int32(40207))
Xsqlite3_free(tls, p)
goto _1
_1:
@@ -25763,7 +22030,7 @@ func _closeUnixFile(tls *libc.TLS, id uintptr) (r int32) {
pFile = id
_unixUnmapfile(tls, pFile)
if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
- _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40996))
+ _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40998))
(*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1)
}
Xsqlite3_free(tls, (*TunixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused)
@@ -26406,7 +22673,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) {
if fd >= 0 {
return SQLITE_OK
}
- return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42577)), __ccgo_ts+3603, bp, int32(42577))
+ return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42579)), __ccgo_ts+3603, bp, int32(42579))
}
// C documentation
@@ -26443,7 +22710,7 @@ func _unixSync(tls *libc.TLS, id uintptr, flags int32) (r int32) {
rc = _full_fsync(tls, (*TunixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly)
if rc != 0 {
_storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls))))
- return _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(4)<pShmMutex must
-** be held while accessing any read/write fields.
- */
-type TunixShm1 = struct {
- FpShmNode uintptr
- FpNext uintptr
- FhasMutex Tu8
- Fid Tu8
- FsharedMask Tu16
- FexclMask Tu16
-}
-
-type unixShm1 = TunixShm1
-
/*
** Constants used for locking
*/
@@ -26991,7 +23169,7 @@ func _unixShmPurge(tls *libc.TLS, pFd uintptr) {
}
Xsqlite3_free(tls, (*TunixShmNode)(unsafe.Pointer(p)).FapRegion)
if (*TunixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
- _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(43394))
+ _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(43396))
(*TunixShmNode)(unsafe.Pointer(p)).FhShm = -int32(1)
}
(*TunixInodeInfo)(unsafe.Pointer((*TunixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -27054,7 +23232,7 @@ func _unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) (r in
** help detect if a -shm file truncation is legitimate or is the work
** or a rogue process. */
if rc == SQLITE_OK && _robust_ftruncate(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
- rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(18)<pFirst. This must be done while holding the
** pShmNode->pShmMutex.
*/
- Xsqlite3_mutex_enter(tls, (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpShmMutex)
- (*TunixShm1)(unsafe.Pointer(p)).FpNext = (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpFirst
- (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpFirst = p
- Xsqlite3_mutex_leave(tls, (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpShmMutex)
+ Xsqlite3_mutex_enter(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpShmMutex)
+ (*TunixShm)(unsafe.Pointer(p)).FpNext = (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpFirst
+ (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpFirst = p
+ Xsqlite3_mutex_leave(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpShmMutex)
return rc
/* Jump here on any error */
goto shm_open_err
@@ -27287,7 +23465,7 @@ func _unixShmMap(tls *libc.TLS, fd uintptr, iRegion int32, szRegion int32, bExte
*(*int32)(unsafe.Pointer(bp + 224)) = 0
if _seekAndWriteFd(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(iPg*_pgsz+_pgsz-int32(1)), __ccgo_ts+1665, int32(1), bp+224) != int32(1) {
zFile = (*TunixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
- rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(19)<= 0 {
- _robust_close(tls, pNew, h, int32(44804))
+ _robust_close(tls, pNew, h, int32(44806))
}
} else {
(*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -28464,7 +24642,7 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags
}
}
if fd < 0 {
- rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45252)), __ccgo_ts+3486, zName, int32(45252))
+ rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45254)), __ccgo_ts+3486, zName, int32(45254))
if rc == SQLITE_OK {
rc = rc2
}
@@ -28541,7 +24719,7 @@ func _unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) (
if *(*int32)(unsafe.Pointer(libc.X__error(tls))) == int32(ENOENT) {
rc = libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(23)< int32(SQLITE_MAX_SYMLINK) {
- (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45503))
+ (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45505))
return
}
got = (*(*func(*libc.TLS, uintptr, uintptr, Tsize_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls, zIn, bp+224, libc.Uint64FromInt64(1026)-libc.Uint64FromInt32(2))
if got <= 0 || got >= libc.Int64FromInt64(1026)-libc.Int64FromInt32(2) {
- (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45508)), __ccgo_ts+3675, zIn, int32(45508))
+ (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45510)), __ccgo_ts+3675, zIn, int32(45510))
return
}
(*(*[1026]uint8)(unsafe.Pointer(bp + 224)))[got] = uint8(0)
@@ -28739,14 +24907,14 @@ func _unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z
(*(*TDbPath)(unsafe.Pointer(bp))).FzOut = zOut
if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(zPath))) != int32('/') {
if (*(*func(*libc.TLS, uintptr, Tsize_t) uintptr)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(3)].FpCurrent})))(tls, bp+24, libc.Uint64FromInt64(1026)-libc.Uint64FromInt32(2)) == uintptr(0) {
- return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45566)), __ccgo_ts+3504, zPath, int32(45566))
+ return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45568)), __ccgo_ts+3504, zPath, int32(45568))
}
_appendAllPathElements(tls, bp, bp+24)
}
_appendAllPathElements(tls, bp, zPath)
*(*uint8)(unsafe.Pointer(zOut + uintptr((*(*TDbPath)(unsafe.Pointer(bp))).FnUsed))) = uint8(0)
if (*(*TDbPath)(unsafe.Pointer(bp))).Frc != 0 || (*(*TDbPath)(unsafe.Pointer(bp))).FnUsed < int32(2) {
- return _sqlite3CantopenError(tls, int32(45572))
+ return _sqlite3CantopenError(tls, int32(45574))
}
if (*(*TDbPath)(unsafe.Pointer(bp))).FnSymlink != 0 {
return libc.Int32FromInt32(SQLITE_OK) | libc.Int32FromInt32(2)<BITVEC_NBIT and iDivisor==0 then Bitvec.u.aHash[] is
-** a hash table that will hold up to BITVEC_MXHASH distinct values.
-**
-** Otherwise, the value i is redirected into one of BITVEC_NPTR
-** sub-bitmaps pointed to by Bitvec.u.apSub[]. Each subbitmap
-** handles up to iDivisor separate values of i. apSub[0] holds
-** values between 1 and iDivisor. apSub[1] holds values between
-** iDivisor+1 and 2*iDivisor. apSub[N] holds values between
-** N*iDivisor+1 and (N+1)*iDivisor. Each subbitmap is normalized
-** to hold deal with values between 1 and iDivisor.
- */
-type TBitvec1 = struct {
- FiSize Tu32
- FnSet Tu32
- FiDivisor Tu32
- Fu struct {
- FaHash [0][124]Tu32
- FapSub [0][62]uintptr
- FaBitmap [496]Tu8
- }
-}
-
-type Bitvec1 = TBitvec1
-
// C documentation
//
// /*
@@ -30853,66 +26861,6 @@ bitvec_end:
return rc
}
-/************** End of bitvec.c **********************************************/
-/************** Begin file pcache.c ******************************************/
-/*
-** 2008 August 05
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file implements that page cache.
- */
-/* #include "sqliteInt.h" */
-
-/*
-** A complete page cache is an instance of this structure. Every
-** entry in the cache holds a single page of the database file. The
-** btree layer only operates on the cached copy of the database pages.
-**
-** A page cache entry is "clean" if it exactly matches what is currently
-** on disk. A page is "dirty" if it has been modified and needs to be
-** persisted to disk.
-**
-** pDirty, pDirtyTail, pSynced:
-** All dirty pages are linked into the doubly linked list using
-** PgHdr.pDirtyNext and pDirtyPrev. The list is maintained in LRU order
-** such that p was added to the list more recently than p->pDirtyNext.
-** PCache.pDirty points to the first (newest) element in the list and
-** pDirtyTail to the last (oldest).
-**
-** The PCache.pSynced variable is used to optimize searching for a dirty
-** page to eject from the cache mid-transaction. It is better to eject
-** a page that does not require a journal sync than one that does.
-** Therefore, pSynced is maintained so that it *almost* always points
-** to either the oldest page in the pDirty/pDirtyTail list that has a
-** clear PGHDR_NEED_SYNC flag or to a page that is older than this one
-** (so that the right page to eject can be found by following pDirtyPrev
-** pointers).
- */
-type TPCache2 = struct {
- FpDirty uintptr
- FpDirtyTail uintptr
- FpSynced uintptr
- FnRefSum Ti64
- FszCache int32
- FszSpill int32
- FszPage int32
- FszExtra int32
- FbPurgeable Tu8
- FeCreate Tu8
- FxStress uintptr
- FpStress uintptr
- FpCache uintptr
-}
-
-type PCache2 = TPCache2
-
/********************************** Test and Debug Logic **********************/
/*
** Debug tracing macros. Enable by by changing the "0" to "1" and
@@ -31086,14 +27034,14 @@ func _sqlite3PcacheSize(tls *libc.TLS) (r int32) {
// ** to this module, the extra space really ends up being the MemPage
// ** structure in the pager.
// */
-func _sqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) (r int32) {
+func _sqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, __ccgo_fp_xStress uintptr, pStress uintptr, p uintptr) (r int32) {
libc.Xmemset(tls, p, 0, uint64(80))
(*TPCache)(unsafe.Pointer(p)).FszPage = int32(1)
(*TPCache)(unsafe.Pointer(p)).FszExtra = szExtra
/* First 8 bytes will be zeroed */
(*TPCache)(unsafe.Pointer(p)).FbPurgeable = libc.Uint8FromInt32(bPurgeable)
(*TPCache)(unsafe.Pointer(p)).FeCreate = uint8(2)
- (*TPCache)(unsafe.Pointer(p)).FxStress = xStress
+ (*TPCache)(unsafe.Pointer(p)).FxStress = __ccgo_fp_xStress
(*TPCache)(unsafe.Pointer(p)).FpStress = pStress
(*TPCache)(unsafe.Pointer(p)).FszCache = int32(100)
(*TPCache)(unsafe.Pointer(p)).FszSpill = int32(1)
@@ -31909,123 +27857,6 @@ type TPGroup = struct {
type PGroup = TPGroup
-/*
-** Each cache entry is represented by an instance of the following
-** structure. A buffer of PgHdr1.pCache->szPage bytes is allocated
-** directly before this structure and is used to cache the page content.
-**
-** When reading a corrupt database file, it is possible that SQLite might
-** read a few bytes (no more than 16 bytes) past the end of the page buffer.
-** It will only read past the end of the page buffer, never write. This
-** object is positioned immediately after the page buffer to serve as an
-** overrun area, so that overreads are harmless.
-**
-** Variables isBulkLocal and isAnchor were once type "u8". That works,
-** but causes a 2-byte gap in the structure for most architectures (since
-** pointers must be either 4 or 8-byte aligned). As this structure is located
-** in memory directly after the associated page data, if the database is
-** corrupt, code at the b-tree layer may overread the page buffer and
-** read part of this structure before the corruption is detected. This
-** can cause a valgrind error if the uninitialized gap is accessed. Using u16
-** ensures there is no such gap, and therefore no bytes of uninitialized
-** memory in the structure.
-**
-** The pLruNext and pLruPrev pointers form a double-linked circular list
-** of all pages that are unpinned. The PGroup.lru element (which should be
-** the only element on the list with PgHdr1.isAnchor set to 1) forms the
-** beginning and the end of the list.
- */
-type TPgHdr11 = struct {
- Fpage Tsqlite3_pcache_page
- FiKey uint32
- FisBulkLocal Tu16
- FisAnchor Tu16
- FpNext uintptr
- FpCache uintptr
- FpLruNext uintptr
- FpLruPrev uintptr
-}
-
-type PgHdr11 = TPgHdr11
-
-/*
-** A page is pinned if it is not on the LRU list. To be "pinned" means
-** that the page is in active use and must not be deallocated.
- */
-
-/* Each page cache (or PCache) belongs to a PGroup. A PGroup is a set
-** of one or more PCaches that are able to recycle each other's unpinned
-** pages when they are under memory pressure. A PGroup is an instance of
-** the following object.
-**
-** This page cache implementation works in one of two modes:
-**
-** (1) Every PCache is the sole member of its own PGroup. There is
-** one PGroup per PCache.
-**
-** (2) There is a single global PGroup that all PCaches are a member
-** of.
-**
-** Mode 1 uses more memory (since PCache instances are not able to rob
-** unused pages from other PCaches) but it also operates without a mutex,
-** and is therefore often faster. Mode 2 requires a mutex in order to be
-** threadsafe, but recycles pages more efficiently.
-**
-** For mode (1), PGroup.mutex is NULL. For mode (2) there is only a single
-** PGroup which is the pcache1.grp global variable and its mutex is
-** SQLITE_MUTEX_STATIC_LRU.
- */
-type TPGroup1 = struct {
- Fmutex uintptr
- FnMaxPage uint32
- FnMinPage uint32
- FmxPinned uint32
- FnPurgeable uint32
- Flru TPgHdr1
-}
-
-type PGroup1 = TPGroup1
-
-/* Each page cache is an instance of the following object. Every
-** open database file (including each in-memory database and each
-** temporary or transient database) has a single page cache which
-** is an instance of this object.
-**
-** Pointers to structures of this type are cast and returned as
-** opaque sqlite3_pcache* handles.
- */
-type TPCache11 = struct {
- FpGroup uintptr
- FpnPurgeable uintptr
- FszPage int32
- FszExtra int32
- FszAlloc int32
- FbPurgeable int32
- FnMin uint32
- FnMax uint32
- Fn90pct uint32
- FiMaxKey uint32
- FnPurgeableDummy uint32
- FnRecyclable uint32
- FnPage uint32
- FnHash uint32
- FapHash uintptr
- FpFree uintptr
- FpBulk uintptr
-}
-
-type PCache11 = TPCache11
-
-/*
-** Free slots in the allocator used to divide up the global page cache
-** buffer provided using the SQLITE_CONFIG_PAGECACHE mechanism.
- */
-type TPgFreeslot1 = struct {
- FpNext uintptr
-}
-
-type PgFreeslot1 = TPgFreeslot1
-
// C documentation
//
// /*
@@ -33222,25 +29053,6 @@ type TRowSetChunk = struct {
type RowSetChunk = TRowSetChunk
-/*
-** A RowSet in an instance of the following structure.
-**
-** A typedef of this structure if found in sqliteInt.h.
- */
-type TRowSet1 = struct {
- FpChunk uintptr
- Fdb uintptr
- FpEntry uintptr
- FpLast uintptr
- FpFresh uintptr
- FpForest uintptr
- FnFresh Tu16
- FrsFlags Tu16
- FiBatch int32
-}
-
-type RowSet1 = TRowSet1
-
/*
** Allowed values for RowSet.rsFlags
*/
@@ -34202,258 +30014,6 @@ type TPagerSavepoint = struct {
type PagerSavepoint = TPagerSavepoint
-type TPagerSavepoint1 = struct {
- FiOffset Ti64
- FiHdrOffset Ti64
- FpInSavepoint uintptr
- FnOrig TPgno
- FiSubRec TPgno
- FbTruncateOnRelease int32
- FaWalData [4]Tu32
-}
-
-type PagerSavepoint1 = TPagerSavepoint1
-
-/*
-** Bits of the Pager.doNotSpill flag. See further description below.
- */
-
-/*
-** An open page cache is an instance of struct Pager. A description of
-** some of the more important member variables follows:
-**
-** eState
-**
-** The current 'state' of the pager object. See the comment and state
-** diagram above for a description of the pager state.
-**
-** eLock
-**
-** For a real on-disk database, the current lock held on the database file -
-** NO_LOCK, SHARED_LOCK, RESERVED_LOCK or EXCLUSIVE_LOCK.
-**
-** For a temporary or in-memory database (neither of which require any
-** locks), this variable is always set to EXCLUSIVE_LOCK. Since such
-** databases always have Pager.exclusiveMode==1, this tricks the pager
-** logic into thinking that it already has all the locks it will ever
-** need (and no reason to release them).
-**
-** In some (obscure) circumstances, this variable may also be set to
-** UNKNOWN_LOCK. See the comment above the #define of UNKNOWN_LOCK for
-** details.
-**
-** changeCountDone
-**
-** This boolean variable is used to make sure that the change-counter
-** (the 4-byte header field at byte offset 24 of the database file) is
-** not updated more often than necessary.
-**
-** It is set to true when the change-counter field is updated, which
-** can only happen if an exclusive lock is held on the database file.
-** It is cleared (set to false) whenever an exclusive lock is
-** relinquished on the database file. Each time a transaction is committed,
-** The changeCountDone flag is inspected. If it is true, the work of
-** updating the change-counter is omitted for the current transaction.
-**
-** This mechanism means that when running in exclusive mode, a connection
-** need only update the change-counter once, for the first transaction
-** committed.
-**
-** setSuper
-**
-** When PagerCommitPhaseOne() is called to commit a transaction, it may
-** (or may not) specify a super-journal name to be written into the
-** journal file before it is synced to disk.
-**
-** Whether or not a journal file contains a super-journal pointer affects
-** the way in which the journal file is finalized after the transaction is
-** committed or rolled back when running in "journal_mode=PERSIST" mode.
-** If a journal file does not contain a super-journal pointer, it is
-** finalized by overwriting the first journal header with zeroes. If
-** it does contain a super-journal pointer the journal file is finalized
-** by truncating it to zero bytes, just as if the connection were
-** running in "journal_mode=truncate" mode.
-**
-** Journal files that contain super-journal pointers cannot be finalized
-** simply by overwriting the first journal-header with zeroes, as the
-** super-journal pointer could interfere with hot-journal rollback of any
-** subsequently interrupted transaction that reuses the journal file.
-**
-** The flag is cleared as soon as the journal file is finalized (either
-** by PagerCommitPhaseTwo or PagerRollback). If an IO error prevents the
-** journal file from being successfully finalized, the setSuper flag
-** is cleared anyway (and the pager will move to ERROR state).
-**
-** doNotSpill
-**
-** This variables control the behavior of cache-spills (calls made by
-** the pcache module to the pagerStress() routine to write cached data
-** to the file-system in order to free up memory).
-**
-** When bits SPILLFLAG_OFF or SPILLFLAG_ROLLBACK of doNotSpill are set,
-** writing to the database from pagerStress() is disabled altogether.
-** The SPILLFLAG_ROLLBACK case is done in a very obscure case that
-** comes up during savepoint rollback that requires the pcache module
-** to allocate a new page to prevent the journal file from being written
-** while it is being traversed by code in pager_playback(). The SPILLFLAG_OFF
-** case is a user preference.
-**
-** If the SPILLFLAG_NOSYNC bit is set, writing to the database from
-** pagerStress() is permitted, but syncing the journal file is not.
-** This flag is set by sqlite3PagerWrite() when the file-system sector-size
-** is larger than the database page-size in order to prevent a journal sync
-** from happening in between the journalling of two pages on the same sector.
-**
-** subjInMemory
-**
-** This is a boolean variable. If true, then any required sub-journal
-** is opened as an in-memory journal file. If false, then in-memory
-** sub-journals are only used for in-memory pager files.
-**
-** This variable is updated by the upper layer each time a new
-** write-transaction is opened.
-**
-** dbSize, dbOrigSize, dbFileSize
-**
-** Variable dbSize is set to the number of pages in the database file.
-** It is valid in PAGER_READER and higher states (all states except for
-** OPEN and ERROR).
-**
-** dbSize is set based on the size of the database file, which may be
-** larger than the size of the database (the value stored at offset
-** 28 of the database header by the btree). If the size of the file
-** is not an integer multiple of the page-size, the value stored in
-** dbSize is rounded down (i.e. a 5KB file with 2K page-size has dbSize==2).
-** Except, any file that is greater than 0 bytes in size is considered
-** to have at least one page. (i.e. a 1KB file with 2K page-size leads
-** to dbSize==1).
-**
-** During a write-transaction, if pages with page-numbers greater than
-** dbSize are modified in the cache, dbSize is updated accordingly.
-** Similarly, if the database is truncated using PagerTruncateImage(),
-** dbSize is updated.
-**
-** Variables dbOrigSize and dbFileSize are valid in states
-** PAGER_WRITER_LOCKED and higher. dbOrigSize is a copy of the dbSize
-** variable at the start of the transaction. It is used during rollback,
-** and to determine whether or not pages need to be journalled before
-** being modified.
-**
-** Throughout a write-transaction, dbFileSize contains the size of
-** the file on disk in pages. It is set to a copy of dbSize when the
-** write-transaction is first opened, and updated when VFS calls are made
-** to write or truncate the database file on disk.
-**
-** The only reason the dbFileSize variable is required is to suppress
-** unnecessary calls to xTruncate() after committing a transaction. If,
-** when a transaction is committed, the dbFileSize variable indicates
-** that the database file is larger than the database image (Pager.dbSize),
-** pager_truncate() is called. The pager_truncate() call uses xFilesize()
-** to measure the database file on disk, and then truncates it if required.
-** dbFileSize is not used when rolling back a transaction. In this case
-** pager_truncate() is called unconditionally (which means there may be
-** a call to xFilesize() that is not strictly required). In either case,
-** pager_truncate() may cause the file to become smaller or larger.
-**
-** dbHintSize
-**
-** The dbHintSize variable is used to limit the number of calls made to
-** the VFS xFileControl(FCNTL_SIZE_HINT) method.
-**
-** dbHintSize is set to a copy of the dbSize variable when a
-** write-transaction is opened (at the same time as dbFileSize and
-** dbOrigSize). If the xFileControl(FCNTL_SIZE_HINT) method is called,
-** dbHintSize is increased to the number of pages that correspond to the
-** size-hint passed to the method call. See pager_write_pagelist() for
-** details.
-**
-** errCode
-**
-** The Pager.errCode variable is only ever used in PAGER_ERROR state. It
-** is set to zero in all other states. In PAGER_ERROR state, Pager.errCode
-** is always set to SQLITE_FULL, SQLITE_IOERR or one of the SQLITE_IOERR_XXX
-** sub-codes.
-**
-** syncFlags, walSyncFlags
-**
-** syncFlags is either SQLITE_SYNC_NORMAL (0x02) or SQLITE_SYNC_FULL (0x03).
-** syncFlags is used for rollback mode. walSyncFlags is used for WAL mode
-** and contains the flags used to sync the checkpoint operations in the
-** lower two bits, and sync flags used for transaction commits in the WAL
-** file in bits 0x04 and 0x08. In other words, to get the correct sync flags
-** for checkpoint operations, use (walSyncFlags&0x03) and to get the correct
-** sync flags for transaction commit, use ((walSyncFlags>>2)&0x03). Note
-** that with synchronous=NORMAL in WAL mode, transaction commit is not synced
-** meaning that the 0x04 and 0x08 bits are both zero.
- */
-type TPager1 = struct {
- FpVfs uintptr
- FexclusiveMode Tu8
- FjournalMode Tu8
- FuseJournal Tu8
- FnoSync Tu8
- FfullSync Tu8
- FextraSync Tu8
- FsyncFlags Tu8
- FwalSyncFlags Tu8
- FtempFile Tu8
- FnoLock Tu8
- FreadOnly Tu8
- FmemDb Tu8
- FmemVfs Tu8
- FeState Tu8
- FeLock Tu8
- FchangeCountDone Tu8
- FsetSuper Tu8
- FdoNotSpill Tu8
- FsubjInMemory Tu8
- FbUseFetch Tu8
- FhasHeldSharedLock Tu8
- FdbSize TPgno
- FdbOrigSize TPgno
- FdbFileSize TPgno
- FdbHintSize TPgno
- FerrCode int32
- FnRec int32
- FcksumInit Tu32
- FnSubRec Tu32
- FpInJournal uintptr
- Ffd uintptr
- Fjfd uintptr
- Fsjfd uintptr
- FjournalOff Ti64
- FjournalHdr Ti64
- FpBackup uintptr
- FaSavepoint uintptr
- FnSavepoint int32
- FiDataVersion Tu32
- FdbFileVers [16]uint8
- FnMmapOut int32
- FszMmap Tsqlite3_int64
- FpMmapFreelist uintptr
- FnExtra Tu16
- FnReserve Ti16
- FvfsFlags Tu32
- FsectorSize Tu32
- FmxPgno TPgno
- FlckPgno TPgno
- FpageSize Ti64
- FjournalSizeLimit Ti64
- FzFilename uintptr
- FzJournal uintptr
- FxBusyHandler uintptr
- FpBusyHandlerArg uintptr
- FaStat [4]Tu32
- FxReiniter uintptr
- FxGet uintptr
- FpTmpSpace uintptr
- FpPCache uintptr
- FpWal uintptr
- FzWal uintptr
-}
-
-type Pager1 = TPager1
-
/*
** Indexes for use with Pager.aStat[]. The Pager.aStat[] array contains
** the values accessed by passing SQLITE_DBSTATUS_CACHE_HIT, CACHE_MISS
@@ -34552,7 +30112,7 @@ func _sqlite3PagerDirectReadOk(tls *libc.TLS, pPager uintptr, pgno TPgno) (r int
return 0
} /* Case (4) */
}
- if (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TPager)(unsafe.Pointer(pPager)).Ffd)).FpMethods)).FxDeviceCharacteristics})))(tls, (*TPager)(unsafe.Pointer(pPager)).Ffd)&int32(SQLITE_IOCAP_SUBPAGE_READ) == 0 {
+ if (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TPager)(unsafe.Pointer(pPager)).Ffd)).FpMethods)).FxDeviceCharacteristics})))(tls, (*TPager)(unsafe.Pointer(pPager)).Ffd)&int32(SQLITE_IOCAP_SUBPAGE_READ) == 0 {
return 0 /* Case (2) */
}
return int32(1)
@@ -37037,7 +32597,7 @@ func _pagerFixMaplimit(tls *libc.TLS, pPager uintptr) {
var _ /* sz at bp+0 */ Tsqlite3_int64
_ = fd
fd = (*TPager)(unsafe.Pointer(pPager)).Ffd
- if (*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods != uintptr(0) && (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FiVersion >= int32(3) {
+ if (*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods != uintptr(0) && (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FiVersion >= int32(3) {
*(*Tsqlite3_int64)(unsafe.Pointer(bp)) = (*TPager)(unsafe.Pointer(pPager)).FszMmap
(*TPager)(unsafe.Pointer(pPager)).FbUseFetch = libc.BoolUint8(*(*Tsqlite3_int64)(unsafe.Pointer(bp)) > libc.Int64FromInt32(0))
_setGetterMethod(tls, pPager)
@@ -37228,10 +32788,10 @@ func _pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32
// ** retried. If it returns zero, then the SQLITE_BUSY error is
// ** returned to the caller of the pager API function.
// */
-func _sqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) {
+func _sqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, __ccgo_fp_xBusyHandler uintptr, pBusyHandlerArg uintptr) {
var ap uintptr
_ = ap
- (*TPager)(unsafe.Pointer(pPager)).FxBusyHandler = xBusyHandler
+ (*TPager)(unsafe.Pointer(pPager)).FxBusyHandler = __ccgo_fp_xBusyHandler
(*TPager)(unsafe.Pointer(pPager)).FpBusyHandlerArg = pBusyHandlerArg
ap = pPager + 232
_sqlite3OsFileControlHint(tls, (*TPager)(unsafe.Pointer(pPager)).Ffd, int32(SQLITE_FCNTL_BUSYHANDLER), ap)
@@ -38132,7 +33692,7 @@ func _sqlite3PagerFlush(tls *libc.TLS, pPager uintptr) (r int32) {
// ** (sqlite3Malloc() is used to allocate memory), SQLITE_CANTOPEN or
// ** various SQLITE_IO_XXX errors.
// */
-func _sqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) (r int32) {
+func _sqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, __ccgo_fp_xReinit uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var iDc, journalFileSize, memDb, memJM, nPathname, nUriByte, pcacheSize, rc, readOnly, tempFile, useJournal, v4 int32
@@ -38207,7 +33767,7 @@ func _sqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename u
** as it will not be possible to open the journal file or even
** check for a hot-journal before reading.
*/
- rc = _sqlite3CantopenError(tls, int32(62857))
+ rc = _sqlite3CantopenError(tls, int32(62859))
}
if rc != SQLITE_OK {
_sqlite3DbFree(tls, uintptr(0), zPathname)
@@ -38429,7 +33989,7 @@ _3:
}
/* pPager->xBusyHandler = 0; */
/* pPager->pBusyHandlerArg = 0; */
- (*TPager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FxReiniter = xReinit
+ (*TPager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FxReiniter = __ccgo_fp_xReinit
_setGetterMethod(tls, *(*uintptr)(unsafe.Pointer(bp)))
/* memset(pPager->aHash, 0, sizeof(pPager->aHash)); */
/* pPager->szMmap = SQLITE_DEFAULT_MMAP_SIZE // will be set by btree.c */
@@ -38685,7 +34245,7 @@ func _sqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) (r int32) {
f = libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_MAIN_JOURNAL)
rc = _sqlite3OsOpen(tls, pVfs, (*TPager)(unsafe.Pointer(pPager)).FzJournal, (*TPager)(unsafe.Pointer(pPager)).Fjfd, f, bp+8)
if rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&int32(SQLITE_OPEN_READONLY) != 0 {
- rc = _sqlite3CantopenError(tls, int32(63378))
+ rc = _sqlite3CantopenError(tls, int32(63380))
_sqlite3OsClose(tls, (*TPager)(unsafe.Pointer(pPager)).Fjfd)
}
}
@@ -38860,7 +34420,7 @@ func _getPageNormal(tls *libc.TLS, pPager uintptr, pgno TPgno, ppPage uintptr, f
_, _, _, _ = noContent, pPg, rc, v1
rc = SQLITE_OK
if pgno == uint32(0) {
- return _sqlite3CorruptError(tls, int32(63591))
+ return _sqlite3CorruptError(tls, int32(63593))
}
*(*uintptr)(unsafe.Pointer(bp)) = _sqlite3PcacheFetch(tls, (*TPager)(unsafe.Pointer(pPager)).FpPCache, pgno, int32(3))
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
@@ -38891,7 +34451,7 @@ func _getPageNormal(tls *libc.TLS, pPager uintptr, pgno TPgno, ppPage uintptr, f
** (2) Never try to fetch the locking page
*/
if pgno == (*TPager)(unsafe.Pointer(pPager)).FlckPgno {
- rc = _sqlite3CorruptError(tls, int32(63623))
+ rc = _sqlite3CorruptError(tls, int32(63625))
goto pager_acquire_err
}
(*TPgHdr)(unsafe.Pointer(pPg)).FpPager = pPager
@@ -38963,7 +34523,7 @@ func _getPageMMap(tls *libc.TLS, pPager uintptr, pgno TPgno, ppPage uintptr, fla
** test in the previous statement, and avoid testing pgno==0 in the
** common case where pgno is large. */
if pgno <= uint32(1) && pgno == uint32(0) {
- return _sqlite3CorruptError(tls, int32(63706))
+ return _sqlite3CorruptError(tls, int32(63708))
}
if bMmapOk != 0 && (*TPager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
rc = _sqlite3WalFindFrame(tls, (*TPager)(unsafe.Pointer(pPager)).FpWal, pgno, bp+8)
@@ -40320,7 +35880,7 @@ func _sqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno TPgn
if pPgOld != 0 {
if (*TPgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
_sqlite3PagerUnrefNotNull(tls, pPgOld)
- return _sqlite3CorruptError(tls, int32(65272))
+ return _sqlite3CorruptError(tls, int32(65274))
}
p4 = pPg + 52
*(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) | libc.Int32FromUint16((*TPgHdr)(unsafe.Pointer(pPgOld)).Fflags)&libc.Int32FromInt32(PGHDR_NEED_SYNC))
@@ -41169,232 +36729,6 @@ type TWalCkptInfo = struct {
type WalCkptInfo = TWalCkptInfo
-/*
-** The following object holds a copy of the wal-index header content.
-**
-** The actual header in the wal-index consists of two copies of this
-** object followed by one instance of the WalCkptInfo object.
-** For all versions of SQLite through 3.10.0 and probably beyond,
-** the locking bytes (WalCkptInfo.aLock) start at offset 120 and
-** the total header size is 136 bytes.
-**
-** The szPage value can be any power of 2 between 512 and 32768, inclusive.
-** Or it can be 1 to represent a 65536-byte page. The latter case was
-** added in 3.7.1 when support for 64K pages was added.
- */
-type TWalIndexHdr1 = struct {
- FiVersion Tu32
- Funused Tu32
- FiChange Tu32
- FisInit Tu8
- FbigEndCksum Tu8
- FszPage Tu16
- FmxFrame Tu32
- FnPage Tu32
- FaFrameCksum [2]Tu32
- FaSalt [2]Tu32
- FaCksum [2]Tu32
-}
-
-type WalIndexHdr1 = TWalIndexHdr1
-
-/*
-** A copy of the following object occurs in the wal-index immediately
-** following the second copy of the WalIndexHdr. This object stores
-** information used by checkpoint.
-**
-** nBackfill is the number of frames in the WAL that have been written
-** back into the database. (We call the act of moving content from WAL to
-** database "backfilling".) The nBackfill number is never greater than
-** WalIndexHdr.mxFrame. nBackfill can only be increased by threads
-** holding the WAL_CKPT_LOCK lock (which includes a recovery thread).
-** However, a WAL_WRITE_LOCK thread can move the value of nBackfill from
-** mxFrame back to zero when the WAL is reset.
-**
-** nBackfillAttempted is the largest value of nBackfill that a checkpoint
-** has attempted to achieve. Normally nBackfill==nBackfillAtempted, however
-** the nBackfillAttempted is set before any backfilling is done and the
-** nBackfill is only set after all backfilling completes. So if a checkpoint
-** crashes, nBackfillAttempted might be larger than nBackfill. The
-** WalIndexHdr.mxFrame must never be less than nBackfillAttempted.
-**
-** The aLock[] field is a set of bytes used for locking. These bytes should
-** never be read or written.
-**
-** There is one entry in aReadMark[] for each reader lock. If a reader
-** holds read-lock K, then the value in aReadMark[K] is no greater than
-** the mxFrame for that reader. The value READMARK_NOT_USED (0xffffffff)
-** for any aReadMark[] means that entry is unused. aReadMark[0] is
-** a special case; its value is never used and it exists as a place-holder
-** to avoid having to offset aReadMark[] indexes by one. Readers holding
-** WAL_READ_LOCK(0) always ignore the entire WAL and read all content
-** directly from the database.
-**
-** The value of aReadMark[K] may only be changed by a thread that
-** is holding an exclusive lock on WAL_READ_LOCK(K). Thus, the value of
-** aReadMark[K] cannot changed while there is a reader is using that mark
-** since the reader will be holding a shared lock on WAL_READ_LOCK(K).
-**
-** The checkpointer may only transfer frames from WAL to database where
-** the frame numbers are less than or equal to every aReadMark[] that is
-** in use (that is, every aReadMark[j] for which there is a corresponding
-** WAL_READ_LOCK(j)). New readers (usually) pick the aReadMark[] with the
-** largest value and will increase an unused aReadMark[] to mxFrame if there
-** is not already an aReadMark[] equal to mxFrame. The exception to the
-** previous sentence is when nBackfill equals mxFrame (meaning that everything
-** in the WAL has been backfilled into the database) then new readers
-** will choose aReadMark[0] which has value 0 and hence such reader will
-** get all their all content directly from the database file and ignore
-** the WAL.
-**
-** Writers normally append new frames to the end of the WAL. However,
-** if nBackfill equals mxFrame (meaning that all WAL content has been
-** written back into the database) and if no readers are using the WAL
-** (in other words, if there are no WAL_READ_LOCK(i) where i>0) then
-** the writer will first "reset" the WAL back to the beginning and start
-** writing new content beginning at frame 1.
-**
-** We assume that 32-bit loads are atomic and so no locks are needed in
-** order to read from any aReadMark[] entries.
- */
-type TWalCkptInfo1 = struct {
- FnBackfill Tu32
- FaReadMark [5]Tu32
- FaLock [8]Tu8
- FnBackfillAttempted Tu32
- FnotUsed0 Tu32
-}
-
-type WalCkptInfo1 = TWalCkptInfo1
-
-/*
-** This is a schematic view of the complete 136-byte header of the
-** wal-index file (also known as the -shm file):
-**
-** +-----------------------------+
-** 0: | iVersion | ** +-----------------------------+ |
-** 4: | (unused padding) | |
-** +-----------------------------+ |
-** 8: | iChange | |
-** +-------+-------+-------------+ |
-** 12: | bInit | bBig | szPage | |
-** +-------+-------+-------------+ |
-** 16: | mxFrame | | First copy of the
-** +-----------------------------+ | WalIndexHdr object
-** 20: | nPage | |
-** +-----------------------------+ |
-** 24: | aFrameCksum | |
-** | | |
-** +-----------------------------+ |
-** 32: | aSalt | |
-** | | |
-** +-----------------------------+ |
-** 40: | aCksum | |
-** | | /
-** +-----------------------------+
-** 48: | iVersion | ** +-----------------------------+ |
-** 52: | (unused padding) | |
-** +-----------------------------+ |
-** 56: | iChange | |
-** +-------+-------+-------------+ |
-** 60: | bInit | bBig | szPage | |
-** +-------+-------+-------------+ | Second copy of the
-** 64: | mxFrame | | WalIndexHdr
-** +-----------------------------+ |
-** 68: | nPage | |
-** +-----------------------------+ |
-** 72: | aFrameCksum | |
-** | | |
-** +-----------------------------+ |
-** 80: | aSalt | |
-** | | |
-** +-----------------------------+ |
-** 88: | aCksum | |
-** | | /
-** +-----------------------------+
-** 96: | nBackfill |
-** +-----------------------------+
-** 100: | 5 read marks |
-** | |
-** | |
-** | |
-** | |
-** +-------+-------+------+------+
-** 120: | Write | Ckpt | Rcvr | Rd0 | ** +-------+-------+------+------+ ) 8 lock bytes
-** | Read1 | Read2 | Rd3 | Rd4 | /
-** +-------+-------+------+------+
-** 128: | nBackfillAttempted |
-** +-----------------------------+
-** 132: | (unused padding) |
-** +-----------------------------+
- */
-
-/* A block of WALINDEX_LOCK_RESERVED bytes beginning at
-** WALINDEX_LOCK_OFFSET is reserved for locks. Since some systems
-** only support mandatory file-locks, we do not read or write data
-** from the region of the file on which locks are applied.
- */
-
-/* Size of header before each frame in wal */
-
-/* Size of write ahead log header, including checksum. */
-
-/* WAL magic value. Either this value, or the same value with the least
-** significant bit also set (WAL_MAGIC | 0x00000001) is stored in 32-bit
-** big-endian format in the first 4 bytes of a WAL file.
-**
-** If the LSB is set, then the checksums for each frame within the WAL
-** file are calculated by treating all data as an array of 32-bit
-** big-endian words. Otherwise, they are calculated by interpreting
-** all data as 32-bit little-endian words.
- */
-
-/*
-** Return the offset of frame iFrame in the write-ahead log file,
-** assuming a database page size of szPage bytes. The offset returned
-** is to the start of the write-ahead log frame-header.
- */
-
-/*
-** An open write-ahead log file is represented by an instance of the
-** following object.
-**
-** writeLock:
-** This is usually set to 1 whenever the WRITER lock is held. However,
-** if it is set to 2, then the WRITER lock is held but must be released
-** by walHandleException() if a SEH exception is thrown.
- */
-type TWal1 = struct {
- FpVfs uintptr
- FpDbFd uintptr
- FpWalFd uintptr
- FiCallback Tu32
- FmxWalSize Ti64
- FnWiData int32
- FszFirstBlock int32
- FapWiData uintptr
- FszPage Tu32
- FreadLock Ti16
- FsyncFlags Tu8
- FexclusiveMode Tu8
- FwriteLock Tu8
- FckptLock Tu8
- FreadOnly Tu8
- FtruncateOnCommit Tu8
- FsyncHeader Tu8
- FpadToSectorBoundary Tu8
- FbShmUnreliable Tu8
- Fhdr TWalIndexHdr
- FminFrame Tu32
- FiReCksum Tu32
- FzWalName uintptr
- FnCkpt Tu32
- FpSnapshot uintptr
- FbGetSnapshot int32
-}
-
-type Wal1 = TWal1
-
/*
** Candidate values for Wal.exclusiveMode.
*/
@@ -41413,29 +36747,6 @@ type Tht_slot = uint16
type ht_slot = Tht_slot
-/*
-** This structure is used to implement an iterator that loops through
-** all frames in the WAL in database page order. Where two or more frames
-** correspond to the same database page, the iterator visits only the
-** frame most recently written to the WAL (in other words, the frame with
-** the largest index).
-**
-** The internals of this structure are only accessed by:
-**
-** walIteratorInit() - Create a new iterator,
-** walIteratorNext() - Step an iterator,
-** walIteratorFree() - Free an iterator.
-**
-** This functionality is used by the checkpoint code (see walCheckpoint()).
- */
-type TWalIterator1 = struct {
- F__ccgo_align [0]uint64
- FiPrior Tu32
- FnSegment int32
-}
-
-type WalIterator1 = TWalIterator1
-
/* Size (in bytes) of a WalIterator object suitable for N or fewer segments */
/*
@@ -41864,14 +37175,6 @@ type TWalHashLoc = struct {
type WalHashLoc = TWalHashLoc
-type TWalHashLoc1 = struct {
- FaHash uintptr
- FaPgno uintptr
- FiZero Tu32
-}
-
-type WalHashLoc1 = TWalHashLoc1
-
// C documentation
//
// /*
@@ -42038,7 +37341,7 @@ func _walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame Tu32, iPage Tu32) (r in
v2 = nCollide
nCollide--
if v2 == 0 {
- return _sqlite3CorruptError(tls, int32(67212))
+ return _sqlite3CorruptError(tls, int32(67214))
}
goto _1
_1:
@@ -42126,7 +37429,7 @@ func _walIndexRecover(tls *libc.TLS, pWal uintptr) (r int32) {
** are able to understand */
version = _sqlite3Get4byte(tls, bp+8+4)
if version != uint32(WAL_MAX_VERSION) {
- rc = _sqlite3CantopenError(tls, int32(67344))
+ rc = _sqlite3CantopenError(tls, int32(67346))
goto finished
}
/* Malloc a buffer to read frames into. */
@@ -42706,10 +38009,10 @@ func _walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill Tu32, pp uintptr) (
// ** busy-handler function. Invoke it and retry the lock until either the
// ** lock is successfully obtained or the busy-handler returns 0.
// */
-func _walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) (r int32) {
+func _walBusyLock(tls *libc.TLS, pWal uintptr, __ccgo_fp_xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) (r int32) {
var rc int32
_ = rc
- for cond := true; cond; cond = xBusy != 0 && rc == int32(SQLITE_BUSY) && (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xBusy})))(tls, pBusyArg) != 0 {
+ for cond := true; cond; cond = __ccgo_fp_xBusy != 0 && rc == int32(SQLITE_BUSY) && (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xBusy})))(tls, pBusyArg) != 0 {
rc = _walLockExclusive(tls, pWal, lockIdx, n)
}
return rc
@@ -42807,7 +38110,7 @@ func _walRestartHdr(tls *libc.TLS, pWal uintptr, _salt1 Tu32) {
// ** checkpoint is running (in any other thread or process) at the same
// ** time.
// */
-func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) (r int32) {
+func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, __ccgo_fp_xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) (r int32) {
bp := tls.Alloc(48)
defer tls.Free(48)
var i, rc, szPage, v3, v5 int32
@@ -42846,7 +38149,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
}
y = *(*Tu32)(unsafe.Pointer(pInfo + 4 + uintptr(i)*4))
if mxSafeFrame > y {
- rc = _walBusyLock(tls, pWal, xBusy, pBusyArg, int32(3)+i, int32(1))
+ rc = _walBusyLock(tls, pWal, __ccgo_fp_xBusy, pBusyArg, int32(3)+i, int32(1))
if rc == SQLITE_OK {
if i == int32(1) {
v2 = mxSafeFrame
@@ -42859,7 +38162,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
} else {
if rc == int32(SQLITE_BUSY) {
mxSafeFrame = y
- xBusy = uintptr(0)
+ __ccgo_fp_xBusy = uintptr(0)
} else {
goto walcheckpoint_out
}
@@ -42875,7 +38178,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
rc = _walIteratorInit(tls, pWal, (*TWalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill, bp)
}
if v4 = *(*uintptr)(unsafe.Pointer(bp)) != 0; v4 {
- v3 = _walBusyLock(tls, pWal, xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(0), int32(1))
+ v3 = _walBusyLock(tls, pWal, __ccgo_fp_xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(0), int32(1))
rc = v3
}
if v4 && v3 == SQLITE_OK {
@@ -42896,7 +38199,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
** database plus the amount of data in the wal file, plus the
** maximum size of the pending-byte page (65536 bytes), then
** must be corruption somewhere. */
- rc = _sqlite3CorruptError(tls, int32(68153))
+ rc = _sqlite3CorruptError(tls, int32(68155))
} else {
_sqlite3OsFileControlHint(tls, (*TWal)(unsafe.Pointer(pWal)).FpDbFd, int32(SQLITE_FCNTL_SIZE_HINT), bp+16)
}
@@ -42962,7 +38265,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
} else {
if eMode >= int32(SQLITE_CHECKPOINT_RESTART) {
Xsqlite3_randomness(tls, int32(4), bp+32)
- rc = _walBusyLock(tls, pWal, xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(1), libc.Int32FromInt32(SQLITE_SHM_NLOCK)-libc.Int32FromInt32(3)-libc.Int32FromInt32(1))
+ rc = _walBusyLock(tls, pWal, __ccgo_fp_xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(1), libc.Int32FromInt32(SQLITE_SHM_NLOCK)-libc.Int32FromInt32(3)-libc.Int32FromInt32(1))
if rc == SQLITE_OK {
if eMode == int32(SQLITE_CHECKPOINT_TRUNCATE) {
/* IMPLEMENTATION-OF: R-44699-57140 This mode works the same way as
@@ -43260,7 +38563,7 @@ func _walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) (r int32) {
** this version of SQLite cannot understand.
*/
if badHdr == 0 && (*TWal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != uint32(WALINDEX_MAX_VERSION) {
- rc = _sqlite3CantopenError(tls, int32(68604))
+ rc = _sqlite3CantopenError(tls, int32(68606))
}
if (*TWal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
if rc != SQLITE_OK {
@@ -44071,7 +39374,7 @@ func _walFindFrame(tls *libc.TLS, pWal uintptr, pgno TPgno, piRead uintptr) (r i
nCollide--
if v3 == 0 {
*(*Tu32)(unsafe.Pointer(piRead)) = uint32(0)
- return _sqlite3CorruptError(tls, int32(69454))
+ return _sqlite3CorruptError(tls, int32(69456))
}
iKey = _walNextHash(tls, iKey)
}
@@ -44217,7 +39520,7 @@ func _sqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) (r int32) {
// ** Otherwise, if the callback function does not return an error, this
// ** function returns SQLITE_OK.
// */
-func _sqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) (r int32) {
+func _sqlite3WalUndo(tls *libc.TLS, pWal uintptr, __ccgo_fp_xUndo uintptr, pUndoCtx uintptr) (r int32) {
var iFrame, iMax TPgno
var rc int32
_, _, _ = iFrame, iMax, rc
@@ -44244,7 +39547,7 @@ func _sqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt
** page 1 is never written to the log until the transaction is
** committed. As a result, the call to xUndo may not fail.
*/
- rc = (*(*func(*libc.TLS, uintptr, TPgno) int32)(unsafe.Pointer(&struct{ uintptr }{xUndo})))(tls, pUndoCtx, _walFramePgno(tls, pWal, iFrame))
+ rc = (*(*func(*libc.TLS, uintptr, TPgno) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xUndo})))(tls, pUndoCtx, _walFramePgno(tls, pWal, iFrame))
goto _1
_1:
;
@@ -44572,7 +39875,7 @@ func _walFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTrunc
}
}
if libc.Int32FromUint32((*TWal)(unsafe.Pointer(pWal)).FszPage) != szPage {
- return _sqlite3CorruptError(tls, int32(69981)) /* TH3 test case: cov1/corrupt155.test */
+ return _sqlite3CorruptError(tls, int32(69983)) /* TH3 test case: cov1/corrupt155.test */
}
/* Setup information needed to write frames into the WAL */
(*(*TWalWriter)(unsafe.Pointer(bp))).FpWal = pWal
@@ -44753,7 +40056,7 @@ func _sqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr,
// ** If parameter xBusy is not NULL, it is a pointer to a busy-handler
// ** callback. In this case this function runs a blocking checkpoint.
// */
-func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) (r int32) {
+func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, __ccgo_fp_xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var eMode2, rc, v1 int32
@@ -44762,7 +40065,7 @@ func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
_, _, _, _ = eMode2, rc, xBusy2, v1 /* Return code */
*(*int32)(unsafe.Pointer(bp)) = 0 /* True if a new wal-index header is loaded */
eMode2 = eMode /* Mode to pass to walCheckpoint() */
- xBusy2 = xBusy /* Busy handler for eMode2 */
+ xBusy2 = __ccgo_fp_xBusy /* Busy handler for eMode2 */
/* EVIDENCE-OF: R-62920-47450 The busy-handler callback is never invoked
** in the SQLITE_CHECKPOINT_PASSIVE mode. */
if (*TWal)(unsafe.Pointer(pWal)).FreadOnly != 0 {
@@ -44814,14 +40117,14 @@ func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
rc = _walIndexReadHdr(tls, pWal, bp)
if eMode2 != SQLITE_CHECKPOINT_PASSIVE {
}
- if *(*int32)(unsafe.Pointer(bp)) != 0 && (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TWal)(unsafe.Pointer(pWal)).FpDbFd)).FpMethods)).FiVersion >= int32(3) {
+ if *(*int32)(unsafe.Pointer(bp)) != 0 && (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TWal)(unsafe.Pointer(pWal)).FpDbFd)).FpMethods)).FiVersion >= int32(3) {
_sqlite3OsUnfetch(tls, (*TWal)(unsafe.Pointer(pWal)).FpDbFd, 0, uintptr(0))
}
}
/* Copy data from the log to the database file. */
if rc == SQLITE_OK {
if (*TWal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && _walPagesize(tls, pWal) != nBuf {
- rc = _sqlite3CorruptError(tls, int32(70241))
+ rc = _sqlite3CorruptError(tls, int32(70243))
} else {
rc = _walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
}
@@ -45367,288 +40670,6 @@ type TCellInfo = struct {
type CellInfo = TCellInfo
-/*
-** This is a magic string that appears at the beginning of every
-** SQLite database in order to identify the file as a real database.
-**
-** You can change this value at compile-time by specifying a
-** -DSQLITE_FILE_HEADER="..." on the compiler command-line. The
-** header must be exactly 16 bytes including the zero-terminator so
-** the string itself should be 15 characters long. If you change
-** the header, then your custom library will not be able to read
-** databases generated by the standard tools and the standard tools
-** will not be able to read databases created by your custom library.
- */
-
-/*
-** Page type flags. An ORed combination of these flags appear as the
-** first byte of on-disk image of every BTree page.
- */
-
-/*
-** An instance of this object stores information about each a single database
-** page that has been loaded into memory. The information in this object
-** is derived from the raw on-disk page content.
-**
-** As each database page is loaded into memory, the pager allocates an
-** instance of this object and zeros the first 8 bytes. (This is the
-** "extra" information associated with each page of the pager.)
-**
-** Access to all fields of this structure is controlled by the mutex
-** stored in MemPage.pBt->mutex.
- */
-type TMemPage1 = struct {
- FisInit Tu8
- FintKey Tu8
- FintKeyLeaf Tu8
- Fpgno TPgno
- Fleaf Tu8
- FhdrOffset Tu8
- FchildPtrSize Tu8
- Fmax1bytePayload Tu8
- FnOverflow Tu8
- FmaxLocal Tu16
- FminLocal Tu16
- FcellOffset Tu16
- FnFree int32
- FnCell Tu16
- FmaskPage Tu16
- FaiOvfl [4]Tu16
- FapOvfl [4]uintptr
- FpBt uintptr
- FaData uintptr
- FaDataEnd uintptr
- FaCellIdx uintptr
- FaDataOfst uintptr
- FpDbPage uintptr
- FxCellSize uintptr
- FxParseCell uintptr
-}
-
-type MemPage1 = TMemPage1
-
-/*
-** A linked list of the following structures is stored at BtShared.pLock.
-** Locks are added (or upgraded from READ_LOCK to WRITE_LOCK) when a cursor
-** is opened on the table with root page BtShared.iTable. Locks are removed
-** from this list when a transaction is committed or rolled back, or when
-** a btree handle is closed.
- */
-type TBtLock1 = struct {
- FpBtree uintptr
- FiTable TPgno
- FeLock Tu8
- FpNext uintptr
-}
-
-type BtLock1 = TBtLock1
-
-/* Candidate values for BtLock.eLock */
-
-/* A Btree handle
-**
-** A database connection contains a pointer to an instance of
-** this object for every database file that it has open. This structure
-** is opaque to the database connection. The database connection cannot
-** see the internals of this structure and only deals with pointers to
-** this structure.
-**
-** For some database files, the same underlying database cache might be
-** shared between multiple connections. In that case, each connection
-** has it own instance of this object. But each instance of this object
-** points to the same BtShared object. The database cache and the
-** schema associated with the database file are all contained within
-** the BtShared object.
-**
-** All fields in this structure are accessed under sqlite3.mutex.
-** The pBt pointer itself may not be changed while there exists cursors
-** in the referenced BtShared that point back to this Btree since those
-** cursors have to go through this Btree to find their BtShared and
-** they often do so without holding sqlite3.mutex.
- */
-type TBtree1 = struct {
- Fdb uintptr
- FpBt uintptr
- FinTrans Tu8
- Fsharable Tu8
- Flocked Tu8
- FhasIncrblobCur Tu8
- FwantToLock int32
- FnBackup int32
- FiBDataVersion Tu32
- FpNext uintptr
- FpPrev uintptr
- Flock TBtLock
-}
-
-type Btree1 = TBtree1
-
-/*
-** Btree.inTrans may take one of the following values.
-**
-** If the shared-data extension is enabled, there may be multiple users
-** of the Btree structure. At most one of these may open a write transaction,
-** but any number may have active read transactions.
-**
-** These values must match SQLITE_TXN_NONE, SQLITE_TXN_READ, and
-** SQLITE_TXN_WRITE
- */
-
-/*
-** An instance of this object represents a single database file.
-**
-** A single database file can be in use at the same time by two
-** or more database connections. When two or more connections are
-** sharing the same database file, each connection has it own
-** private Btree object for the file and each of those Btrees points
-** to this one BtShared object. BtShared.nRef is the number of
-** connections currently sharing this database file.
-**
-** Fields in this structure are accessed under the BtShared.mutex
-** mutex, except for nRef and pNext which are accessed under the
-** global SQLITE_MUTEX_STATIC_MAIN mutex. The pPager field
-** may not be modified once it is initially set as long as nRef>0.
-** The pSchema field may be set once under BtShared.mutex and
-** thereafter is unchanged as long as nRef>0.
-**
-** isPending:
-**
-** If a BtShared client fails to obtain a write-lock on a database
-** table (because there exists one or more read-locks on the table),
-** the shared-cache enters 'pending-lock' state and isPending is
-** set to true.
-**
-** The shared-cache leaves the 'pending lock' state when either of
-** the following occur:
-**
-** 1) The current writer (BtShared.pWriter) concludes its transaction, OR
-** 2) The number of locks held by other connections drops to zero.
-**
-** while in the 'pending-lock' state, no connection may start a new
-** transaction.
-**
-** This feature is included to help prevent writer-starvation.
- */
-type TBtShared1 = struct {
- FpPager uintptr
- Fdb uintptr
- FpCursor uintptr
- FpPage1 uintptr
- FopenFlags Tu8
- FautoVacuum Tu8
- FincrVacuum Tu8
- FbDoTruncate Tu8
- FinTransaction Tu8
- Fmax1bytePayload Tu8
- FnReserveWanted Tu8
- FbtsFlags Tu16
- FmaxLocal Tu16
- FminLocal Tu16
- FmaxLeaf Tu16
- FminLeaf Tu16
- FpageSize Tu32
- FusableSize Tu32
- FnTransaction int32
- FnPage Tu32
- FpSchema uintptr
- FxFreeSchema uintptr
- Fmutex uintptr
- FpHasContent uintptr
- FnRef int32
- FpNext uintptr
- FpLock uintptr
- FpWriter uintptr
- FpTmpSpace uintptr
- FnPreformatSize int32
-}
-
-type BtShared1 = TBtShared1
-
-/*
-** Allowed values for BtShared.btsFlags
- */
-
-/*
-** An instance of the following structure is used to hold information
-** about a cell. The parseCellPtr() function fills in this structure
-** based on information extract from the raw disk page.
- */
-type TCellInfo1 = struct {
- FnKey Ti64
- FpPayload uintptr
- FnPayload Tu32
- FnLocal Tu16
- FnSize Tu16
-}
-
-type CellInfo1 = TCellInfo1
-
-/*
-** Maximum depth of an SQLite B-Tree structure. Any B-Tree deeper than
-** this will be declared corrupt. This value is calculated based on a
-** maximum database size of 2^31 pages a minimum fanout of 2 for a
-** root-node and 3 for all other internal nodes.
-**
-** If a tree that appears to be taller than this is encountered, it is
-** assumed that the database is corrupt.
- */
-
-/*
-** Maximum amount of storage local to a database page, regardless of
-** page size.
- */
-
-/*
-** A cursor is a pointer to a particular entry within a particular
-** b-tree within a database file.
-**
-** The entry is identified by its MemPage and the index in
-** MemPage.aCell[] of the entry.
-**
-** A single database file can be shared by two more database connections,
-** but cursors cannot be shared. Each cursor is associated with a
-** particular database connection identified BtCursor.pBtree.db.
-**
-** Fields in this structure are accessed under the BtShared.mutex
-** found at self->pBt->mutex.
-**
-** skipNext meaning:
-** The meaning of skipNext depends on the value of eState:
-**
-** eState Meaning of skipNext
-** VALID skipNext is meaningless and is ignored
-** INVALID skipNext is meaningless and is ignored
-** SKIPNEXT sqlite3BtreeNext() is a no-op if skipNext>0 and
-** sqlite3BtreePrevious() is no-op if skipNext<0.
-** REQUIRESEEK restoreCursorPosition() restores the cursor to
-** eState=SKIPNEXT if skipNext!=0
-** FAULT skipNext holds the cursor fault error code.
- */
-type TBtCursor1 = struct {
- FeState Tu8
- FcurFlags Tu8
- FcurPagerFlags Tu8
- Fhints Tu8
- FskipNext int32
- FpBtree uintptr
- FaOverflow uintptr
- FpKey uintptr
- FpBt uintptr
- FpNext uintptr
- Finfo TCellInfo
- FnKey Ti64
- FpgnoRoot TPgno
- FiPage Ti8
- FcurIntKey Tu8
- Fix Tu16
- FaiIdx [19]Tu16
- FpKeyInfo uintptr
- FpPage uintptr
- FapPage [19]uintptr
-}
-
-type BtCursor1 = TBtCursor1
-
/*
** Legal values for BtCursor.curFlags
*/
@@ -45781,27 +40802,6 @@ type TIntegrityCk = struct {
type IntegrityCk = TIntegrityCk
-type TIntegrityCk1 = struct {
- FpBt uintptr
- FpPager uintptr
- FaPgRef uintptr
- FnCkPage TPgno
- FmxErr int32
- FnErr int32
- Frc int32
- FnStep Tu32
- FzPfx uintptr
- Fv0 TPgno
- Fv1 TPgno
- Fv2 int32
- FerrMsg TStrAccum
- Fheap uintptr
- Fdb uintptr
- FnRow Ti64
-}
-
-type IntegrityCk1 = TIntegrityCk1
-
/*
** Routines to read or write a two- and four-byte big-endian integer values.
*/
@@ -46684,11 +41684,11 @@ func _btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey Ti64, bias int
}
_sqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
if libc.Int32FromUint16((*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || libc.Int32FromUint16((*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > libc.Int32FromUint16((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
- rc = _sqlite3CorruptError(tls, int32(72429))
+ rc = _sqlite3CorruptError(tls, int32(72431))
} else {
rc = _sqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
}
- _sqlite3DbFree(tls, (*TKeyInfo1)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo)).Fdb, pIdxKey)
+ _sqlite3DbFree(tls, (*TKeyInfo)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo)).Fdb, pIdxKey)
} else {
pIdxKey = uintptr(0)
rc = _sqlite3BtreeTableMoveto(tls, pCur, nKey, bias, pRes)
@@ -46862,7 +41862,7 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno,
}
/* The super-journal page number must never be used as a pointer map page */
if key == uint32(0) {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72627))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72629))
return
}
iPtrmap = _ptrmapPageno(tls, pBt, key)
@@ -46875,12 +41875,12 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno,
/* The first byte of the extra data is the MemPage.isInit byte.
** If that byte is set, it means this page is also being used
** as a btree page. */
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72640))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72642))
goto ptrmap_exit
}
offset = libc.Int32FromUint32(libc.Uint32FromInt32(5) * (key - iPtrmap - libc.Uint32FromInt32(1)))
if offset < 0 {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72645))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72647))
goto ptrmap_exit
}
pPtrmap = _sqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp)))
@@ -46924,7 +41924,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin
offset = libc.Int32FromUint32(libc.Uint32FromInt32(5) * (key - libc.Uint32FromInt32(iPtrmap) - libc.Uint32FromInt32(1)))
if offset < 0 {
_sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
- return _sqlite3CorruptError(tls, int32(72690))
+ return _sqlite3CorruptError(tls, int32(72692))
}
*(*Tu8)(unsafe.Pointer(pEType)) = *(*Tu8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
if pPgno != 0 {
@@ -46932,7 +41932,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin
}
_sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(pEType))) < int32(1) || libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(pEType))) > int32(5) {
- return _sqlite3CorruptError(tls, int32(72698))
+ return _sqlite3CorruptError(tls, int32(72700))
}
return SQLITE_OK
}
@@ -47352,7 +42352,7 @@ func _ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr
(*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp)
if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload {
if uint64(pCell) < uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) && uint64(pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal)) > uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(73143))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(73145))
return
}
ovfl = _sqlite3Get4byte(tls, pCell+uintptr(libc.Int32FromUint16((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-int32(4)))
@@ -47392,12 +42392,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) <= nMaxFrag {
iFree = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(1)))))< usableSize-int32(4) {
- return _sqlite3CorruptError(tls, int32(73201))
+ return _sqlite3CorruptError(tls, int32(73203))
}
if iFree != 0 {
iFree2 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree))))< usableSize-int32(4) {
- return _sqlite3CorruptError(tls, int32(73204))
+ return _sqlite3CorruptError(tls, int32(73206))
}
if 0 == iFree2 || libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(1))))) == 0 {
pEnd = data + uintptr(cellOffset+nCell*int32(2))
@@ -47405,21 +42405,21 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
sz = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree+int32(2)))))<= iFree {
- return _sqlite3CorruptError(tls, int32(73212))
+ return _sqlite3CorruptError(tls, int32(73214))
}
if iFree2 != 0 {
if iFree+sz > iFree2 {
- return _sqlite3CorruptError(tls, int32(73215))
+ return _sqlite3CorruptError(tls, int32(73217))
}
sz2 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(2)))))< usableSize {
- return _sqlite3CorruptError(tls, int32(73217))
+ return _sqlite3CorruptError(tls, int32(73219))
}
libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), libc.Uint64FromInt32(iFree2-(iFree+sz)))
sz += sz2
} else {
if iFree+sz > usableSize {
- return _sqlite3CorruptError(tls, int32(73221))
+ return _sqlite3CorruptError(tls, int32(73223))
}
}
cbrk = top + sz
@@ -47466,12 +42466,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
** if PRAGMA cell_size_check=ON.
*/
if pc > iCellLast {
- return _sqlite3CorruptError(tls, int32(73254))
+ return _sqlite3CorruptError(tls, int32(73256))
}
size = libc.Int32FromUint16((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, src+uintptr(pc)))
cbrk -= size
if cbrk < iCellStart || pc+size > usableSize {
- return _sqlite3CorruptError(tls, int32(73260))
+ return _sqlite3CorruptError(tls, int32(73262))
}
*(*Tu8)(unsafe.Pointer(pAddr1)) = libc.Uint8FromInt32(cbrk >> libc.Int32FromInt32(8))
*(*Tu8)(unsafe.Pointer(pAddr1 + 1)) = libc.Uint8FromInt32(cbrk)
@@ -47487,7 +42487,7 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
defragment_out:
;
if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7)))))+cbrk-iCellFirst != (*TMemPage)(unsafe.Pointer(pPage)).FnFree {
- return _sqlite3CorruptError(tls, int32(73274))
+ return _sqlite3CorruptError(tls, int32(73276))
}
*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)))) = libc.Uint8FromInt32(cbrk >> libc.Int32FromInt32(8))
*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)) + 1)) = libc.Uint8FromInt32(cbrk)
@@ -47547,7 +42547,7 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint
} else {
if x+pc > maxPC {
/* This slot extends off the end of the usable part of the page */
- *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73331))
+ *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73333))
return uintptr(0)
} else {
/* The slot remains on the free-list. Reduce its size to account
@@ -47564,14 +42564,14 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint
if pc <= iAddr {
if pc != 0 {
/* The next slot in the chain comes before the current slot */
- *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73346))
+ *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73348))
}
return uintptr(0)
}
}
if pc > maxPC+nByte-int32(4) {
/* The free slot chain extends off the end of the page */
- *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73353))
+ *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73355))
}
return uintptr(0)
}
@@ -47614,11 +42614,11 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r
if top == 0 && (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == uint32(65536) {
top = int32(65536)
} else {
- return _sqlite3CorruptError(tls, int32(73401))
+ return _sqlite3CorruptError(tls, int32(73403))
}
} else {
if top > libc.Int32FromUint32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(73404))
+ return _sqlite3CorruptError(tls, int32(73406))
}
}
/* If there is enough space between gap and top for one more cell pointer,
@@ -47632,7 +42632,7 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r
g2 = v1
*(*int32)(unsafe.Pointer(pIdx)) = v1
if g2 <= gap {
- return _sqlite3CorruptError(tls, int32(73421))
+ return _sqlite3CorruptError(tls, int32(73423))
} else {
return SQLITE_OK
}
@@ -47713,12 +42713,12 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
if iFreeBlk == 0 {
break
} /* TH3: corrupt082.100 */
- return _sqlite3CorruptError(tls, int32(73500))
+ return _sqlite3CorruptError(tls, int32(73502))
}
iPtr = iFreeBlk
}
if iFreeBlk > libc.Int32FromUint32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize)-int32(4) { /* TH3: corrupt081.100 */
- return _sqlite3CorruptError(tls, int32(73505))
+ return _sqlite3CorruptError(tls, int32(73507))
}
/* At this point:
** iFreeBlk: First freeblock after iStart, or zero if none
@@ -47729,11 +42729,11 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
if iFreeBlk != 0 && iEnd+int32(3) >= iFreeBlk {
nFrag = iFreeBlk - iEnd
if iEnd > iFreeBlk {
- return _sqlite3CorruptError(tls, int32(73517))
+ return _sqlite3CorruptError(tls, int32(73519))
}
iEnd = iFreeBlk + (libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk+int32(2)))))< libc.Int32FromUint32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(73520))
+ return _sqlite3CorruptError(tls, int32(73522))
}
iSize = iEnd - iStart
iFreeBlk = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<= iStart {
if iPtrEnd > iStart {
- return _sqlite3CorruptError(tls, int32(73533))
+ return _sqlite3CorruptError(tls, int32(73535))
}
nFrag += iStart - iPtrEnd
iSize = iEnd - iPtr
@@ -47754,7 +42754,7 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
}
}
if nFrag > libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(libc.Int32FromUint8(hdr)+int32(7))))) {
- return _sqlite3CorruptError(tls, int32(73539))
+ return _sqlite3CorruptError(tls, int32(73541))
}
p2 = data + uintptr(libc.Int32FromUint8(hdr)+int32(7))
*(*uint8)(unsafe.Pointer(p2)) = uint8(int32(*(*uint8)(unsafe.Pointer(p2))) - libc.Int32FromUint8(libc.Uint8FromInt32(nFrag)))
@@ -47771,10 +42771,10 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
** so just extend the cell content area rather than create another
** freelist entry */
if iStart < x {
- return _sqlite3CorruptError(tls, int32(73553))
+ return _sqlite3CorruptError(tls, int32(73555))
}
if iPtr != libc.Int32FromUint8(hdr)+int32(1) {
- return _sqlite3CorruptError(tls, int32(73554))
+ return _sqlite3CorruptError(tls, int32(73556))
}
*(*uint8)(unsafe.Pointer(data + uintptr(libc.Int32FromUint8(hdr)+int32(1)))) = libc.Uint8FromInt32(iFreeBlk >> libc.Int32FromInt32(8))
*(*uint8)(unsafe.Pointer(data + uintptr(libc.Int32FromUint8(hdr)+int32(1)) + 1)) = libc.Uint8FromInt32(iFreeBlk)
@@ -47835,7 +42835,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0)
(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtrIdxLeaf)
(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex)
- return _sqlite3CorruptError(tls, int32(73609))
+ return _sqlite3CorruptError(tls, int32(73611))
}
}
} else {
@@ -47861,7 +42861,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0)
(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtr)
(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex)
- return _sqlite3CorruptError(tls, int32(73633))
+ return _sqlite3CorruptError(tls, int32(73635))
}
}
}
@@ -47900,12 +42900,12 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) {
/* EVIDENCE-OF: R-55530-52930 In a well-formed b-tree page, there will
** always be at least one cell before the first freeblock.
*/
- return _sqlite3CorruptError(tls, int32(73684))
+ return _sqlite3CorruptError(tls, int32(73686))
}
for int32(1) != 0 {
if pc > iCellLast {
/* Freeblock off the end of the page */
- return _sqlite3CorruptError(tls, int32(73689))
+ return _sqlite3CorruptError(tls, int32(73691))
}
next = libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(data + uintptr(pc))))< uint32(0) {
/* Freeblock not in ascending order */
- return _sqlite3CorruptError(tls, int32(73699))
+ return _sqlite3CorruptError(tls, int32(73701))
}
if libc.Uint32FromInt32(pc)+size > libc.Uint32FromInt32(usableSize) {
/* Last freeblock extends past page end */
- return _sqlite3CorruptError(tls, int32(73703))
+ return _sqlite3CorruptError(tls, int32(73705))
}
}
/* At this point, nFree contains the sum of the offset to the start
@@ -47932,7 +42932,7 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) {
** area, according to the page header, lies within the page.
*/
if nFree > usableSize || nFree < iCellFirst {
- return _sqlite3CorruptError(tls, int32(73715))
+ return _sqlite3CorruptError(tls, int32(73717))
}
(*TMemPage)(unsafe.Pointer(pPage)).FnFree = libc.Int32FromUint16(libc.Uint16FromInt32(nFree - iCellFirst))
return SQLITE_OK
@@ -47963,11 +42963,11 @@ func _btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) (r int32) {
}
pc = libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(data + uintptr(cellOffset+i*int32(2)))))< iCellLast {
- return _sqlite3CorruptError(tls, int32(73746))
+ return _sqlite3CorruptError(tls, int32(73748))
}
sz = libc.Int32FromUint16((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, data+uintptr(pc)))
if pc+sz > usableSize {
- return _sqlite3CorruptError(tls, int32(73751))
+ return _sqlite3CorruptError(tls, int32(73753))
}
goto _1
_1:
@@ -47996,7 +42996,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) {
/* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating
** the b-tree page type. */
if _decodeFlags(tls, pPage, libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(data)))) != 0 {
- return _sqlite3CorruptError(tls, int32(73783))
+ return _sqlite3CorruptError(tls, int32(73785))
}
(*TMemPage)(unsafe.Pointer(pPage)).FmaskPage = uint16((*TBtShared)(unsafe.Pointer(pBt)).FpageSize - libc.Uint32FromInt32(1))
(*TMemPage)(unsafe.Pointer(pPage)).FnOverflow = uint8(0)
@@ -48009,7 +43009,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FnCell = libc.Uint16FromInt32(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(data + 3)))< ((*TBtShared)(unsafe.Pointer(pBt)).FpageSize-uint32(8))/uint32(6) {
/* To many cells for a single page. The page must be corrupt */
- return _sqlite3CorruptError(tls, int32(73797))
+ return _sqlite3CorruptError(tls, int32(73799))
}
/* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only
** possible for a root page of a table that contains no rows) then the
@@ -48160,7 +43160,7 @@ func _getAndInitPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, bRe
_, _ = pPage, rc
if pgno > _btreePagecount(tls, pBt) {
*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
- return _sqlite3CorruptError(tls, int32(73940))
+ return _sqlite3CorruptError(tls, int32(73942))
}
rc = _sqlite3PagerGet(tls, (*TBtShared)(unsafe.Pointer(pBt)).FpPager, pgno, bp, bReadOnly)
if rc != 0 {
@@ -48222,7 +43222,7 @@ func _btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr,
if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > int32(1) {
_releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
- return _sqlite3CorruptError(tls, int32(74012))
+ return _sqlite3CorruptError(tls, int32(74014))
}
(*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = uint8(0)
} else {
@@ -49134,7 +44134,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) {
}
if nPage > *(*Tu32)(unsafe.Pointer(bp + 8)) {
if _sqlite3WritableSchema(tls, (*TBtShared)(unsafe.Pointer(pBt)).Fdb) == 0 {
- rc = _sqlite3CorruptError(tls, int32(74950))
+ rc = _sqlite3CorruptError(tls, int32(74952))
goto page1_init_failed
} else {
nPage = *(*Tu32)(unsafe.Pointer(bp + 8))
@@ -49575,7 +44575,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
if libc.Int32FromUint8(eType) == int32(PTRMAP_OVERFLOW2) {
/* The pointer is always the first 4 bytes of the page in this case. */
if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
- return _sqlite3CorruptError(tls, int32(75405))
+ return _sqlite3CorruptError(tls, int32(75407))
}
_sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData, iTo)
} else {
@@ -49599,7 +44599,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
(*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp)
if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload {
if pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(75424))
+ return _sqlite3CorruptError(tls, int32(75426))
}
if iFrom == _sqlite3Get4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4)) {
_sqlite3Put4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4), iTo)
@@ -49608,7 +44608,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
}
} else {
if pCell+uintptr(4) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(75433))
+ return _sqlite3CorruptError(tls, int32(75435))
}
if _sqlite3Get4byte(tls, pCell) == iFrom {
_sqlite3Put4byte(tls, pCell, iTo)
@@ -49622,7 +44622,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
}
if i == nCell {
if libc.Int32FromUint8(eType) != int32(PTRMAP_BTREE) || _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8))) != iFrom {
- return _sqlite3CorruptError(tls, int32(75445))
+ return _sqlite3CorruptError(tls, int32(75447))
}
_sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8)), iTo)
}
@@ -49652,7 +44652,7 @@ func _relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType Tu8, iPtrP
iDbPage = (*TMemPage)(unsafe.Pointer(pDbPage)).Fpgno
pPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager
if iDbPage < uint32(3) {
- return _sqlite3CorruptError(tls, int32(75480))
+ return _sqlite3CorruptError(tls, int32(75482))
}
/* Move page iDbPage from its current location to page number iFreePage */
*(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3PagerMovepage(tls, pPager, (*TMemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -49748,7 +44748,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom
return rc
}
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_ROOTPAGE) {
- return _sqlite3CorruptError(tls, int32(75578))
+ return _sqlite3CorruptError(tls, int32(75580))
}
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_FREEPAGE) {
if bCommit == 0 {
@@ -49786,7 +44786,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom
_releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 40)))
if *(*TPgno)(unsafe.Pointer(bp + 24)) > dbSize {
_releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
- return _sqlite3CorruptError(tls, int32(75630))
+ return _sqlite3CorruptError(tls, int32(75632))
}
}
rc = _relocatePage(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*Tu8)(unsafe.Pointer(bp)), *(*TPgno)(unsafe.Pointer(bp + 4)), *(*TPgno)(unsafe.Pointer(bp + 24)), bCommit)
@@ -49853,7 +44853,7 @@ func _sqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) (r int32) {
nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
nFin = _finalDbSize(tls, pBt, nOrig, nFree)
if nOrig < nFin || nFree >= nOrig {
- rc = _sqlite3CorruptError(tls, int32(75698))
+ rc = _sqlite3CorruptError(tls, int32(75700))
} else {
if nFree > uint32(0) {
rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -49896,7 +44896,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) {
** is either a pointer-map page or the pending-byte page. If one
** is encountered, this indicates corruption.
*/
- return _sqlite3CorruptError(tls, int32(75749))
+ return _sqlite3CorruptError(tls, int32(75751))
}
nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
db = (*TBtree)(unsafe.Pointer(p)).Fdb
@@ -49926,7 +44926,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) {
}
nFin = _finalDbSize(tls, pBt, nOrig, nVac)
if nFin > nOrig {
- return _sqlite3CorruptError(tls, int32(75776))
+ return _sqlite3CorruptError(tls, int32(75778))
}
if nFin < nOrig {
rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -50392,7 +45392,7 @@ func _btreeCursor(tls *libc.TLS, p uintptr, iTable TPgno, wrFlag int32, pKeyInfo
/* Assert that the caller has opened the required transaction. */
if iTable <= uint32(1) {
if iTable < uint32(1) {
- return _sqlite3CorruptError(tls, int32(76240))
+ return _sqlite3CorruptError(tls, int32(76242))
} else {
if _btreePagecount(tls, pBt) == uint32(0) {
iTable = uint32(0)
@@ -50784,7 +45784,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
pBt = (*TBtCursor)(unsafe.Pointer(pCur)).FpBt /* Btree this cursor belongs to */
pBufStart = pBuf /* Start of original out buffer */
if libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Fix) >= libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) {
- return _sqlite3CorruptError(tls, int32(76664))
+ return _sqlite3CorruptError(tls, int32(76666))
}
_getCellInfo(tls, pCur)
aPayload = (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
@@ -50794,7 +45794,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize]
** but is recast into its current form to avoid integer overflow problems
*/
- return _sqlite3CorruptError(tls, int32(76679))
+ return _sqlite3CorruptError(tls, int32(76681))
}
/* Check if data must be read/written to/from the btree page itself. */
if offset < uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -50851,7 +45851,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
for *(*TPgno)(unsafe.Pointer(bp)) != 0 {
/* If required, populate the overflow page-list cache. */
if *(*TPgno)(unsafe.Pointer(bp)) > (*TBtShared)(unsafe.Pointer(pBt)).FnPage {
- return _sqlite3CorruptError(tls, int32(76750))
+ return _sqlite3CorruptError(tls, int32(76752))
}
*(*TPgno)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*TPgno)(unsafe.Pointer(bp))
if offset >= ovflSize {
@@ -50925,7 +45925,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
}
if rc == SQLITE_OK && amt > uint32(0) {
/* Overflow chain ends prematurely */
- return _sqlite3CorruptError(tls, int32(76834))
+ return _sqlite3CorruptError(tls, int32(76836))
}
return rc
}
@@ -51060,7 +46060,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) {
var v3, p1 uintptr
_, _, _, _ = rc, v2, v3, p1
if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) {
- return _sqlite3CorruptError(tls, int32(76972))
+ return _sqlite3CorruptError(tls, int32(76974))
}
(*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0)
p1 = pCur + 1
@@ -51072,7 +46072,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) {
rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, newPgno, pCur+136, libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags))
if rc == SQLITE_OK && (libc.Int32FromUint16((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || libc.Int32FromUint8((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) {
_releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage)
- rc = _sqlite3CorruptError(tls, int32(76986))
+ rc = _sqlite3CorruptError(tls, int32(76988))
}
if rc != 0 {
v3 = pCur + 84
@@ -51188,7 +46188,7 @@ func _moveToRoot(tls *libc.TLS, pCur uintptr) (r int32) {
** in such a way that page pRoot is linked into a second b-tree table
** (or the freelist). */
if libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.BoolInt32((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pRoot)).FintKey) {
- return _sqlite3CorruptError(tls, int32(77121))
+ return _sqlite3CorruptError(tls, int32(77123))
}
goto skip_init
skip_init:
@@ -51202,7 +46202,7 @@ skip_init:
} else {
if !((*TMemPage)(unsafe.Pointer(pRoot)).Fleaf != 0) {
if (*TMemPage)(unsafe.Pointer(pRoot)).Fpgno != uint32(1) {
- return _sqlite3CorruptError(tls, int32(77133))
+ return _sqlite3CorruptError(tls, int32(77135))
}
subpage = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+int32(8)))
(*TBtCursor)(unsafe.Pointer(pCur)).FeState = uint8(CURSOR_VALID)
@@ -51436,7 +46436,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh
break
}
if pCell >= (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(77382))
+ return _sqlite3CorruptError(tls, int32(77384))
}
}
}
@@ -51520,7 +46520,7 @@ moveto_table_finish:
// ** This routine is part of an optimization. It is always safe to return
// ** a positive value as that will cause the optimization to be skipped.
// */
-func _indexCellCompare(tls *libc.TLS, pCur uintptr, idx int32, pIdxKey uintptr, xRecordCompare TRecordCompare) (r int32) {
+func _indexCellCompare(tls *libc.TLS, pCur uintptr, idx int32, pIdxKey uintptr, __ccgo_fp_xRecordCompare TRecordCompare) (r int32) {
var c, nCell, v1 int32
var pCell, pPage uintptr
var v2 bool
@@ -51532,7 +46532,7 @@ func _indexCellCompare(tls *libc.TLS, pCur uintptr, idx int32, pIdxKey uintptr,
/* This branch runs if the record-size field of the cell is a
** single byte varint and the record fits entirely on the main
** b-tree page. */
- c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xRecordCompare})))(tls, nCell, pCell+1, pIdxKey)
+ c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xRecordCompare})))(tls, nCell, pCell+1, pIdxKey)
} else {
if v2 = !(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(pCell + 1)))&libc.Int32FromInt32(0x80) != 0); v2 {
v1 = nCell&libc.Int32FromInt32(0x7f)< (*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage {
- rc = _sqlite3CorruptError(tls, int32(77665))
+ rc = _sqlite3CorruptError(tls, int32(77667))
goto moveto_index_finish
}
pCellKey = _sqlite3Malloc(tls, libc.Uint64FromInt32(nCell)+libc.Uint64FromInt32(nOverrun))
@@ -51734,7 +46734,7 @@ bypass_moveto_root:
rc = SQLITE_OK
(*TBtCursor)(unsafe.Pointer(pCur)).Fix = libc.Uint16FromInt32(idx)
if (*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0 {
- rc = _sqlite3CorruptError(tls, int32(77697))
+ rc = _sqlite3CorruptError(tls, int32(77699))
}
goto moveto_index_finish
}
@@ -51767,7 +46767,7 @@ bypass_moveto_root:
p9 = pCur + 1
*(*Tu8)(unsafe.Pointer(p9)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p9))) & ^(libc.Int32FromInt32(BTCF_ValidNKey) | libc.Int32FromInt32(BTCF_ValidOvfl)))
if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) {
- return _sqlite3CorruptError(tls, int32(77728))
+ return _sqlite3CorruptError(tls, int32(77730))
}
*(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*2)) = libc.Uint16FromInt32(lwr)
*(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*8)) = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage
@@ -51776,7 +46776,7 @@ bypass_moveto_root:
rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, chldPg, pCur+136, libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags))
if rc == SQLITE_OK && (libc.Int32FromUint16((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || libc.Int32FromUint8((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) {
_releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage)
- rc = _sqlite3CorruptError(tls, int32(77739))
+ rc = _sqlite3CorruptError(tls, int32(77741))
}
if rc != 0 {
v11 = pCur + 84
@@ -51905,7 +46905,7 @@ func _btreeNext(tls *libc.TLS, pCur uintptr) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0)
}
if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) {
- return _sqlite3CorruptError(tls, int32(77840))
+ return _sqlite3CorruptError(tls, int32(77842))
}
if idx >= libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) {
if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) {
@@ -52015,7 +47015,7 @@ func _btreePrevious(tls *libc.TLS, pCur uintptr) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0)
}
if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) {
- return _sqlite3CorruptError(tls, int32(77933))
+ return _sqlite3CorruptError(tls, int32(77935))
}
if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) {
idx = libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Fix)
@@ -52103,7 +47103,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
** stores the total number of pages on the freelist. */
n = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+36)
if n >= mxPage {
- return _sqlite3CorruptError(tls, int32(78023))
+ return _sqlite3CorruptError(tls, int32(78025))
}
if n > uint32(0) {
searchList = uint8(0) /* If the free-list must be searched for 'nearby' */
@@ -52158,7 +47158,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
nSearch++
}
if v2 || v1 > n {
- rc = _sqlite3CorruptError(tls, int32(78079))
+ rc = _sqlite3CorruptError(tls, int32(78081))
} else {
rc = _btreeGetUnusedPage(tls, pBt, iTrunk, bp, 0)
}
@@ -52184,7 +47184,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
} else {
if k > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/libc.Uint32FromInt32(4)-libc.Uint32FromInt32(2) {
/* Value of k is out of range. Database corruption */
- rc = _sqlite3CorruptError(tls, int32(78108))
+ rc = _sqlite3CorruptError(tls, int32(78110))
goto end_allocate_page
} else {
if searchList != 0 && (nearby == iTrunk || iTrunk < nearby && libc.Int32FromUint8(eMode) == int32(BTALLOC_LE)) {
@@ -52211,7 +47211,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
} else {
iNewTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+8)
if iNewTrunk > mxPage {
- rc = _sqlite3CorruptError(tls, int32(78142))
+ rc = _sqlite3CorruptError(tls, int32(78144))
goto end_allocate_page
}
rc = _btreeGetUnusedPage(tls, pBt, iNewTrunk, bp+16, 0)
@@ -52282,7 +47282,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
}
iPage = _sqlite3Get4byte(tls, aData+uintptr(uint32(8)+closest*uint32(4)))
if iPage > mxPage || iPage < uint32(2) {
- rc = _sqlite3CorruptError(tls, int32(78207))
+ rc = _sqlite3CorruptError(tls, int32(78209))
goto end_allocate_page
}
if !(searchList != 0) || (iPage == nearby || iPage < nearby && libc.Int32FromUint8(eMode) == int32(BTALLOC_LE)) {
@@ -52420,7 +47420,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in
iTrunk = uint32(0) /* Page number of free-list trunk page */
pPage1 = (*TBtShared)(unsafe.Pointer(pBt)).FpPage1 /* Initial number of pages on free-list */
if iPage < uint32(2) || iPage > (*TBtShared)(unsafe.Pointer(pBt)).FnPage {
- return _sqlite3CorruptError(tls, int32(78334))
+ return _sqlite3CorruptError(tls, int32(78336))
}
if pMemPage != 0 {
*(*uintptr)(unsafe.Pointer(bp + 8)) = pMemPage
@@ -52471,7 +47471,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in
if nFree != uint32(0) { /* Initial number of leaf cells on trunk page */
iTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+32)
if iTrunk > _btreePagecount(tls, pBt) {
- *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(78381))
+ *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(78383))
goto freepage_out
}
*(*int32)(unsafe.Pointer(bp + 16)) = _btreeGetPage(tls, pBt, iTrunk, bp, 0)
@@ -52480,7 +47480,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in
}
nLeaf = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+4)
if nLeaf > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(2) {
- *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(78392))
+ *(*int32)(unsafe.Pointer(bp + 16)) = _sqlite3CorruptError(tls, int32(78394))
goto freepage_out
}
if nLeaf < (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(8) {
@@ -52570,7 +47570,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp
_, _, _, _, _, _, _, _ = nOvfl, ovflPageSize, ovflPgno, pBt, rc, v1, v2, v3
if pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd {
/* Cell extends past end of page */
- return _sqlite3CorruptError(tls, int32(78481))
+ return _sqlite3CorruptError(tls, int32(78483))
}
ovflPgno = _sqlite3Get4byte(tls, pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt
@@ -52588,7 +47588,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp
/* 0 is not a legal page number and page 1 cannot be an
** overflow page. Therefore if ovflPgno<2 or past the end of the
** file the database must be corrupt. */
- return _sqlite3CorruptError(tls, int32(78498))
+ return _sqlite3CorruptError(tls, int32(78500))
}
if nOvfl != 0 {
rc = _getOverflowPage(tls, pBt, ovflPgno, bp+8, bp)
@@ -52611,7 +47611,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp
** caller is iterating through or using in some other way, this
** can be problematic.
*/
- rc = _sqlite3CorruptError(tls, int32(78518))
+ rc = _sqlite3CorruptError(tls, int32(78520))
} else {
rc = _freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 8)), ovflPgno)
}
@@ -52832,7 +47832,7 @@ func _dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
pc = libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(ptr)))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(78774))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(78776))
return
}
rc = _freeSpace(tls, pPage, libc.Int32FromUint32(pc), sz)
@@ -53126,17 +48126,6 @@ type TCellArray = struct {
type CellArray = TCellArray
-type TCellArray1 = struct {
- FnCell int32
- FpRef uintptr
- FapCell uintptr
- FszCell uintptr
- FapEnd [6]uintptr
- FixNx [6]int32
-}
-
-type CellArray1 = TCellArray1
-
// C documentation
//
// /*
@@ -53226,12 +48215,12 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
sz = *(*Tu16)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FszCell + uintptr(i)*2))
if uint64(pCell) >= uint64(aData+uintptr(j)) && uint64(pCell) < uint64(pEnd) {
if uint64(pCell+uintptr(sz)) > uint64(pEnd) {
- return _sqlite3CorruptError(tls, int32(79164))
+ return _sqlite3CorruptError(tls, int32(79166))
}
pCell = pTmp + uintptr(int64(pCell)-int64(aData))
} else {
if uint64(pCell+uintptr(sz)) > uint64(pSrcEnd) && uint64(pCell) < uint64(pSrcEnd) {
- return _sqlite3CorruptError(tls, int32(79169))
+ return _sqlite3CorruptError(tls, int32(79171))
}
}
pData -= uintptr(sz)
@@ -53239,7 +48228,7 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
*(*Tu8)(unsafe.Pointer(pCellptr + 1)) = libc.Uint8FromInt64(int64(pData) - int64(aData))
pCellptr += uintptr(2)
if pData < pCellptr {
- return _sqlite3CorruptError(tls, int32(79175))
+ return _sqlite3CorruptError(tls, int32(79177))
}
libc.Xmemmove(tls, pData, pCell, uint64(sz))
i++
@@ -53334,7 +48323,7 @@ func _pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr
** database. But they might for a corrupt database. Hence use memmove()
** since memcpy() sends SIGABORT with overlapping buffers on OpenBSD */
if uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))+uintptr(sz)) > uint64(pEnd) && uint64(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8))) < uint64(pEnd) {
- _sqlite3CorruptError(tls, int32(79262))
+ _sqlite3CorruptError(tls, int32(79264))
return int32(1)
}
libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*8)), libc.Uint64FromInt32(sz))
@@ -53482,7 +48471,7 @@ func _editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, p
if iOld < iNew {
nShift = _pageFreeArray(tls, pPg, iOld, iNew-iOld, pCArray)
if nShift > nCell {
- return _sqlite3CorruptError(tls, int32(79384))
+ return _sqlite3CorruptError(tls, int32(79386))
}
libc.Xmemmove(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*int32(2)), libc.Uint64FromInt32(nCell*int32(2)))
nCell -= nShift
@@ -53553,7 +48542,7 @@ editpage_fail:
;
/* Unable to edit this page. Rebuild it from scratch instead. */
if nNew < int32(1) {
- return _sqlite3CorruptError(tls, int32(79462))
+ return _sqlite3CorruptError(tls, int32(79464))
}
_populateCellCache(tls, pCArray, iNew, nNew)
return _rebuildPage(tls, pCArray, iNew, nNew, pPg)
@@ -53598,7 +48587,7 @@ func _balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintpt
_, _, _, _, _, _, _ = pBt, pOut, pStop, v1, v2, v3, v4
pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt /* Page number of pNew */
if libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
- return _sqlite3CorruptError(tls, int32(79502))
+ return _sqlite3CorruptError(tls, int32(79504))
} /* dbfuzz001.test */
/* Allocate a new page. This page will become the right-sibling of
** pPage. Make the parent page writable, so that the new divider cell
@@ -53962,7 +48951,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
** table-interior, index-leaf, or index-interior).
*/
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pOld)).FaData))) != libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer((*(*[3]uintptr)(unsafe.Pointer(bp + 8)))[0])).FaData))) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79926))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79928))
goto balance_cleanup
}
/* Load b.apCell[] with pointers to all cells in pOld. If pOld
@@ -53985,7 +48974,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
libc.Xmemset(tls, (*(*TCellArray)(unsafe.Pointer(bp + 112))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 112))).FnCell)*2, 0, uint64(2)*libc.Uint64FromInt32(limit+libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow)))
if libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow) > 0 {
if limit < libc.Int32FromUint16(*(*Tu16)(unsafe.Pointer(pOld + 28))) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79950))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79952))
goto balance_cleanup
}
limit = libc.Int32FromUint16(*(*Tu16)(unsafe.Pointer(pOld + 28)))
@@ -54116,7 +49105,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
if i+int32(1) >= k {
k = i + int32(2)
if k > libc.Int32FromInt32(NB)+libc.Int32FromInt32(2) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80051))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80053))
goto balance_cleanup
}
(*(*[5]int32)(unsafe.Pointer(bp + 72)))[k-int32(1)] = 0
@@ -54159,7 +49148,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
v10 = 0
}
if cntNew[i] <= v10 {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80084))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80086))
goto balance_cleanup
}
}
@@ -54218,7 +49207,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
v15 = 0
}
if cntNew[i-int32(1)] <= v15 {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80128))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80130))
goto balance_cleanup
}
goto _11
@@ -54250,7 +49239,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
*(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage)
nNew++
if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 216)))).FpDbPage) != int32(1)+libc.BoolInt32(i == iParentIdx-nxDiv) && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80161))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80163))
}
if *(*int32)(unsafe.Pointer(bp)) != 0 {
goto balance_cleanup
@@ -54480,7 +49469,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
}
pSrcEnd = *(*uintptr)(unsafe.Pointer(bp + 112 + 32 + uintptr(k)*8))
if uint64(pCell1) < uint64(pSrcEnd) && uint64(pCell1+uintptr(sz2)) > uint64(pSrcEnd) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80362))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80364))
goto balance_cleanup
}
*(*int32)(unsafe.Pointer(bp)) = _insertCell(tls, pParent, nxDiv+i, pCell1, sz2, pTemp1, (*TMemPage)(unsafe.Pointer(pNew2)).Fpgno)
@@ -54726,7 +49715,7 @@ func _anotherValidCursor(tls *libc.TLS, pCur uintptr) (r int32) {
break
}
if pOther != pCur && libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*TBtCursor)(unsafe.Pointer(pOther)).FpPage == (*TBtCursor)(unsafe.Pointer(pCur)).FpPage {
- return _sqlite3CorruptError(tls, int32(80594))
+ return _sqlite3CorruptError(tls, int32(80596))
}
goto _1
_1:
@@ -54799,7 +49788,7 @@ func _balance(tls *libc.TLS, pCur uintptr) (r int32) {
/* The page being written is not a root page, and there is currently
** more than one reference to it. This only happens if the page is one
** of its own ancestor pages. Corruption. */
- rc = _sqlite3CorruptError(tls, int32(80654))
+ rc = _sqlite3CorruptError(tls, int32(80656))
} else {
pParent = *(*uintptr)(unsafe.Pointer(pCur + 144 + uintptr(iPage-int32(1))*8))
iIdx = libc.Int32FromUint16(*(*Tu16)(unsafe.Pointer(pCur + 88 + uintptr(iPage-int32(1))*2)))
@@ -54958,7 +49947,7 @@ func _btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int
return rc
}
if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1) || (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
- rc = _sqlite3CorruptError(tls, int32(80818))
+ rc = _sqlite3CorruptError(tls, int32(80820))
} else {
if libc.Uint32FromInt32(iOffset)+ovflPageSize < libc.Uint32FromInt32(nTotal) {
ovflPgno = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -54989,7 +49978,7 @@ func _btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int32) {
nTotal = (*TBtreePayload)(unsafe.Pointer(pX)).FnData + (*TBtreePayload)(unsafe.Pointer(pX)).FnZero /* Total bytes of to write */
pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage /* Page being written */
if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd || (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FcellOffset) {
- return _sqlite3CorruptError(tls, int32(80846))
+ return _sqlite3CorruptError(tls, int32(80848))
}
if libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
/* The entire cell is local */
@@ -55074,7 +50063,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
** Which can only happen if the SQLITE_NoSchemaError flag was set when
** the schema was loaded. This cannot be asserted though, as a user might
** set the flag, load the schema, and then unset the flag. */
- return _sqlite3CorruptError(tls, int32(80927))
+ return _sqlite3CorruptError(tls, int32(80929))
}
}
/* Ensure that the cursor is not in the CURSOR_FAULT state and that it
@@ -55166,7 +50155,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 {
if libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FeState) > int32(CURSOR_INVALID) {
/* ^^^^^--- due to the moveToRoot() call above */
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(81050))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(81052))
} else {
*(*int32)(unsafe.Pointer(bp)) = _btreeComputeFreeSpace(tls, pPage)
}
@@ -55202,7 +50191,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
(*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0)
if *(*int32)(unsafe.Pointer(bp + 4)) == 0 {
if idx >= libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) {
- return _sqlite3CorruptError(tls, int32(81092))
+ return _sqlite3CorruptError(tls, int32(81094))
}
*(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(pPage)).FpDbPage)
if *(*int32)(unsafe.Pointer(bp)) != 0 {
@@ -55232,10 +50221,10 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */
/* clearCell never fails when nLocal==nPayload */
if oldCell < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10) {
- return _sqlite3CorruptError(tls, int32(81119))
+ return _sqlite3CorruptError(tls, int32(81121))
}
if oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 8))) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(81122))
+ return _sqlite3CorruptError(tls, int32(81124))
}
libc.Xmemcpy(tls, oldCell, newCell, libc.Uint64FromInt32(*(*int32)(unsafe.Pointer(bp + 8))))
return SQLITE_OK
@@ -55353,7 +50342,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T
nIn = uint32((*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
aIn = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
if aIn+uintptr(nIn) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(81224))
+ return _sqlite3CorruptError(tls, int32(81226))
}
nRem = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
if nIn == nRem && nIn < uint32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -55375,7 +50364,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T
}
if nRem > nIn {
if aIn+uintptr(nIn)+uintptr(4) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(81249))
+ return _sqlite3CorruptError(tls, int32(81251))
}
ovflIn = _sqlite3Get4byte(tls, (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
}
@@ -55475,21 +50464,21 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) {
return *(*int32)(unsafe.Pointer(bp))
}
} else {
- return _sqlite3CorruptError(tls, int32(81345))
+ return _sqlite3CorruptError(tls, int32(81347))
}
}
iCellDepth = int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)
iCellIdx = libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Fix)
pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage
if libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
- return _sqlite3CorruptError(tls, int32(81354))
+ return _sqlite3CorruptError(tls, int32(81356))
}
pCell = (*TMemPage)(unsafe.Pointer(pPage)).FaData + uintptr(libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FmaskPage)&(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(int32(2)*iCellIdx))))< _btreePagecount(tls, pBt) {
- return _sqlite3CorruptError(tls, int32(81568))
+ return _sqlite3CorruptError(tls, int32(81570))
}
*(*TPgno)(unsafe.Pointer(bp + 8))++
/* The new root-page may not be allocated on a pointer-map page, or the
@@ -55734,7 +50723,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
}
*(*int32)(unsafe.Pointer(bp + 12)) = _ptrmapGet(tls, pBt, *(*TPgno)(unsafe.Pointer(bp + 8)), bp+32, bp+36)
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_ROOTPAGE) || libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp + 32))) == int32(PTRMAP_FREEPAGE) {
- *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(81616))
+ *(*int32)(unsafe.Pointer(bp + 12)) = _sqlite3CorruptError(tls, int32(81618))
}
if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_OK {
_releasePage(tls, *(*uintptr)(unsafe.Pointer(bp)))
@@ -55815,14 +50804,14 @@ func _clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno TPgno, freePageFlag int
var _ /* rc at bp+8 */ int32
_, _, _, _ = hdr, i, pCell, v2
if pgno > _btreePagecount(tls, pBt) {
- return _sqlite3CorruptError(tls, int32(81706))
+ return _sqlite3CorruptError(tls, int32(81708))
}
*(*int32)(unsafe.Pointer(bp + 8)) = _getAndInitPage(tls, pBt, pgno, bp, 0)
if *(*int32)(unsafe.Pointer(bp + 8)) != 0 {
return *(*int32)(unsafe.Pointer(bp + 8))
}
if libc.Int32FromUint8((*TBtShared)(unsafe.Pointer(pBt)).FopenFlags)&int32(BTREE_SINGLE) == 0 && _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1)+libc.BoolInt32(pgno == uint32(1)) {
- *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(81713))
+ *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(81715))
goto cleardatabasepage_out
}
hdr = libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FhdrOffset)
@@ -55959,7 +50948,7 @@ func _btreeDropTable(tls *libc.TLS, p uintptr, iTable TPgno, piMoved uintptr) (r
*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
pBt = (*TBtree)(unsafe.Pointer(p)).FpBt
if iTable > _btreePagecount(tls, pBt) {
- return _sqlite3CorruptError(tls, int32(81817))
+ return _sqlite3CorruptError(tls, int32(81819))
}
*(*int32)(unsafe.Pointer(bp)) = _sqlite3BtreeClearTable(tls, p, libc.Int32FromUint32(iTable), uintptr(0))
if *(*int32)(unsafe.Pointer(bp)) != 0 {
@@ -57011,14 +52000,14 @@ func _sqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) (r int32) {
// ** blob of allocated memory. The xFree function should not call sqlite3_free()
// ** on the memory, the btree layer does that.
// */
-func _sqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) (r uintptr) {
+func _sqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, __ccgo_fp_xFree uintptr) (r uintptr) {
var pBt uintptr
_ = pBt
pBt = (*TBtree)(unsafe.Pointer(p)).FpBt
_sqlite3BtreeEnter(tls, p)
if !((*TBtShared)(unsafe.Pointer(pBt)).FpSchema != 0) && nBytes != 0 {
(*TBtShared)(unsafe.Pointer(pBt)).FpSchema = _sqlite3DbMallocZero(tls, uintptr(0), libc.Uint64FromInt32(nBytes))
- (*TBtShared)(unsafe.Pointer(pBt)).FxFreeSchema = xFree
+ (*TBtShared)(unsafe.Pointer(pBt)).FxFreeSchema = __ccgo_fp_xFree
}
_sqlite3BtreeLeave(tls, p)
return (*TBtShared)(unsafe.Pointer(pBt)).FpSchema
@@ -57229,45 +52218,6 @@ func _sqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) (r int32) {
return (*TBtShared)(unsafe.Pointer((*TBtree)(unsafe.Pointer(p)).FpBt)).FnRef
}
-/************** End of btree.c ***********************************************/
-/************** Begin file backup.c ******************************************/
-/*
-** 2009 January 28
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains the implementation of the sqlite3_backup_XXX()
-** API functions and the related features.
- */
-/* #include "sqliteInt.h" */
-/* #include "btreeInt.h" */
-
-/*
-** Structure allocated for each backup operation.
- */
-type Tsqlite3_backup1 = struct {
- FpDestDb uintptr
- FpDest uintptr
- FiDestSchema Tu32
- FbDestLocked int32
- FiNext TPgno
- FpSrcDb uintptr
- FpSrc uintptr
- Frc int32
- FnRemaining TPgno
- FnPagecount TPgno
- FisAttached int32
- FpNext uintptr
-}
-
-type sqlite3_backup1 = Tsqlite3_backup1
-
/*
** THREAD SAFETY NOTES:
**
@@ -58867,7 +53817,7 @@ func _sqlite3NoopDestructor(tls *libc.TLS, p uintptr) {
// ** Set the value stored in *pMem should already be a NULL.
// ** Also store a pointer to go with it.
// */
-func _sqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) {
+func _sqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, __ccgo_fp_xDestructor uintptr) {
var v1, v2 uintptr
_, _ = v1, v2
_vdbeMemClear(tls, pMem)
@@ -58880,8 +53830,8 @@ func _sqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType
(*TMem)(unsafe.Pointer(pMem)).Fz = pPtr
(*TMem)(unsafe.Pointer(pMem)).Fflags = libc.Uint16FromInt32(libc.Int32FromInt32(MEM_Null) | libc.Int32FromInt32(MEM_Dyn) | libc.Int32FromInt32(MEM_Subtype) | libc.Int32FromInt32(MEM_Term))
(*TMem)(unsafe.Pointer(pMem)).FeSubtype = uint8('p')
- if xDestructor != 0 {
- v2 = xDestructor
+ if __ccgo_fp_xDestructor != 0 {
+ v2 = __ccgo_fp_xDestructor
} else {
v2 = __ccgo_fp(_sqlite3NoopDestructor)
}
@@ -59040,7 +53990,7 @@ func _sqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) {
// ** excluding the first zero character. The n parameter must be
// ** non-negative for blobs.
// */
-func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc Tu8, xDel uintptr) (r int32) {
+func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc Tu8, __ccgo_fp_xDel uintptr) (r int32) {
var flags Tu16
var iLimit, v2, v4 int32
var nAlloc, nByte Ti64
@@ -59082,11 +54032,11 @@ func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc T
}
}
if nByte > int64(iLimit) {
- if xDel != 0 && xDel != uintptr(-libc.Int32FromInt32(1)) {
- if xDel == __ccgo_fp(_sqlite3OomClear) {
+ if __ccgo_fp_xDel != 0 && __ccgo_fp_xDel != uintptr(-libc.Int32FromInt32(1)) {
+ if __ccgo_fp_xDel == __ccgo_fp(_sqlite3OomClear) {
_sqlite3DbFree(tls, (*TMem)(unsafe.Pointer(pMem)).Fdb, z)
} else {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDel})))(tls, z)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDel})))(tls, z)
}
}
_sqlite3VdbeMemSetNull(tls, pMem)
@@ -59096,7 +54046,7 @@ func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc T
** also sets a flag in local variable "flags" to indicate the memory
** management (one of MEM_Dyn or MEM_Static).
*/
- if xDel == uintptr(-libc.Int32FromInt32(1)) {
+ if __ccgo_fp_xDel == uintptr(-libc.Int32FromInt32(1)) {
nAlloc = nByte
if libc.Int32FromUint16(flags)&int32(MEM_Term) != 0 {
if libc.Int32FromUint8(enc) == int32(SQLITE_UTF8) {
@@ -59118,12 +54068,12 @@ func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc T
} else {
_sqlite3VdbeMemRelease(tls, pMem)
(*TMem)(unsafe.Pointer(pMem)).Fz = z
- if xDel == __ccgo_fp(_sqlite3OomClear) {
+ if __ccgo_fp_xDel == __ccgo_fp(_sqlite3OomClear) {
(*TMem)(unsafe.Pointer(pMem)).FzMalloc = (*TMem)(unsafe.Pointer(pMem)).Fz
(*TMem)(unsafe.Pointer(pMem)).FszMalloc = _sqlite3DbMallocSize(tls, (*TMem)(unsafe.Pointer(pMem)).Fdb, (*TMem)(unsafe.Pointer(pMem)).FzMalloc)
} else {
- (*TMem)(unsafe.Pointer(pMem)).FxDel = xDel
- if xDel == libc.UintptrFromInt32(0) {
+ (*TMem)(unsafe.Pointer(pMem)).FxDel = __ccgo_fp_xDel
+ if __ccgo_fp_xDel == libc.UintptrFromInt32(0) {
v4 = int32(MEM_Static)
} else {
v4 = int32(MEM_Dyn)
@@ -59162,7 +54112,7 @@ func _sqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32
_, _ = rc, v1
(*TMem)(unsafe.Pointer(pMem)).Fflags = uint16(MEM_Null)
if _sqlite3BtreeMaxRecordSize(tls, pCur) < libc.Int64FromUint32(offset+amt) {
- return _sqlite3CorruptError(tls, int32(85115))
+ return _sqlite3CorruptError(tls, int32(85117))
}
v1 = _sqlite3VdbeMemClearAndResize(tls, pMem, libc.Int32FromUint32(amt+uint32(1)))
rc = v1
@@ -59274,8 +54224,8 @@ func _sqlite3ValueText(tls *libc.TLS, pVal uintptr, enc Tu8) (r uintptr) {
// ** TODO: Maybe someday promote this interface into a published API so
// ** that third-party extensions can get access to it?
// */
-func _sqlite3ValueIsOfClass(tls *libc.TLS, pVal uintptr, xFree uintptr) (r int32) {
- if pVal != uintptr(0) && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(libc.Int32FromInt32(MEM_Str)|libc.Int32FromInt32(MEM_Blob)) != 0 && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) != 0 && (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel == xFree {
+func _sqlite3ValueIsOfClass(tls *libc.TLS, pVal uintptr, __ccgo_fp_xFree uintptr) (r int32) {
+ if pVal != uintptr(0) && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(libc.Int32FromInt32(MEM_Str)|libc.Int32FromInt32(MEM_Blob)) != 0 && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) != 0 && (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel == __ccgo_fp_xFree {
return int32(1)
} else {
return 0
@@ -59865,7 +54815,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
}
iHdr = uint32(libc.Uint8FromInt32(v1))
if *(*Tu32)(unsafe.Pointer(bp + 4)) > libc.Uint32FromInt32(nRec) || iHdr >= *(*Tu32)(unsafe.Pointer(bp + 4)) {
- return _sqlite3CorruptError(tls, int32(85801))
+ return _sqlite3CorruptError(tls, int32(85803))
}
iField = libc.Int64FromUint32(*(*Tu32)(unsafe.Pointer(bp + 4)))
i = 0
@@ -59881,7 +54831,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
}
iHdr += uint32(libc.Uint8FromInt32(v3))
if iHdr > *(*Tu32)(unsafe.Pointer(bp + 4)) {
- return _sqlite3CorruptError(tls, int32(85807))
+ return _sqlite3CorruptError(tls, int32(85809))
}
szField = _sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp)))
iField += libc.Int64FromUint32(szField)
@@ -59891,7 +54841,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
i++
}
if iField > int64(nRec) {
- return _sqlite3CorruptError(tls, int32(85813))
+ return _sqlite3CorruptError(tls, int32(85815))
}
if pMem == uintptr(0) {
v4 = _sqlite3ValueNew(tls, db)
@@ -59942,9 +54892,9 @@ func _sqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) {
// /*
// ** Change the string value of an sqlite3_value object
// */
-func _sqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc Tu8, xDel uintptr) {
+func _sqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc Tu8, __ccgo_fp_xDel uintptr) {
if v != 0 {
- _sqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, xDel)
+ _sqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, __ccgo_fp_xDel)
}
}
@@ -60018,7 +54968,7 @@ func _sqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) (r uintptr) {
libc.Xmemset(tls, p+136, 0, libc.Uint64FromInt64(304)-uint64(libc.UintptrFromInt32(0)+136))
(*TVdbe)(unsafe.Pointer(p)).Fdb = db
if (*Tsqlite3)(unsafe.Pointer(db)).FpVdbe != 0 {
- (*TVdbe1)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpVdbe)).FppVPrev = p + 16
+ (*TVdbe)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpVdbe)).FppVPrev = p + 16
}
(*TVdbe)(unsafe.Pointer(p)).FpVNext = (*Tsqlite3)(unsafe.Pointer(db)).FpVdbe
(*TVdbe)(unsafe.Pointer(p)).FppVPrev = db + 8
@@ -62142,7 +57092,7 @@ func _sqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) {
// ** or SQLITE_TRANSIENT. If it is SQLITE_DYNAMIC, then the buffer pointed
// ** to by zName will be freed by sqlite3DbFree() when the vdbe is destroyed.
// */
-func _sqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) (r int32) {
+func _sqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, __ccgo_fp_xDel uintptr) (r int32) {
var pColName uintptr
var rc int32
_, _ = pColName, rc
@@ -62150,7 +57100,7 @@ func _sqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zNa
return int32(SQLITE_NOMEM)
}
pColName = (*TVdbe)(unsafe.Pointer(p)).FaColName + uintptr(idx+var1*libc.Int32FromUint16((*TVdbe)(unsafe.Pointer(p)).FnResAlloc))*56
- rc = _sqlite3VdbeMemSetStr(tls, pColName, zName, int64(-int32(1)), uint8(SQLITE_UTF8), xDel)
+ rc = _sqlite3VdbeMemSetStr(tls, pColName, zName, int64(-int32(1)), uint8(SQLITE_UTF8), __ccgo_fp_xDel)
return rc
}
@@ -62977,7 +57927,7 @@ func _sqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) (r int32) {
return rc
}
if *(*int32)(unsafe.Pointer(bp)) != 0 {
- return _sqlite3CorruptError(tls, int32(89694))
+ return _sqlite3CorruptError(tls, int32(89696))
}
(*TVdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = uint8(0)
(*TVdbeCursor)(unsafe.Pointer(p)).FcacheStatus = uint32(CACHE_STALE)
@@ -63825,7 +58775,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
i = 0
}
if d1 > libc.Uint32FromInt32(nKey1) {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90653)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90655)))
return 0 /* Corruption */
}
/* Only needed by assert() statements */
@@ -63915,7 +58865,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
pKeyInfo = v4
}
if v5 || libc.Int32FromUint16((*TKeyInfo)(unsafe.Pointer(v4)).FnAllField) <= i {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90734)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90736)))
return 0 /* Corruption */
} else {
if *(*uintptr)(unsafe.Pointer(pKeyInfo + 32 + uintptr(i)*8)) != 0 {
@@ -63950,7 +58900,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
} else {
nStr = libc.Int32FromUint32((*(*Tu32)(unsafe.Pointer(bp + 68)) - uint32(12)) / uint32(2))
if d1+libc.Uint32FromInt32(nStr) > libc.Uint32FromInt32(nKey1) {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90764)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90766)))
return 0 /* Corruption */
} else {
if libc.Int32FromUint16((*TMem)(unsafe.Pointer(pRhs)).Fflags)&int32(MEM_Zero) != 0 {
@@ -64004,7 +58954,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
}
idx1 += libc.Uint32FromInt32(_sqlite3VarintLen(tls, uint64(*(*Tu32)(unsafe.Pointer(bp + 68)))))
if idx1 >= *(*Tu32)(unsafe.Pointer(bp)) {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90815)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90817)))
return 0 /* Corrupt index */
}
}
@@ -64136,7 +59086,7 @@ vrcs_restart:
szHdr = libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(aKey1)))
nStr = (*(*int32)(unsafe.Pointer(bp)) - int32(12)) / int32(2)
if szHdr+nStr > nKey1 {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90978)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90980)))
return 0 /* Corruption */
}
if (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).Fn < nStr {
@@ -64288,7 +59238,7 @@ func _sqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr
idx_rowid_corruption:
;
_sqlite3VdbeMemReleaseMalloc(tls, bp+8)
- return _sqlite3CorruptError(tls, int32(91136))
+ return _sqlite3CorruptError(tls, int32(91138))
}
// C documentation
@@ -64319,7 +59269,7 @@ func _sqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
** that btreeParseCellPtr() and sqlite3GetVarint32() are implemented */
if nCellKey <= 0 || nCellKey > int64(0x7fffffff) {
*(*int32)(unsafe.Pointer(res)) = 0
- return _sqlite3CorruptError(tls, int32(91169))
+ return _sqlite3CorruptError(tls, int32(91171))
}
_sqlite3VdbeMemInit(tls, bp, db, uint16(0))
rc = _sqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, libc.Uint32FromInt64(nCellKey), bp)
@@ -64736,7 +59686,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) (r int32) {
v = pStmt
db = (*TVdbe)(unsafe.Pointer(v)).Fdb
if _vdbeSafety(tls, v) != 0 {
- return _sqlite3MisuseError(tls, int32(91567))
+ return _sqlite3MisuseError(tls, int32(91569))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if (*TVdbe)(unsafe.Pointer(v)).FstartTime > 0 {
@@ -65063,12 +60013,12 @@ func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) {
// ** The invokeValueDestructor(P,X) routine invokes destructor function X()
// ** on value P if P is not going to be used and need to be destroyed.
// */
-func _setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc Tu8, xDel uintptr) {
+func _setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc Tu8, __ccgo_fp_xDel uintptr) {
var pOut uintptr
var rc int32
_, _ = pOut, rc
pOut = (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut
- rc = _sqlite3VdbeMemSetStr(tls, pOut, z, int64(n), enc, xDel)
+ rc = _sqlite3VdbeMemSetStr(tls, pOut, z, int64(n), enc, __ccgo_fp_xDel)
if rc != 0 {
if rc == int32(SQLITE_TOOBIG) {
Xsqlite3_result_error_toobig(tls, pCtx)
@@ -65085,29 +60035,33 @@ func _setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc T
}
}
-func _invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) (r int32) {
- if xDel == uintptr(0) {
+func _invokeValueDestructor(tls *libc.TLS, p uintptr, __ccgo_fp_xDel uintptr, pCtx uintptr) (r int32) {
+ if __ccgo_fp_xDel == uintptr(0) {
/* noop */
} else {
- if xDel == uintptr(-libc.Int32FromInt32(1)) {
+ if __ccgo_fp_xDel == uintptr(-libc.Int32FromInt32(1)) {
/* noop */
} else {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDel})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDel})))(tls, p)
}
}
Xsqlite3_result_error_toobig(tls, pCtx)
return int32(SQLITE_TOOBIG)
}
-func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, n, uint8(0), xDel)
+type t__ccgo_fp__Xsqlite3_result_blob_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, n, uint8(0), __ccgo_fp_xDel)
}
-func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, xDel uintptr) {
+type t__ccgo_fp__Xsqlite3_result_blob64_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, __ccgo_fp_xDel uintptr) {
if n > uint64(0x7fffffff) {
- _invokeValueDestructor(tls, z, xDel, pCtx)
+ _invokeValueDestructor(tls, z, __ccgo_fp_xDel, pCtx)
} else {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), uint8(0), xDel)
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), uint8(0), __ccgo_fp_xDel)
}
}
@@ -65137,13 +60091,15 @@ func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) {
_sqlite3VdbeMemSetNull(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut)
}
-func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) {
+type t__ccgo_fp__Xsqlite3_result_pointer_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, __ccgo_fp_xDestructor uintptr) {
var pOut uintptr
_ = pOut
pOut = (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut
_sqlite3VdbeMemRelease(tls, pOut)
(*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Null)
- _sqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, xDestructor)
+ _sqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, __ccgo_fp_xDestructor)
}
func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) {
@@ -65155,11 +60111,15 @@ func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) {
*(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromInt32(MEM_Subtype))
}
-func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), xDel)
+type t__ccgo_fp__Xsqlite3_result_text_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), __ccgo_fp_xDel)
}
-func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, xDel uintptr, enc uint8) {
+type t__ccgo_fp__Xsqlite3_result_text64_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, __ccgo_fp_xDel uintptr, enc uint8) {
if libc.Int32FromUint8(enc) != int32(SQLITE_UTF8) {
if libc.Int32FromUint8(enc) == int32(SQLITE_UTF16) {
enc = uint8(SQLITE_UTF16LE)
@@ -65167,23 +60127,29 @@ func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_u
n &= ^libc.Uint64FromInt32(1)
}
if n > uint64(0x7fffffff) {
- _invokeValueDestructor(tls, z, xDel, pCtx)
+ _invokeValueDestructor(tls, z, __ccgo_fp_xDel, pCtx)
} else {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), enc, xDel)
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), enc, __ccgo_fp_xDel)
_sqlite3VdbeMemZeroTerminateIfAble(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut)
}
}
-func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), xDel)
+type t__ccgo_fp__Xsqlite3_result_text16_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), __ccgo_fp_xDel)
}
-func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16BE), xDel)
+type t__ccgo_fp__Xsqlite3_result_text16be_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16BE), __ccgo_fp_xDel)
}
-func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), xDel)
+type t__ccgo_fp__Xsqlite3_result_text16le_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), __ccgo_fp_xDel)
}
func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) {
@@ -65440,7 +60406,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) (r int32) {
v = pStmt /* the prepared statement */
cnt = 0 /* The database connection */
if _vdbeSafetyNotNull(tls, v) != 0 {
- return _sqlite3MisuseError(tls, int32(92361))
+ return _sqlite3MisuseError(tls, int32(92363))
}
db = (*TVdbe)(unsafe.Pointer(v)).Fdb
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -65570,7 +60536,7 @@ func _valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32
_, _, _, _, _, _, _ = iOff, pOut, pRhs, rc, sz, zBuf, v1
*(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0)
if pVal == uintptr(0) {
- return _sqlite3MisuseError(tls, int32(92482))
+ return _sqlite3MisuseError(tls, int32(92484))
}
if libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) == 0 || (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel != __ccgo_fp(_sqlite3VdbeValueListFree) {
return int32(SQLITE_ERROR)
@@ -65739,6 +60705,8 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) (r uintptr) {
return uintptr(0)
}
+type t__ccgo_fp__Xsqlite3_set_auxdata_3 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
@@ -65752,7 +60720,7 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) (r uintptr) {
// ** to all functions within the current prepared statement using iArg as an
// ** access code.
// */
-func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, xDelete uintptr) {
+func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, __ccgo_fp_xDelete uintptr) {
var pAuxData, pVdbe uintptr
_, _ = pAuxData, pVdbe
pVdbe = (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe
@@ -65790,13 +60758,13 @@ func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr,
}
}
(*TAuxData)(unsafe.Pointer(pAuxData)).FpAux = pAux
- (*TAuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux = xDelete
+ (*TAuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux = __ccgo_fp_xDelete
return
goto failed
failed:
;
- if xDelete != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDelete})))(tls, pAux)
+ if __ccgo_fp_xDelete != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDelete})))(tls, pAux)
}
}
@@ -66296,14 +61264,14 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) {
var v2 bool
_, _, _ = pVar, v1, v2
if _vdbeSafetyNotNull(tls, p) != 0 {
- return _sqlite3MisuseError(tls, int32(93098))
+ return _sqlite3MisuseError(tls, int32(93100))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
if libc.Int32FromUint8((*TVdbe)(unsafe.Pointer(p)).FeVdbeState) != int32(VDBE_READY_STATE) {
- _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(93102)))
+ _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(93104)))
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5615, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql))
- return _sqlite3MisuseError(tls, int32(93106))
+ return _sqlite3MisuseError(tls, int32(93108))
}
if i >= libc.Uint32FromInt16((*TVdbe)(unsafe.Pointer(p)).FnVar) {
_sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, int32(SQLITE_RANGE))
@@ -66341,7 +61309,7 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) {
// /*
// ** Bind a text or BLOB value.
// */
-func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64, xDel uintptr, encoding Tu8) (r int32) {
+func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64, __ccgo_fp_xDel uintptr, encoding Tu8) (r int32) {
var p, pVar uintptr
var rc int32
_, _, _ = p, pVar, rc
@@ -66351,7 +61319,7 @@ func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64,
/* tag-20240917-01 */
if zData != uintptr(0) {
pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr(i-int32(1))*56
- rc = _sqlite3VdbeMemSetStr(tls, pVar, zData, nData, encoding, xDel)
+ rc = _sqlite3VdbeMemSetStr(tls, pVar, zData, nData, encoding, __ccgo_fp_xDel)
if rc == SQLITE_OK && libc.Int32FromUint8(encoding) != 0 {
rc = _sqlite3VdbeChangeEncoding(tls, pVar, libc.Int32FromUint8((*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fenc))
}
@@ -66362,24 +61330,28 @@ func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64,
}
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
} else {
- if xDel != libc.UintptrFromInt32(0) && xDel != uintptr(-libc.Int32FromInt32(1)) {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDel})))(tls, zData)
+ if __ccgo_fp_xDel != libc.UintptrFromInt32(0) && __ccgo_fp_xDel != uintptr(-libc.Int32FromInt32(1)) {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDel})))(tls, zData)
}
}
return rc
}
+type t__ccgo_fp__Xsqlite3_bind_blob_4 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Bind a blob value to an SQL statement variable.
// */
-func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0))
+func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, int64(nData), __ccgo_fp_xDel, uint8(0))
}
-func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), xDel, uint8(0))
+type t__ccgo_fp__Xsqlite3_bind_blob64_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), __ccgo_fp_xDel, uint8(0))
}
func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) (r int32) {
@@ -66427,7 +61399,9 @@ func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) (r int32) {
return rc
}
-func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) (r int32) {
+type t__ccgo_fp__Xsqlite3_bind_pointer_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
var p uintptr
var rc int32
_, _ = p, rc
@@ -66435,32 +61409,38 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr,
rc = _vdbeUnbind(tls, p, libc.Uint32FromInt32(i-libc.Int32FromInt32(1)))
if rc == SQLITE_OK {
/* tag-20240917-01 */
- _sqlite3VdbeMemSetPointer(tls, (*TVdbe)(unsafe.Pointer(p)).FaVar+uintptr(i-int32(1))*56, pPtr, zPTtype, xDestructor)
+ _sqlite3VdbeMemSetPointer(tls, (*TVdbe)(unsafe.Pointer(p)).FaVar+uintptr(i-int32(1))*56, pPtr, zPTtype, __ccgo_fp_xDestructor)
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
} else {
- if xDestructor != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestructor})))(tls, pPtr)
+ if __ccgo_fp_xDestructor != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestructor})))(tls, pPtr)
}
}
return rc
}
-func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF8))
+type t__ccgo_fp__Xsqlite3_bind_text_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, int64(nData), __ccgo_fp_xDel, uint8(SQLITE_UTF8))
}
-func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, xDel uintptr, enc uint8) (r int32) {
+type t__ccgo_fp__Xsqlite3_bind_text64_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, __ccgo_fp_xDel uintptr, enc uint8) (r int32) {
if libc.Int32FromUint8(enc) != int32(SQLITE_UTF8) {
if libc.Int32FromUint8(enc) == int32(SQLITE_UTF16) {
enc = uint8(SQLITE_UTF16LE)
}
nData &= ^libc.Uint64FromInt32(1)
}
- return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), xDel, enc)
+ return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), __ccgo_fp_xDel, enc)
}
-func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, n int32, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), xDel, uint8(SQLITE_UTF16LE))
+type t__ccgo_fp__Xsqlite3_bind_text16_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, n int32, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), __ccgo_fp_xDel, uint8(SQLITE_UTF16LE))
}
func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) (r int32) {
@@ -66877,7 +61857,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
/* Test that this call is being made from within an SQLITE_DELETE or
** SQLITE_UPDATE pre-update callback, and that iIdx is within range. */
if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_INSERT) {
- rc = _sqlite3MisuseError(tls, int32(93649))
+ rc = _sqlite3MisuseError(tls, int32(93651))
goto preupdate_old_out
}
if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 {
@@ -66939,7 +61919,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
})(unsafe.Pointer((*TPreUpdate)(unsafe.Pointer(p)).FpTab + 64))).FpDfltList + 8 + uintptr(libc.Int32FromUint16((*TColumn)(unsafe.Pointer(pCol)).FiDflt)-int32(1))*32))).FpExpr
rc = _sqlite3ValueFromExpr(tls, db, pDflt, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, (*TColumn)(unsafe.Pointer(pCol)).Faffinity, bp)
if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
- rc = _sqlite3CorruptError(tls, int32(93708))
+ rc = _sqlite3CorruptError(tls, int32(93710))
}
*(*uintptr)(unsafe.Pointer((*TPreUpdate)(unsafe.Pointer(p)).FapDflt + uintptr(iIdx)*8)) = *(*uintptr)(unsafe.Pointer(bp))
}
@@ -67040,7 +62020,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
iStore = 0
p = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdate
if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_DELETE) {
- rc = _sqlite3MisuseError(tls, int32(93804))
+ rc = _sqlite3MisuseError(tls, int32(93806))
goto preupdate_new_out
}
if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 && (*TPreUpdate)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) {
@@ -70401,7 +65381,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
pOp = aOp + uintptr((*(*TOp)(unsafe.Pointer(aOp))).Fp3-int32(1))*24
goto _187
} else {
- rc = _sqlite3CorruptError(tls, int32(97568))
+ rc = _sqlite3CorruptError(tls, int32(97570))
goto abort_due_to_error
}
/* Opcode: TypeCheck P1 P2 P3 P4 *
@@ -72311,7 +67291,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
** into an integer without loss of information. Take care to avoid
** changing the datatype of pIn3, however, as it is used by other
** parts of the prepared statement. */
- *(*Tsqlite3_value1)(unsafe.Pointer(bp + 256)) = *(*TMem)(unsafe.Pointer(pIn3))
+ *(*Tsqlite3_value)(unsafe.Pointer(bp + 256)) = *(*TMem)(unsafe.Pointer(pIn3))
_applyAffinity(tls, bp+256, uint8(SQLITE_AFF_NUMERIC), encoding)
if libc.Int32FromUint16((*(*TMem)(unsafe.Pointer(bp + 256))).Fflags)&int32(MEM_Int) == 0 {
goto jump_to_p2
@@ -72338,7 +67318,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
(*TVdbeCursor)(unsafe.Pointer(pC10)).FseekResult = *(*int32)(unsafe.Pointer(bp + 248))
if *(*int32)(unsafe.Pointer(bp + 248)) != 0 {
if (*TOp)(unsafe.Pointer(pOp)).Fp2 == 0 {
- rc = _sqlite3CorruptError(tls, int32(99829))
+ rc = _sqlite3CorruptError(tls, int32(99831))
} else {
goto jump_to_p2
}
@@ -73230,7 +68210,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
}
} else {
if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 && !(_sqlite3WritableSchema(tls, db) != 0) {
- rc = _sqlite3ReportError(tls, libc.Int32FromInt32(SQLITE_CORRUPT)|libc.Int32FromInt32(3)< int64(0x7fffffff) {
- rc = _sqlite3CorruptError(tls, int32(101126))
+ rc = _sqlite3CorruptError(tls, int32(101128))
goto abort_due_to_error
}
_sqlite3VdbeMemInit(tls, bp+552, db, uint16(0))
@@ -73612,7 +68592,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
/* The OP_ParseSchema opcode with a non-NULL P4 argument should parse
** at least one SQL statement. Any less than that indicates that
** the sqlite_schema table is corrupt. */
- rc = _sqlite3CorruptError(tls, int32(101419))
+ rc = _sqlite3CorruptError(tls, int32(101421))
}
_sqlite3DbFreeNN(tls, db, zSql)
(*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0)
@@ -75263,7 +70243,7 @@ abort_due_to_error:
rc = int32(SQLITE_NOMEM)
} else {
if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(33)< Banana
-** aReadr[1] -> Feijoa
-** aReadr[2] -> Elderberry
-** aReadr[3] -> Currant
-** aReadr[4] -> Grapefruit
-** aReadr[5] -> Apple
-** aReadr[6] -> Durian
-** aReadr[7] -> EOF
-**
-** aTree[] = { X, 5 0, 5 0, 3, 5, 6 }
-**
-** The current element is "Apple" (the value of the key indicated by
-** PmaReader 5). When the Next() operation is invoked, PmaReader 5 will
-** be advanced to the next key in its segment. Say the next key is
-** "Eggplant":
-**
-** aReadr[5] -> Eggplant
-**
-** The contents of aTree[] are updated first by comparing the new PmaReader
-** 5 key to the current key of PmaReader 4 (still "Grapefruit"). The PmaReader
-** 5 value is still smaller, so aTree[6] is set to 5. And so on up the tree.
-** The value of PmaReader 6 - "Durian" - is now smaller than that of PmaReader
-** 5, so aTree[3] is set to 6. Key 0 is smaller than key 6 (Bananafile2. And instead of using a
-** background thread to prepare data for the PmaReader, with a single
-** threaded IncrMerger the allocate part of pTask->file2 is "refilled" with
-** keys from pMerger by the calling thread whenever the PmaReader runs out
-** of data.
- */
-type TIncrMerger1 = struct {
- FpTask uintptr
- FpMerger uintptr
- FiStartOff Ti64
- FmxSz int32
- FbEof int32
- FbUseThread int32
- FaFile [2]TSorterFile
-}
-
-type IncrMerger1 = TIncrMerger1
-
-/*
-** An instance of this object is used for writing a PMA.
-**
-** The PMA is written one record at a time. Each record is of an arbitrary
-** size. But I/O is more efficient if it occurs in page-sized blocks where
-** each block is aligned on a page boundary. This object caches writes to
-** the PMA so that aligned, page-size blocks are written.
- */
-type TPmaWriter1 = struct {
- FeFWErr int32
- FaBuffer uintptr
- FnBuffer int32
- FiBufStart int32
- FiBufEnd int32
- FiWriteOff Ti64
- FpFd uintptr
-}
-
-type PmaWriter1 = TPmaWriter1
-
-/*
-** This object is the header on a single record while that record is being
-** held in memory and prior to being written out as part of a PMA.
-**
-** How the linked list is connected depends on how memory is being managed
-** by this module. If using a separate allocation for each in-memory record
-** (VdbeSorter.list.aMemory==0), then the list is always connected using the
-** SorterRecord.u.pNext pointers.
-**
-** Or, if using the single large allocation method (VdbeSorter.list.aMemory!=0),
-** then while records are being accumulated the list is linked using the
-** SorterRecord.u.iNext offset. This is because the aMemory[] array may
-** be sqlite3Realloc()ed while records are being accumulated. Once the VM
-** has finished passing records to the sorter, or when the in-memory buffer
-** is full, the list is sorted. As part of the sorting process, it is
-** converted to use the SorterRecord.u.pNext pointers. See function
-** vdbeSorterSort() for details.
- */
-type TSorterRecord1 = struct {
- FnVal int32
- Fu struct {
- FiNext [0]int32
- FpNext uintptr
- }
-}
-
-type SorterRecord1 = TSorterRecord1
-
// C documentation
//
// /*
@@ -76665,7 +71366,7 @@ func _vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr)
rc = SQLITE_OK
if (*TSorterFile)(unsafe.Pointer(pFile)).FiEof <= int64((*Tsqlite3)(unsafe.Pointer((*TVdbeSorter)(unsafe.Pointer((*TSortSubtask)(unsafe.Pointer(pTask)).FpSorter)).Fdb)).FnMaxSorterMmap) {
pFd = (*TSorterFile)(unsafe.Pointer(pFile)).FpFd
- if (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
+ if (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
rc = _sqlite3OsFetch(tls, pFd, 0, int32((*TSorterFile)(unsafe.Pointer(pFile)).FiEof), pp)
}
}
@@ -77156,8 +71857,8 @@ func _vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) (r int32) {
// /*
// ** Launch a background thread to run xTask(pIn).
// */
-func _vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) (r int32) {
- return _sqlite3ThreadCreate(tls, pTask, xTask, pIn)
+func _vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, __ccgo_fp_xTask uintptr, pIn uintptr) (r int32) {
+ return _sqlite3ThreadCreate(tls, pTask, __ccgo_fp_xTask, pIn)
}
// C documentation
@@ -77352,7 +72053,7 @@ func _vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, _nByte Ti64)
*(*Ti64)(unsafe.Pointer(bp)) = _nByte
var _ /* chunksize at bp+16 */ int32
var _ /* p at bp+8 */ uintptr
- if *(*Ti64)(unsafe.Pointer(bp)) <= int64((*Tsqlite3)(unsafe.Pointer(db)).FnMaxSorterMmap) && (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
+ if *(*Ti64)(unsafe.Pointer(bp)) <= int64((*Tsqlite3)(unsafe.Pointer(db)).FnMaxSorterMmap) && (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
*(*int32)(unsafe.Pointer(bp + 16)) = libc.Int32FromInt32(4) * libc.Int32FromInt32(1024)
_sqlite3OsFileControlHint(tls, pFd, int32(SQLITE_FCNTL_CHUNK_SIZE), bp+16)
@@ -79004,57 +73705,6 @@ type TFileChunk = struct {
type FileChunk = TFileChunk
-/*
-** The rollback journal is composed of a linked list of these structures.
-**
-** The zChunk array is always at least 8 bytes in size - usually much more.
-** Its actual size is stored in the MemJournal.nChunkSize variable.
- */
-type TFileChunk1 = struct {
- FpNext uintptr
- FzChunk [8]Tu8
-}
-
-type FileChunk1 = TFileChunk1
-
-/*
-** By default, allocate this many bytes of memory for each FileChunk object.
- */
-
-/*
-** For chunk size nChunkSize, return the number of bytes that should
-** be allocated for each FileChunk structure.
- */
-
-/*
-** An instance of this object serves as a cursor into the rollback journal.
-** The cursor can be either for reading or writing.
- */
-type TFilePoint1 = struct {
- FiOffset Tsqlite3_int64
- FpChunk uintptr
-}
-
-type FilePoint1 = TFilePoint1
-
-/*
-** This structure is a subclass of sqlite3_file. Each open memory-journal
-** is an instance of this class.
- */
-type TMemJournal1 = struct {
- FpMethod uintptr
- FnChunkSize int32
- FnSpill int32
- FpFirst uintptr
- Fendpoint TFilePoint
- Freadpoint TFilePoint
- Fflags int32
- FpVfs uintptr
- FzJournal uintptr
-}
-
-type MemJournal1 = TMemJournal1
-
// C documentation
//
// /*
@@ -79351,7 +74001,7 @@ func _memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) (r int32) {
// /*
// ** Table of methods for MemJournal sqlite3_file object.
// */
-var _MemJournalMethods = Tsqlite3_io_methods1{
+var _MemJournalMethods = Tsqlite3_io_methods{
FiVersion: int32(1),
}
@@ -83815,12 +78465,6 @@ type TEdupBuf = struct {
type EdupBuf = TEdupBuf
-type TEdupBuf1 = struct {
- FzAlloc uintptr
-}
-
-type EdupBuf1 = TEdupBuf1
-
// C documentation
//
// /*
@@ -87397,6 +82041,11 @@ expr_code_doover:
case int32(TK_STRING):
_sqlite3VdbeLoadString(tls, v, target, *(*uintptr)(unsafe.Pointer(pExpr + 8)))
return target
+ case int32(TK_NULLS):
+ /* Set a range of registers to NULL. pExpr->y.nReg registers starting
+ ** with target */
+ _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, target, target+*(*int32)(unsafe.Pointer(&(*TExpr)(unsafe.Pointer(pExpr)).Fy))-int32(1))
+ return target
default:
/* Make NULL the default case so that if a bug causes an illegal
** Expr node to be passed into this function, it will be handled
@@ -87934,6 +82583,27 @@ func _sqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, r
return regDest
}
+// C documentation
+//
+// /*
+// ** Make arrangements to invoke OP_Null on a range of registers
+// ** during initialization.
+// */
+func _sqlite3ExprNullRegisterRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) {
+ bp := tls.Alloc(80)
+ defer tls.Free(80)
+ var okConstFactor Tu8
+ var _ /* t at bp+0 */ TExpr
+ _ = okConstFactor
+ okConstFactor = libc.Uint8FromInt32(int32(Tbft(*(*uint8)(unsafe.Pointer(pParse + 44)) & 0x4 >> 2)))
+ libc.Xmemset(tls, bp, 0, uint64(72))
+ (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_NULLS)
+ *(*int32)(unsafe.Pointer(bp + 64)) = nReg
+ libc.SetBitFieldPtr8Uint32(pParse+44, libc.Uint32FromInt32(1), 2, 0x4)
+ _sqlite3ExprCodeRunJustOnce(tls, pParse, bp, iReg)
+ libc.SetBitFieldPtr8Uint32(pParse+44, uint32(okConstFactor), 2, 0x4)
+}
+
// C documentation
//
// /*
@@ -88140,7 +82810,7 @@ func _sqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, targ
// **
// ** The jumpIfNull parameter is ignored if xJumpIf is NULL.
// */
-func _exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) {
+func _exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, __ccgo_fp_xJump uintptr, jumpIfNull int32) {
bp := tls.Alloc(224)
defer tls.Free(224)
var db, pDel uintptr
@@ -88167,8 +82837,8 @@ func _exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32,
(*(*TExpr)(unsafe.Pointer(bp + 144))).FpLeft = pDel
(*(*TExpr)(unsafe.Pointer(bp + 144))).FpRight = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32)) + 8 + 1*32))).FpExpr
_sqlite3ExprToRegister(tls, pDel, _exprCodeVector(tls, pParse, pDel, bp+216))
- if xJump != 0 {
- (*(*func(*libc.TLS, uintptr, uintptr, int32, int32))(unsafe.Pointer(&struct{ uintptr }{xJump})))(tls, pParse, bp, dest, jumpIfNull)
+ if __ccgo_fp_xJump != 0 {
+ (*(*func(*libc.TLS, uintptr, uintptr, int32, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xJump})))(tls, pParse, bp, dest, jumpIfNull)
} else {
/* Mark the expression is being from the ON or USING clause of a join
** so that the sqlite3ExprCodeTarget() routine will not attempt to move
@@ -90583,31 +85253,6 @@ exit_rename_column:
return
}
-/*
-** Each RenameToken object maps an element of the parse tree into
-** the token that generated that element. The parse tree element
-** might be one of:
-**
-** * A pointer to an Expr that represents an ID
-** * The name of a table column in Column.zName
-**
-** A list of RenameToken objects can be constructed during parsing.
-** Each new object is created by sqlite3RenameTokenMap().
-** As the parse tree is transformed, the sqlite3RenameTokenRemap()
-** routine is used to keep the mapping current.
-**
-** After the parse finishes, renameTokenFind() routine can be used
-** to look up the actual token value that created some element in
-** the parse tree.
- */
-type TRenameToken1 = struct {
- Fp uintptr
- Ft TToken
- FpNext uintptr
-}
-
-type RenameToken1 = TRenameToken1
-
// C documentation
//
// /*
@@ -90624,16 +85269,6 @@ type TRenameCtx = struct {
type RenameCtx = TRenameCtx
-type TRenameCtx1 = struct {
- FpList uintptr
- FnList int32
- FiCol int32
- FpTab uintptr
- FzOld uintptr
-}
-
-type RenameCtx1 = TRenameCtx1
-
// C documentation
//
// /*
@@ -90936,9 +85571,9 @@ func _renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr)
pToken = *(*uintptr)(unsafe.Pointer(pp))
if pCtx != 0 {
*(*uintptr)(unsafe.Pointer(pp)) = (*TRenameToken)(unsafe.Pointer(pToken)).FpNext
- (*TRenameToken)(unsafe.Pointer(pToken)).FpNext = (*TRenameCtx1)(unsafe.Pointer(pCtx)).FpList
- (*TRenameCtx1)(unsafe.Pointer(pCtx)).FpList = pToken
- (*TRenameCtx1)(unsafe.Pointer(pCtx)).FnList++
+ (*TRenameToken)(unsafe.Pointer(pToken)).FpNext = (*TRenameCtx)(unsafe.Pointer(pCtx)).FpList
+ (*TRenameCtx)(unsafe.Pointer(pCtx)).FpList = pToken
+ (*TRenameCtx)(unsafe.Pointer(pCtx)).FnList++
}
return pToken
}
@@ -91132,7 +85767,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin
return int32(SQLITE_NOMEM)
}
if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11470, int32(7)) != 0 {
- return _sqlite3CorruptError(tls, int32(118888))
+ return _sqlite3CorruptError(tls, int32(118915))
}
if bTemp != 0 {
(*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(1)
@@ -91151,7 +85786,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin
rc = int32(SQLITE_NOMEM)
}
if rc == SQLITE_OK && ((*TParse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
- rc = _sqlite3CorruptError(tls, int32(118909))
+ rc = _sqlite3CorruptError(tls, int32(118936))
}
(*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(0)
return rc
@@ -92215,7 +86850,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr
pTab = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable
if pTab == uintptr(0) || int32((*TTable)(unsafe.Pointer(pTab)).FnCol) == int32(1) || iCol >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) {
/* This can happen if the sqlite_schema table is corrupt */
- rc = _sqlite3CorruptError(tls, int32(119877))
+ rc = _sqlite3CorruptError(tls, int32(119904))
goto drop_column_done
}
pCol = _renameTokenFind(tls, bp, uintptr(0), (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*16))).FzCnName)
@@ -92769,44 +87404,6 @@ type TStatSample = struct {
type StatSample = TStatSample
-type TStatSample1 = struct {
- FanDLt uintptr
- FanEq uintptr
- FanLt uintptr
- Fu struct {
- FaRowid [0]uintptr
- FiRowid Ti64
- }
- FnRowid Tu32
- FisPSample Tu8
- FiCol int32
- FiHash Tu32
-}
-
-type StatSample1 = TStatSample1
-
-type TStatAccum1 = struct {
- Fdb uintptr
- FnEst TtRowcnt
- FnRow TtRowcnt
- FnLimit int32
- FnCol int32
- FnKeyCol int32
- FnSkipAhead Tu8
- Fcurrent TStatSample
- FnPSample TtRowcnt
- FmxSample int32
- FiPrn Tu32
- FaBest uintptr
- FiMin int32
- FnSample int32
- FnMaxEqZero int32
- FiGet int32
- Fa uintptr
-}
-
-type StatAccum1 = TStatAccum1
-
// C documentation
//
// /* Reclaim memory used by a StatSample
@@ -94097,13 +88694,6 @@ type TanalysisInfo = struct {
type analysisInfo = TanalysisInfo
-type TanalysisInfo1 = struct {
- Fdb uintptr
- FzDatabase uintptr
-}
-
-type analysisInfo1 = TanalysisInfo1
-
// C documentation
//
// /*
@@ -95302,6 +89892,8 @@ func _sqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) (r int32
return 0
}
+type t__ccgo_fp__Xsqlite3_set_authorizer_1 = func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32
+
/************** End of attach.c **********************************************/
/************** Begin file auth.c ********************************************/
/*
@@ -95374,9 +89966,9 @@ func _sqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) (r int32
// ** Setting the auth function to NULL disables this hook. The default
// ** setting of the auth function is NULL.
// */
-func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uintptr) (r int32) {
+func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, __ccgo_fp_xAuth uintptr, pArg uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = xAuth
+ (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = __ccgo_fp_xAuth
(*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg = pArg
if (*Tsqlite3)(unsafe.Pointer(db)).FxAuth != 0 {
_sqlite3ExpirePreparedStatements(tls, db, int32(1))
@@ -95556,47 +90148,6 @@ func _sqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) {
}
}
-/************** End of auth.c ************************************************/
-/************** Begin file build.c *******************************************/
-/*
-** 2001 September 15
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains C code routines that are called by the SQLite parser
-** when syntax rules are reduced. The routines in this file handle the
-** following kinds of SQL syntax:
-**
-** CREATE TABLE
-** DROP TABLE
-** CREATE INDEX
-** DROP INDEX
-** creating ID lists
-** BEGIN TRANSACTION
-** COMMIT
-** ROLLBACK
- */
-/* #include "sqliteInt.h" */
-
-/*
-** The TableLock structure is only used by the sqlite3TableLock() and
-** codeTableLocks() functions.
- */
-type TTableLock1 = struct {
- FiDb int32
- FiTab TPgno
- FisWriteLock Tu8
- FzLockName uintptr
-}
-
-type TableLock1 = TTableLock1
-
// C documentation
//
// /*
@@ -96224,9 +90775,9 @@ func _sqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) {
break
}
pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32
- if (*TDb1)(unsafe.Pointer(pDb)).FpBt == uintptr(0) {
- _sqlite3DbFree(tls, db, (*TDb1)(unsafe.Pointer(pDb)).FzDbSName)
- (*TDb1)(unsafe.Pointer(pDb)).FzDbSName = uintptr(0)
+ if (*TDb)(unsafe.Pointer(pDb)).FpBt == uintptr(0) {
+ _sqlite3DbFree(tls, db, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)
+ (*TDb)(unsafe.Pointer(pDb)).FzDbSName = uintptr(0)
goto _1
}
if j < i {
@@ -100472,7 +95023,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u
(*TIndex)(unsafe.Pointer(pIndex)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum
if _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 {
_sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14727, 0)
- (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(127355))
+ (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(127382))
goto exit_create_index
}
}
@@ -105911,17 +100462,6 @@ type TSumCtx = struct {
type SumCtx = TSumCtx
-type TSumCtx1 = struct {
- FrSum float64
- FrErr float64
- FiSum Ti64
- Fcnt Ti64
- Fapprox Tu8
- Fovrfl Tu8
-}
-
-type SumCtx1 = TSumCtx1
-
// C documentation
//
// /*
@@ -106135,12 +100675,6 @@ type TCountCtx = struct {
type CountCtx = TCountCtx
-type TCountCtx1 = struct {
- Fn Ti64
-}
-
-type CountCtx1 = TCountCtx1
-
// C documentation
//
// /*
@@ -109422,7 +103956,7 @@ func _exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int3
_ = p1
if libc.Int32FromUint8((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) && int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 {
p1 = pWalker + 36
- *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromUint16((*(*TColumn)(unsafe.Pointer((*TTable1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FaCol + uintptr((*TExpr)(unsafe.Pointer(pExpr)).FiColumn)*16))).FcolFlags))
+ *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromUint16((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 40)))).FaCol + uintptr((*TExpr)(unsafe.Pointer(pExpr)).FiColumn)*16))).FcolFlags))
}
return WRC_Continue
}
@@ -110916,33 +105450,6 @@ type TIndexIterator = struct {
type IndexIterator = TIndexIterator
-type TIndexIterator1 = struct {
- FeType int32
- Fi int32
- Fu struct {
- Fax [0]struct {
- FnIdx int32
- FaIdx uintptr
- }
- Flx struct {
- FpIdx uintptr
- }
- F__ccgo_pad2 [8]byte
- }
-}
-
-type IndexIterator1 = TIndexIterator1
-
-/* When IndexIterator.eType==1, then each index is an array of instances
-** of the following object
- */
-type TIndexListTerm1 = struct {
- Fp uintptr
- Fix int32
-}
-
-type IndexListTerm1 = TIndexListTerm1
-
// C documentation
//
// /* Return the first index on the list */
@@ -112496,6 +107003,8 @@ func _xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uin
return r
}
+type t__ccgo_fp__Xsqlite3_exec_2 = func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
+
/************** End of insert.c **********************************************/
/************** Begin file legacy.c ******************************************/
/*
@@ -112529,7 +107038,7 @@ func _xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uin
// ** argument to xCallback(). If xCallback=NULL then no callback
// ** is invoked, even for queries.
// */
-func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_callback, pArg uintptr, pzErrMsg uintptr) (r int32) {
+func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, __ccgo_fp_xCallback Tsqlite3_callback, pArg uintptr, pzErrMsg uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var azCols, azVals uintptr
@@ -112541,7 +107050,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_c
*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0) /* The current SQL statement */
azCols = uintptr(0) /* True if callback data is initialized */
if !(_sqlite3SafetyCheckOk(tls, db) != 0) {
- return _sqlite3MisuseError(tls, int32(138224))
+ return _sqlite3MisuseError(tls, int32(138251))
}
if zSql == uintptr(0) {
zSql = __ccgo_ts + 1665
@@ -112565,7 +107074,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_c
for int32(1) != 0 {
rc = Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
/* Invoke the callback function if required */
- if xCallback != 0 && (int32(SQLITE_ROW) == rc || int32(SQLITE_DONE) == rc && !(callbackIsInit != 0) && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NullCallback) != 0) {
+ if __ccgo_fp_xCallback != 0 && (int32(SQLITE_ROW) == rc || int32(SQLITE_DONE) == rc && !(callbackIsInit != 0) && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NullCallback) != 0) {
if !(callbackIsInit != 0) {
nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
azCols = _sqlite3DbMallocRaw(tls, db, uint64(libc.Uint64FromInt32(libc.Int32FromInt32(2)*nCol+libc.Int32FromInt32(1))*uint64(8)))
@@ -112606,7 +107115,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_c
}
*(*uintptr)(unsafe.Pointer(azVals + uintptr(i)*8)) = uintptr(0)
}
- if (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xCallback})))(tls, pArg, nCol, azVals, azCols) != 0 {
+ if (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xCallback})))(tls, pArg, nCol, azVals, azCols) != 0 {
/* EVIDENCE-OF: R-38229-40159 If the callback function to
** sqlite3_exec() returns non-zero, then sqlite3_exec() will
** return SQLITE_ABORT. */
@@ -112653,330 +107162,6 @@ exec_out:
return rc
}
-/************** End of legacy.c **********************************************/
-/************** Begin file loadext.c *****************************************/
-/*
-** 2006 June 7
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains code used to dynamically load extensions into
-** the SQLite library.
- */
-
-/************** Include sqlite3ext.h in the middle of loadext.c **************/
-/************** Begin file sqlite3ext.h **************************************/
-/*
-** 2006 June 7
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This header file defines the SQLite interface for use by
-** shared libraries that want to be imported as extensions into
-** an SQLite instance. Shared libraries that intend to be loaded
-** as extensions by SQLite should #include this file instead of
-** sqlite3.h.
- */
-/* #include "sqlite3.h" */
-
-/*
-** The following structure holds pointers to all of the SQLite API
-** routines.
-**
-** WARNING: In order to maintain backwards compatibility, add new
-** interfaces to the end of this structure only. If you insert new
-** interfaces in the middle of this structure, then older different
-** versions of SQLite will not be able to load each other's shared
-** libraries!
- */
-type Tsqlite3_api_routines1 = struct {
- Faggregate_context uintptr
- Faggregate_count uintptr
- Fbind_blob uintptr
- Fbind_double uintptr
- Fbind_int uintptr
- Fbind_int64 uintptr
- Fbind_null uintptr
- Fbind_parameter_count uintptr
- Fbind_parameter_index uintptr
- Fbind_parameter_name uintptr
- Fbind_text uintptr
- Fbind_text16 uintptr
- Fbind_value uintptr
- Fbusy_handler uintptr
- Fbusy_timeout uintptr
- Fchanges uintptr
- Fclose1 uintptr
- Fcollation_needed uintptr
- Fcollation_needed16 uintptr
- Fcolumn_blob uintptr
- Fcolumn_bytes uintptr
- Fcolumn_bytes16 uintptr
- Fcolumn_count uintptr
- Fcolumn_database_name uintptr
- Fcolumn_database_name16 uintptr
- Fcolumn_decltype uintptr
- Fcolumn_decltype16 uintptr
- Fcolumn_double uintptr
- Fcolumn_int uintptr
- Fcolumn_int64 uintptr
- Fcolumn_name uintptr
- Fcolumn_name16 uintptr
- Fcolumn_origin_name uintptr
- Fcolumn_origin_name16 uintptr
- Fcolumn_table_name uintptr
- Fcolumn_table_name16 uintptr
- Fcolumn_text uintptr
- Fcolumn_text16 uintptr
- Fcolumn_type uintptr
- Fcolumn_value uintptr
- Fcommit_hook uintptr
- Fcomplete uintptr
- Fcomplete16 uintptr
- Fcreate_collation uintptr
- Fcreate_collation16 uintptr
- Fcreate_function uintptr
- Fcreate_function16 uintptr
- Fcreate_module uintptr
- Fdata_count uintptr
- Fdb_handle uintptr
- Fdeclare_vtab uintptr
- Fenable_shared_cache uintptr
- Ferrcode uintptr
- Ferrmsg uintptr
- Ferrmsg16 uintptr
- Fexec uintptr
- Fexpired uintptr
- Ffinalize uintptr
- Ffree uintptr
- Ffree_table uintptr
- Fget_autocommit uintptr
- Fget_auxdata uintptr
- Fget_table uintptr
- Fglobal_recover uintptr
- Finterruptx uintptr
- Flast_insert_rowid uintptr
- Flibversion uintptr
- Flibversion_number uintptr
- Fmalloc uintptr
- Fmprintf uintptr
- Fopen uintptr
- Fopen16 uintptr
- Fprepare uintptr
- Fprepare16 uintptr
- Fprofile uintptr
- Fprogress_handler uintptr
- Frealloc uintptr
- Freset uintptr
- Fresult_blob uintptr
- Fresult_double uintptr
- Fresult_error uintptr
- Fresult_error16 uintptr
- Fresult_int uintptr
- Fresult_int64 uintptr
- Fresult_null uintptr
- Fresult_text uintptr
- Fresult_text16 uintptr
- Fresult_text16be uintptr
- Fresult_text16le uintptr
- Fresult_value uintptr
- Frollback_hook uintptr
- Fset_authorizer uintptr
- Fset_auxdata uintptr
- Fxsnprintf uintptr
- Fstep uintptr
- Ftable_column_metadata uintptr
- Fthread_cleanup uintptr
- Ftotal_changes uintptr
- Ftrace uintptr
- Ftransfer_bindings uintptr
- Fupdate_hook uintptr
- Fuser_data uintptr
- Fvalue_blob uintptr
- Fvalue_bytes uintptr
- Fvalue_bytes16 uintptr
- Fvalue_double uintptr
- Fvalue_int uintptr
- Fvalue_int64 uintptr
- Fvalue_numeric_type uintptr
- Fvalue_text uintptr
- Fvalue_text16 uintptr
- Fvalue_text16be uintptr
- Fvalue_text16le uintptr
- Fvalue_type uintptr
- Fvmprintf uintptr
- Foverload_function uintptr
- Fprepare_v2 uintptr
- Fprepare16_v2 uintptr
- Fclear_bindings uintptr
- Fcreate_module_v2 uintptr
- Fbind_zeroblob uintptr
- Fblob_bytes uintptr
- Fblob_close uintptr
- Fblob_open uintptr
- Fblob_read uintptr
- Fblob_write uintptr
- Fcreate_collation_v2 uintptr
- Ffile_control uintptr
- Fmemory_highwater uintptr
- Fmemory_used uintptr
- Fmutex_alloc uintptr
- Fmutex_enter uintptr
- Fmutex_free uintptr
- Fmutex_leave uintptr
- Fmutex_try uintptr
- Fopen_v2 uintptr
- Frelease_memory uintptr
- Fresult_error_nomem uintptr
- Fresult_error_toobig uintptr
- Fsleep uintptr
- Fsoft_heap_limit uintptr
- Fvfs_find uintptr
- Fvfs_register uintptr
- Fvfs_unregister uintptr
- Fxthreadsafe uintptr
- Fresult_zeroblob uintptr
- Fresult_error_code uintptr
- Ftest_control uintptr
- Frandomness uintptr
- Fcontext_db_handle uintptr
- Fextended_result_codes uintptr
- Flimit uintptr
- Fnext_stmt uintptr
- Fsql uintptr
- Fstatus uintptr
- Fbackup_finish uintptr
- Fbackup_init uintptr
- Fbackup_pagecount uintptr
- Fbackup_remaining uintptr
- Fbackup_step uintptr
- Fcompileoption_get uintptr
- Fcompileoption_used uintptr
- Fcreate_function_v2 uintptr
- Fdb_config uintptr
- Fdb_mutex uintptr
- Fdb_status uintptr
- Fextended_errcode uintptr
- Flog uintptr
- Fsoft_heap_limit64 uintptr
- Fsourceid uintptr
- Fstmt_status uintptr
- Fstrnicmp uintptr
- Funlock_notify uintptr
- Fwal_autocheckpoint uintptr
- Fwal_checkpoint uintptr
- Fwal_hook uintptr
- Fblob_reopen uintptr
- Fvtab_config uintptr
- Fvtab_on_conflict uintptr
- Fclose_v2 uintptr
- Fdb_filename uintptr
- Fdb_readonly uintptr
- Fdb_release_memory uintptr
- Ferrstr uintptr
- Fstmt_busy uintptr
- Fstmt_readonly uintptr
- Fstricmp uintptr
- Furi_boolean uintptr
- Furi_int64 uintptr
- Furi_parameter uintptr
- Fxvsnprintf uintptr
- Fwal_checkpoint_v2 uintptr
- Fauto_extension uintptr
- Fbind_blob64 uintptr
- Fbind_text64 uintptr
- Fcancel_auto_extension uintptr
- Fload_extension uintptr
- Fmalloc64 uintptr
- Fmsize uintptr
- Frealloc64 uintptr
- Freset_auto_extension uintptr
- Fresult_blob64 uintptr
- Fresult_text64 uintptr
- Fstrglob uintptr
- Fvalue_dup uintptr
- Fvalue_free uintptr
- Fresult_zeroblob64 uintptr
- Fbind_zeroblob64 uintptr
- Fvalue_subtype uintptr
- Fresult_subtype uintptr
- Fstatus64 uintptr
- Fstrlike uintptr
- Fdb_cacheflush uintptr
- Fsystem_errno uintptr
- Ftrace_v2 uintptr
- Fexpanded_sql uintptr
- Fset_last_insert_rowid uintptr
- Fprepare_v3 uintptr
- Fprepare16_v3 uintptr
- Fbind_pointer uintptr
- Fresult_pointer uintptr
- Fvalue_pointer uintptr
- Fvtab_nochange uintptr
- Fvalue_nochange uintptr
- Fvtab_collation uintptr
- Fkeyword_count uintptr
- Fkeyword_name uintptr
- Fkeyword_check uintptr
- Fstr_new uintptr
- Fstr_finish uintptr
- Fstr_appendf uintptr
- Fstr_vappendf uintptr
- Fstr_append uintptr
- Fstr_appendall uintptr
- Fstr_appendchar uintptr
- Fstr_reset uintptr
- Fstr_errcode uintptr
- Fstr_length uintptr
- Fstr_value uintptr
- Fcreate_window_function uintptr
- Fnormalized_sql uintptr
- Fstmt_isexplain uintptr
- Fvalue_frombind uintptr
- Fdrop_modules uintptr
- Fhard_heap_limit64 uintptr
- Furi_key uintptr
- Ffilename_database uintptr
- Ffilename_journal uintptr
- Ffilename_wal uintptr
- Fcreate_filename uintptr
- Ffree_filename uintptr
- Fdatabase_file_object uintptr
- Ftxn_state uintptr
- Fchanges64 uintptr
- Ftotal_changes64 uintptr
- Fautovacuum_pages uintptr
- Ferror_offset uintptr
- Fvtab_rhs_value uintptr
- Fvtab_distinct uintptr
- Fvtab_in uintptr
- Fvtab_in_first uintptr
- Fvtab_in_next uintptr
- Fdeserialize uintptr
- Fserialize uintptr
- Fdb_name uintptr
- Fvalue_encoding uintptr
- Fis_interrupted uintptr
- Fstmt_explain uintptr
- Fget_clientdata uintptr
- Fset_clientdata uintptr
- Fsetlk_timeout uintptr
-}
-
-type sqlite3_api_routines1 = Tsqlite3_api_routines1
-
// C documentation
//
// /*
@@ -113581,14 +107766,9 @@ type Tsqlite3AutoExtList = struct {
type sqlite3AutoExtList = Tsqlite3AutoExtList
-type Tsqlite3AutoExtList1 = struct {
- FnExt Tu32
- FaExt uintptr
-}
-
-type sqlite3AutoExtList1 = Tsqlite3AutoExtList1
+var _sqlite3Autoext = Tsqlite3AutoExtList{}
-var _sqlite3Autoext = Tsqlite3AutoExtList1{}
+type t__ccgo_fp__Xsqlite3_auto_extension_0 = func(*libc.TLS)
/* The "wsdAutoext" macro will resolve to the autoextension
** state vector. If writable static data is unsupported on the target,
@@ -113603,7 +107783,7 @@ var _sqlite3Autoext = Tsqlite3AutoExtList1{}
// ** Register a statically linked extension that is automatically
// ** loaded by every new database connection.
// */
-func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
+func Xsqlite3_auto_extension(tls *libc.TLS, __ccgo_fp_xInit uintptr) (r int32) {
var aNew, mutex uintptr
var i Tu32
var nByte Tu64
@@ -113621,7 +107801,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
if !(i < _sqlite3Autoext.FnExt) {
break
}
- if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) == xInit {
+ if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) == __ccgo_fp_xInit {
break
}
goto _1
@@ -113636,7 +107816,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
rc = int32(SQLITE_NOMEM)
} else {
_sqlite3Autoext.FaExt = aNew
- *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(_sqlite3Autoext.FnExt)*8)) = xInit
+ *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(_sqlite3Autoext.FnExt)*8)) = __ccgo_fp_xInit
_sqlite3Autoext.FnExt++
}
}
@@ -113646,6 +107826,8 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
return r
}
+type t__ccgo_fp__Xsqlite3_cancel_auto_extension_0 = func(*libc.TLS)
+
// C documentation
//
// /*
@@ -113657,7 +107839,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
// ** Return 1 if xInit was found on the list and removed. Return 0 if xInit
// ** was not on the list.
// */
-func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
+func Xsqlite3_cancel_auto_extension(tls *libc.TLS, __ccgo_fp_xInit uintptr) (r int32) {
var i, n int32
var mutex uintptr
_, _, _ = i, mutex, n
@@ -113669,7 +107851,7 @@ func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
if !(i >= 0) {
break
}
- if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) == xInit {
+ if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) == __ccgo_fp_xInit {
_sqlite3Autoext.FnExt--
*(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(_sqlite3Autoext.FnExt)*8))
n++
@@ -117396,25 +111578,6 @@ type TPragmaVtabCursor = struct {
type PragmaVtabCursor = TPragmaVtabCursor
-type TPragmaVtab1 = struct {
- Fbase Tsqlite3_vtab
- Fdb uintptr
- FpName uintptr
- FnHidden Tu8
- FiHidden Tu8
-}
-
-type PragmaVtab1 = TPragmaVtab1
-
-type TPragmaVtabCursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FpPragma uintptr
- FiRowid Tsqlite_int64
- FazArg [2]uintptr
-}
-
-type PragmaVtabCursor1 = TPragmaVtabCursor1
-
// C documentation
//
// /*
@@ -117816,7 +111979,7 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
(*TInitData)(unsafe.Pointer(pData)).Frc = int32(SQLITE_ERROR)
} else {
if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
- (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143765))
+ (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143792))
} else {
if *(*uintptr)(unsafe.Pointer(azObj + 1*8)) != 0 {
v1 = *(*uintptr)(unsafe.Pointer(azObj + 1*8))
@@ -117829,7 +111992,7 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
z = _sqlite3MPrintf(tls, db, __ccgo_ts+18988, libc.VaList(bp+8, z, zExtra))
}
*(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
- (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143772))
+ (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143799))
}
}
}
@@ -118423,7 +112586,7 @@ func _sqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) {
// **
// ** pObj = sqlite3ParserAddCleanup(pParse, destructor, pObj);
// */
-func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) (r uintptr) {
+func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, __ccgo_fp_xCleanup uintptr, pPtr uintptr) (r uintptr) {
var pCleanup uintptr
_ = pCleanup
if _sqlite3FaultSim(tls, int32(300)) != 0 {
@@ -118436,9 +112599,9 @@ func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p
(*TParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*TParse)(unsafe.Pointer(pParse)).FpCleanup
(*TParse)(unsafe.Pointer(pParse)).FpCleanup = pCleanup
(*TParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr = pPtr
- (*TParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup = xCleanup
+ (*TParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup = __ccgo_fp_xCleanup
} else {
- (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{xCleanup})))(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pPtr)
+ (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xCleanup})))(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pPtr)
pPtr = uintptr(0)
}
return pPtr
@@ -118625,7 +112788,7 @@ func _sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int3
cnt = 0
*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
- return _sqlite3MisuseError(tls, int32(144572))
+ return _sqlite3MisuseError(tls, int32(144599))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
_sqlite3BtreeEnterAll(tls, db)
@@ -118759,7 +112922,7 @@ func _sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pr
rc = SQLITE_OK
*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
- return _sqlite3MisuseError(tls, int32(144721))
+ return _sqlite3MisuseError(tls, int32(144748))
}
/* Make sure nBytes is non-negative and correct. It should be the
** number of bytes until the end of the input buffer or until the first
@@ -118881,15 +113044,6 @@ type TDistinctCtx = struct {
type DistinctCtx = TDistinctCtx
-type TDistinctCtx1 = struct {
- FisTnct Tu8
- FeTnctType Tu8
- FtabTnct int32
- FaddrTnct int32
-}
-
-type DistinctCtx1 = TDistinctCtx1
-
// C documentation
//
// /*
@@ -118925,21 +113079,6 @@ type TSortCtx = struct {
type SortCtx = TSortCtx
-type TSortCtx1 = struct {
- FpOrderBy uintptr
- FnOBSat int32
- FiECursor int32
- FregReturn int32
- FlabelBkOut int32
- FaddrSortIndex int32
- FlabelDone int32
- FlabelOBLopt int32
- FsortFlags Tu8
- FpDeferredRowLoad uintptr
-}
-
-type SortCtx1 = TSortCtx1
-
// C documentation
//
// /*
@@ -119626,13 +113765,6 @@ type TRowLoadInfo = struct {
type RowLoadInfo = TRowLoadInfo
-type TRowLoadInfo1 = struct {
- FregResult int32
- FecelFlags Tu8
-}
-
-type RowLoadInfo1 = TRowLoadInfo1
-
// C documentation
//
// /*
@@ -123607,18 +117739,6 @@ type TWhereConst = struct {
type WhereConst = TWhereConst
-type TWhereConst1 = struct {
- FpParse uintptr
- FpOomFault uintptr
- FnConst int32
- FnChng int32
- FbHasAffBlob int32
- FmExcludeOn Tu32
- FapExpr uintptr
-}
-
-type WhereConst1 = TWhereConst1
-
// C documentation
//
// /*
@@ -127211,6 +121331,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r
*(*int32)(unsafe.Pointer(pParse + 64)) += (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr
_sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, iAbortFlag)
_sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, iAMem, iAMem+(*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr-int32(1))
+ _sqlite3ExprNullRegisterRange(tls, pParse, iAMem, (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr)
/* Begin a loop that will extract all source rows in GROUP BY order.
** This might involve two separate loops with an OP_Sort in between, or
** it might be a single loop that uses an index to extract information
@@ -131515,39 +125636,6 @@ var _aCopy = [10]uint8{
8: uint8(BTREE_APPLICATION_ID),
}
-/************** End of vacuum.c **********************************************/
-/************** Begin file vtab.c ********************************************/
-/*
-** 2006 June 10
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains code used to help implement virtual tables.
- */
-/* #include "sqliteInt.h" */
-
-/*
-** Before a virtual table xCreate() or xConnect() method is invoked, the
-** sqlite3.pVtabCtx member variable is set to point to an instance of
-** this struct allocated on the stack. It is used by the implementation of
-** the sqlite3_declare_vtab() and sqlite3_vtab_config() APIs, both of which
-** are invoked only from within xCreate and xConnect methods.
- */
-type TVtabCtx1 = struct {
- FpVTable uintptr
- FpTab uintptr
- FpPrior uintptr
- FbDeclared int32
-}
-
-type VtabCtx1 = TVtabCtx1
-
// C documentation
//
// /*
@@ -131558,7 +125646,7 @@ type VtabCtx1 = TVtabCtx1
// ** If there already exists a module with zName, replace it with the new one.
// ** If pModule==0, then delete the module zName if it exists.
// */
-func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) (r uintptr) {
+func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, __ccgo_fp_xDestroy uintptr) (r uintptr) {
var nName int32
var pDel, pMod, zCopy uintptr
_, _, _, _ = nName, pDel, pMod, zCopy
@@ -131577,7 +125665,7 @@ func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule
(*TModule)(unsafe.Pointer(pMod)).FzName = zCopy
(*TModule)(unsafe.Pointer(pMod)).FpModule = pModule
(*TModule)(unsafe.Pointer(pMod)).FpAux = pAux
- (*TModule)(unsafe.Pointer(pMod)).FxDestroy = xDestroy
+ (*TModule)(unsafe.Pointer(pMod)).FxDestroy = __ccgo_fp_xDestroy
(*TModule)(unsafe.Pointer(pMod)).FpEpoTab = uintptr(0)
(*TModule)(unsafe.Pointer(pMod)).FnRefModule = int32(1)
}
@@ -131602,15 +125690,15 @@ func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule
// ** This function implements the sqlite3_create_module() and
// ** sqlite3_create_module_v2() interfaces.
// */
-func _createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) (r int32) {
+func _createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
var rc int32
_ = rc
rc = SQLITE_OK
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- _sqlite3VtabCreateModule(tls, db, zName, pModule, pAux, xDestroy)
+ _sqlite3VtabCreateModule(tls, db, zName, pModule, pAux, __ccgo_fp_xDestroy)
rc = _sqlite3ApiExit(tls, db, rc)
- if rc != SQLITE_OK && xDestroy != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestroy})))(tls, pAux)
+ if rc != SQLITE_OK && __ccgo_fp_xDestroy != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestroy})))(tls, pAux)
}
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return rc
@@ -131625,13 +125713,15 @@ func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule ui
return _createModule(tls, db, zName, pModule, pAux, uintptr(0))
}
+type t__ccgo_fp__Xsqlite3_create_module_v2_4 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** External API function used to create a new virtual-table module.
// */
-func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) (r int32) {
- return _createModule(tls, db, zName, pModule, pAux, xDestroy)
+func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
+ return _createModule(tls, db, zName, pModule, pAux, __ccgo_fp_xDestroy)
}
// C documentation
@@ -132153,7 +126243,7 @@ func _sqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) {
// ** pointer to the function to invoke is passed as the fourth parameter
// ** to this procedure.
// */
-func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, xConstruct uintptr, pzErr uintptr) (r int32) {
+func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, __ccgo_fp_xConstruct uintptr, pzErr uintptr) (r int32) {
bp := tls.Alloc(64)
defer tls.Free(64)
var azArg, pCtx, pVTable, zFormat, zModuleName, zType, p6 uintptr
@@ -132214,7 +126304,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
(*(*TVtabCtx)(unsafe.Pointer(bp))).FbDeclared = 0
(*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp
(*TTable)(unsafe.Pointer(pTab)).FnTabRef++
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConstruct})))(tls, db, (*TModule)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+32)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConstruct})))(tls, db, (*TModule)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+16, bp+32)
_sqlite3DeleteTable(tls, db, pTab)
(*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*(*TVtabCtx)(unsafe.Pointer(bp))).FpPrior
if rc == int32(SQLITE_NOMEM) {
@@ -132498,9 +126588,9 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pCtx = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx
if !(pCtx != 0) || (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
- _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(158372)))
+ _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(158400)))
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- return _sqlite3MisuseError(tls, int32(158374))
+ return _sqlite3MisuseError(tls, int32(158402))
}
pTab = (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab
_sqlite3ParseObjectInit(tls, bp, db)
@@ -133082,7 +127172,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
p = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx
if !(p != 0) {
- rc = _sqlite3MisuseError(tls, int32(158869))
+ rc = _sqlite3MisuseError(tls, int32(158897))
} else {
ap = va
switch op {
@@ -133095,7 +127185,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in
case int32(SQLITE_VTAB_USES_ALL_SCHEMAS):
(*TVTable)(unsafe.Pointer((*TVtabCtx)(unsafe.Pointer(p)).FpVTable)).FbAllSchemas = uint8(1)
default:
- rc = _sqlite3MisuseError(tls, int32(158891))
+ rc = _sqlite3MisuseError(tls, int32(158919))
break
}
_ = ap
@@ -133355,435 +127445,6 @@ type TWhereRightJoin = struct {
type WhereRightJoin = TWhereRightJoin
-/*
-** This object is a header on a block of allocated memory that will be
-** automatically freed when its WInfo object is destructed.
- */
-type TWhereMemBlock1 = struct {
- FpNext uintptr
- Fsz Tu64
-}
-
-type WhereMemBlock1 = TWhereMemBlock1
-
-/*
-** Extra information attached to a WhereLevel that is a RIGHT JOIN.
- */
-type TWhereRightJoin1 = struct {
- FiMatch int32
- FregBloom int32
- FregReturn int32
- FaddrSubrtn int32
- FendSubrtn int32
-}
-
-type WhereRightJoin1 = TWhereRightJoin1
-
-/*
-** This object contains information needed to implement a single nested
-** loop in WHERE clause.
-**
-** Contrast this object with WhereLoop. This object describes the
-** implementation of the loop. WhereLoop describes the algorithm.
-** This object contains a pointer to the WhereLoop algorithm as one of
-** its elements.
-**
-** The WhereInfo object contains a single instance of this object for
-** each term in the FROM clause (which is to say, for each of the
-** nested loops as implemented). The order of WhereLevel objects determines
-** the loop nested order, with WhereInfo.a[0] being the outer loop and
-** WhereInfo.a[WhereInfo.nLevel-1] being the inner loop.
- */
-type TWhereLevel1 = struct {
- FiLeftJoin int32
- FiTabCur int32
- FiIdxCur int32
- FaddrBrk int32
- FaddrNxt int32
- FaddrSkip int32
- FaddrCont int32
- FaddrFirst int32
- FaddrBody int32
- FregBignull int32
- FaddrBignull int32
- FregFilter int32
- FpRJ uintptr
- FiFrom Tu8
- Fop Tu8
- Fp3 Tu8
- Fp5 Tu8
- Fp1 int32
- Fp2 int32
- Fu struct {
- FpCoveringIdx [0]uintptr
- Fin struct {
- FnIn int32
- FaInLoop uintptr
- }
- }
- FpWLoop uintptr
- FnotReady TBitmask
-}
-
-type WhereLevel1 = TWhereLevel1
-
-/*
-** Each instance of this object represents an algorithm for evaluating one
-** term of a join. Every term of the FROM clause will have at least
-** one corresponding WhereLoop object (unless INDEXED BY constraints
-** prevent a query solution - which is an error) and many terms of the
-** FROM clause will have multiple WhereLoop objects, each describing a
-** potential way of implementing that FROM-clause term, together with
-** dependencies and cost estimates for using the chosen algorithm.
-**
-** Query planning consists of building up a collection of these WhereLoop
-** objects, then computing a particular sequence of WhereLoop objects, with
-** one WhereLoop object per FROM clause term, that satisfy all dependencies
-** and that minimize the overall cost.
- */
-type TWhereLoop1 = struct {
- Fprereq TBitmask
- FmaskSelf TBitmask
- FiTab Tu8
- FiSortIdx Tu8
- FrSetup TLogEst
- FrRun TLogEst
- FnOut TLogEst
- Fu struct {
- Fvtab [0]struct {
- FidxNum int32
- F__ccgo4 uint8
- FisOrdered Ti8
- FomitMask Tu16
- FidxStr uintptr
- FmHandleIn Tu32
- }
- Fbtree struct {
- FnEq Tu16
- FnBtm Tu16
- FnTop Tu16
- FnDistinctCol Tu16
- FpIndex uintptr
- FpOrderBy uintptr
- }
- }
- FwsFlags Tu32
- FnLTerm Tu16
- FnSkip Tu16
- FnLSlot Tu16
- FaLTerm uintptr
- FpNextLoop uintptr
- FaLTermSpace [3]uintptr
-}
-
-type WhereLoop1 = TWhereLoop1
-
-/* This object holds the prerequisites and the cost of running a
-** subquery on one operand of an OR operator in the WHERE clause.
-** See WhereOrSet for additional information
- */
-type TWhereOrCost1 = struct {
- Fprereq TBitmask
- FrRun TLogEst
- FnOut TLogEst
-}
-
-type WhereOrCost1 = TWhereOrCost1
-
-/* The WhereOrSet object holds a set of possible WhereOrCosts that
-** correspond to the subquery(s) of OR-clause processing. Only the
-** best N_OR_COST elements are retained.
- */
-type TWhereOrSet1 = struct {
- Fn Tu16
- Fa [3]TWhereOrCost
-}
-
-type WhereOrSet1 = TWhereOrSet1
-
-/*
-** Each instance of this object holds a sequence of WhereLoop objects
-** that implement some or all of a query plan.
-**
-** Think of each WhereLoop object as a node in a graph with arcs
-** showing dependencies and costs for travelling between nodes. (That is
-** not a completely accurate description because WhereLoop costs are a
-** vector, not a scalar, and because dependencies are many-to-one, not
-** one-to-one as are graph nodes. But it is a useful visualization aid.)
-** Then a WherePath object is a path through the graph that visits some
-** or all of the WhereLoop objects once.
-**
-** The "solver" works by creating the N best WherePath objects of length
-** 1. Then using those as a basis to compute the N best WherePath objects
-** of length 2. And so forth until the length of WherePaths equals the
-** number of nodes in the FROM clause. The best (lowest cost) WherePath
-** at the end is the chosen query plan.
- */
-type TWherePath1 = struct {
- FmaskLoop TBitmask
- FrevLoop TBitmask
- FnRow TLogEst
- FrCost TLogEst
- FrUnsort TLogEst
- FisOrdered Ti8
- FaLoop uintptr
-}
-
-type WherePath1 = TWherePath1
-
-/*
-** The query generator uses an array of instances of this structure to
-** help it analyze the subexpressions of the WHERE clause. Each WHERE
-** clause subexpression is separated from the others by AND operators,
-** usually, or sometimes subexpressions separated by OR.
-**
-** All WhereTerms are collected into a single WhereClause structure.
-** The following identity holds:
-**
-** WhereTerm.pWC->a[WhereTerm.idx] == WhereTerm
-**
-** When a term is of the form:
-**
-** X
-**
-** where X is a column name and is one of certain operators,
-** then WhereTerm.leftCursor and WhereTerm.u.leftColumn record the
-** cursor number and column number for X. WhereTerm.eOperator records
-** the using a bitmask encoding defined by WO_xxx below. The
-** use of a bitmask encoding for the operator allows us to search
-** quickly for terms that match any of several different operators.
-**
-** A WhereTerm might also be two or more subterms connected by OR:
-**
-** (t1.X ) OR (t1.Y ) OR ....
-**
-** In this second case, wtFlag has the TERM_ORINFO bit set and eOperator==WO_OR
-** and the WhereTerm.u.pOrInfo field points to auxiliary information that
-** is collected about the OR clause.
-**
-** If a term in the WHERE clause does not match either of the two previous
-** categories, then eOperator==0. The WhereTerm.pExpr field is still set
-** to the original subexpression content and wtFlags is set up appropriately
-** but no other fields in the WhereTerm object are meaningful.
-**
-** When eOperator!=0, prereqRight and prereqAll record sets of cursor numbers,
-** but they do so indirectly. A single WhereMaskSet structure translates
-** cursor number into bits and the translated bit is stored in the prereq
-** fields. The translation is used in order to maximize the number of
-** bits that will fit in a Bitmask. The VDBE cursor numbers might be
-** spread out over the non-negative integers. For example, the cursor
-** numbers might be 3, 8, 9, 10, 20, 23, 41, and 45. The WhereMaskSet
-** translates these sparse cursor numbers into consecutive integers
-** beginning with 0 in order to make the best possible use of the available
-** bits in the Bitmask. So, in the example above, the cursor numbers
-** would be mapped into integers 0 through 7.
-**
-** The number of terms in a join is limited by the number of bits
-** in prereqRight and prereqAll. The default is 64 bits, hence SQLite
-** is only able to process joins with 64 or fewer tables.
- */
-type TWhereTerm1 = struct {
- FpExpr uintptr
- FpWC uintptr
- FtruthProb TLogEst
- FwtFlags Tu16
- FeOperator Tu16
- FnChild Tu8
- FeMatchOp Tu8
- FiParent int32
- FleftCursor int32
- Fu struct {
- FpOrInfo [0]uintptr
- FpAndInfo [0]uintptr
- Fx struct {
- FleftColumn int32
- FiField int32
- }
- }
- FprereqRight TBitmask
- FprereqAll TBitmask
-}
-
-type WhereTerm1 = TWhereTerm1
-
-/*
-** Allowed values of WhereTerm.wtFlags
- */
-
-/*
-** An instance of the WhereScan object is used as an iterator for locating
-** terms in the WHERE clause that are useful to the query planner.
- */
-type TWhereScan1 = struct {
- FpOrigWC uintptr
- FpWC uintptr
- FzCollName uintptr
- FpIdxExpr uintptr
- Fk int32
- FopMask Tu32
- Fidxaff uint8
- FiEquiv uint8
- FnEquiv uint8
- FaiCur [11]int32
- FaiColumn [11]Ti16
-}
-
-type WhereScan1 = TWhereScan1
-
-/*
-** An instance of the following structure holds all information about a
-** WHERE clause. Mostly this is a container for one or more WhereTerms.
-**
-** Explanation of pOuter: For a WHERE clause of the form
-**
-** a AND ((b AND c) OR (d AND e)) AND f
-**
-** There are separate WhereClause objects for the whole clause and for
-** the subclauses "(b AND c)" and "(d AND e)". The pOuter field of the
-** subclauses points to the WhereClause object for the whole clause.
- */
-type TWhereClause1 = struct {
- FpWInfo uintptr
- FpOuter uintptr
- Fop Tu8
- FhasOr Tu8
- FnTerm int32
- FnSlot int32
- FnBase int32
- Fa uintptr
- FaStatic [8]TWhereTerm
-}
-
-type WhereClause1 = TWhereClause1
-
-/*
-** A WhereTerm with eOperator==WO_OR has its u.pOrInfo pointer set to
-** a dynamically allocated instance of the following structure.
- */
-type TWhereOrInfo1 = struct {
- Fwc TWhereClause
- Findexable TBitmask
-}
-
-type WhereOrInfo1 = TWhereOrInfo1
-
-/*
-** A WhereTerm with eOperator==WO_AND has its u.pAndInfo pointer set to
-** a dynamically allocated instance of the following structure.
- */
-type TWhereAndInfo1 = struct {
- Fwc TWhereClause
-}
-
-type WhereAndInfo1 = TWhereAndInfo1
-
-/*
-** An instance of the following structure keeps track of a mapping
-** between VDBE cursor numbers and bits of the bitmasks in WhereTerm.
-**
-** The VDBE cursor numbers are small integers contained in
-** SrcItem.iCursor and Expr.iTable fields. For any given WHERE
-** clause, the cursor numbers might not begin with 0 and they might
-** contain gaps in the numbering sequence. But we want to make maximum
-** use of the bits in our bitmasks. This structure provides a mapping
-** from the sparse cursor numbers into consecutive integers beginning
-** with 0.
-**
-** If WhereMaskSet.ix[A]==B it means that The A-th bit of a Bitmask
-** corresponds VDBE cursor number B. The A-th bit of a bitmask is 1<3, 5->1, 8->2, 29->0,
-** 57->5, 73->4. Or one of 719 other combinations might be used. It
-** does not really matter. What is important is that sparse cursor
-** numbers all get mapped into bit numbers that begin with 0 and contain
-** no gaps.
- */
-type TWhereMaskSet1 = struct {
- FbVarSelect int32
- Fn int32
- Fix [64]int32
-}
-
-type WhereMaskSet1 = TWhereMaskSet1
-
-/*
-** This object is a convenience wrapper holding all information needed
-** to construct WhereLoop objects for a particular query.
- */
-type TWhereLoopBuilder1 = struct {
- FpWInfo uintptr
- FpWC uintptr
- FpNew uintptr
- FpOrSet uintptr
- FpRec uintptr
- FnRecValid int32
- FbldFlags1 uint8
- FbldFlags2 uint8
- FiPlanLimit uint32
-}
-
-type WhereLoopBuilder1 = TWhereLoopBuilder1
-
-/* Allowed values for WhereLoopBuider.bldFlags */
-
-/* The WhereLoopBuilder.iPlanLimit is used to limit the number of
-** index+constraint combinations the query planner will consider for a
-** particular query. If this parameter is unlimited, then certain
-** pathological queries can spend excess time in the sqlite3WhereBegin()
-** routine. The limit is high enough that is should not impact real-world
-** queries.
-**
-** SQLITE_QUERY_PLANNER_LIMIT is the baseline limit. The limit is
-** increased by SQLITE_QUERY_PLANNER_LIMIT_INCR before each term of the FROM
-** clause is processed, so that every table in a join is guaranteed to be
-** able to propose a some index+constraint combinations even if the initial
-** baseline limit was exhausted by prior tables of the join.
- */
-
-/*
-** The WHERE clause processing routine has two halves. The
-** first part does the start of the WHERE loop and the second
-** half does the tail of the WHERE loop. An instance of
-** this structure is returned by the first half and passed
-** into the second half to give some continuity.
-**
-** An instance of this object holds the complete state of the query
-** planner.
- */
-type TWhereInfo1 = struct {
- FpParse uintptr
- FpTabList uintptr
- FpOrderBy uintptr
- FpResultSet uintptr
- FpSelect uintptr
- FaiCurOnePass [2]int32
- FiContinue int32
- FiBreak int32
- FsavedNQueryLoop int32
- FwctrlFlags Tu16
- FiLimit TLogEst
- FnLevel Tu8
- FnOBSat Ti8
- FeOnePass Tu8
- FeDistinct Tu8
- F__ccgo68 uint8
- FnRowOut TLogEst
- FiTop int32
- FiEndWhere int32
- FpLoops uintptr
- FpMemToFree uintptr
- FrevMask TBitmask
- FsWC TWhereClause
- FsMaskSet TWhereMaskSet
-}
-
-type WhereInfo1 = TWhereInfo1
-
/*
** Bitmasks for the operators on WhereTerm objects. These are all
** operators that are of interest to the query planner. An
@@ -134128,10 +127789,10 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
v1 = pParse
}
if libc.Int32FromUint8((*TParse)(unsafe.Pointer(v1)).Fexplain) == int32(2) || libc.Bool(0 != 0) {
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_MULTI_OR) == uint32(0) && libc.Int32FromUint16(wctrlFlags)&int32(WHERE_OR_SUBCLAUSE) == 0 {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_MULTI_OR) == uint32(0) && libc.Int32FromUint16(wctrlFlags)&int32(WHERE_OR_SUBCLAUSE) == 0 {
v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe
addr = _sqlite3VdbeCurrentAddr(tls, v)
- ret = _sqlite3VdbeAddOp3(tls, v, int32(OP_Explain), addr, (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, int32((*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FrRun))
+ ret = _sqlite3VdbeAddOp3(tls, v, int32(OP_Explain), addr, (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, int32((*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FrRun))
_sqlite3WhereAddExplainText(tls, pParse, addr, pTabList, pLevel, wctrlFlags)
}
}
@@ -134754,7 +128415,7 @@ func _codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uint
** not a transitive constraint. For an example of where that does not
** work, see https://sqlite.org/forum/forumpost/eb8613976a (2021-05-04)
*/
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_TRANSCONS) == uint32(0) || libc.Int32FromUint16((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_EQUIV) == 0 {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_TRANSCONS) == uint32(0) || libc.Int32FromUint16((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_EQUIV) == 0 {
_disableTerm(tls, pLevel, pTerm)
}
return iReg
@@ -135104,7 +128765,7 @@ func _filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32
if (*TWhereLevel)(unsafe.Pointer(pLevel)).FregFilter == 0 {
continue
}
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FnSkip != 0 {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FnSkip != 0 {
continue
}
/* ,--- Because sqlite3ConstructBloomFilter() has will not have set
@@ -136650,7 +130311,7 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
break
}
pRight = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FiFrom)*80
- mAll |= (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FpWLoop)).FmaskSelf
+ mAll |= (*TWhereLoop)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856 + uintptr(k)*104))).FpWLoop)).FmaskSelf
if int32(*(*uint32)(unsafe.Pointer(pRight + 24 + 4))&0x40>>6) != 0 {
pSubq = *(*uintptr)(unsafe.Pointer(pRight + 72))
_sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, (*TSubquery)(unsafe.Pointer(pSubq)).FregResult, (*TSubquery)(unsafe.Pointer(pSubq)).FregResult+(*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSubquery)(unsafe.Pointer(pSubq)).FpSelect)).FpEList)).FnExpr-int32(1))
@@ -138789,16 +132450,6 @@ type THiddenIndexInfo = struct {
type HiddenIndexInfo = THiddenIndexInfo
-type THiddenIndexInfo1 = struct {
- FpWC uintptr
- FpParse uintptr
- FeDistinct int32
- FmIn Tu32
- FmHandleIn Tu32
-}
-
-type HiddenIndexInfo1 = THiddenIndexInfo1
-
// C documentation
//
// /*
@@ -138911,7 +132562,7 @@ func _sqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) {
break
}
pInner = pWInfo + 856 + uintptr(i)*104
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pInner)).FpWLoop)).FwsFlags&uint32(WHERE_COLUMN_IN) != uint32(0) {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pInner)).FpWLoop)).FwsFlags&uint32(WHERE_COLUMN_IN) != uint32(0) {
_sqlite3VdbeGoto(tls, v, (*TWhereLevel)(unsafe.Pointer(pInner)).FaddrNxt)
return
}
@@ -140429,10 +134080,10 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB
i++
}
}
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FpWC = pWC
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FpParse = pParse
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FeDistinct = eDistinct
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FmIn = uint32(0)
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FpWC = pWC
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FpParse = pParse
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FeDistinct = eDistinct
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FmIn = uint32(0)
p = pWC
v10 = libc.Int32FromInt32(0)
j = v10
@@ -142713,15 +136364,6 @@ type TCoveringIndexCheck = struct {
type CoveringIndexCheck = TCoveringIndexCheck
-type TCoveringIndexCheck1 = struct {
- FpIdx uintptr
- FiTabCur int32
- FbExpr Tu8
- FbUnidx Tu8
-}
-
-type CoveringIndexCheck1 = TCoveringIndexCheck1
-
// C documentation
//
// /*
@@ -142753,7 +136395,7 @@ func _whereIsCoveringIndexWalkCallback(tls *libc.TLS, pWalk uintptr, pExpr uintp
if (*TExpr)(unsafe.Pointer(pExpr)).FiTable != (*TCoveringIndexCheck)(unsafe.Pointer(pCk)).FiTabCur {
return WRC_Continue
}
- pIdx = (*TCoveringIndexCheck1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 40)))).FpIdx
+ pIdx = (*TCoveringIndexCheck)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 40)))).FpIdx
aiColumn = (*TIndex)(unsafe.Pointer(pIdx)).FaiColumn
nColumn = (*TIndex)(unsafe.Pointer(pIdx)).FnColumn
i = 0
@@ -142772,7 +136414,7 @@ func _whereIsCoveringIndexWalkCallback(tls *libc.TLS, pWalk uintptr, pExpr uintp
(*TCoveringIndexCheck)(unsafe.Pointer(pCk)).FbUnidx = uint8(1)
return int32(WRC_Abort)
} else {
- if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x800>>11)) != 0 && _exprIsCoveredByIndex(tls, pExpr, pIdx, (*TCoveringIndexCheck1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 40)))).FiTabCur) != 0 {
+ if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 100))&0x800>>11)) != 0 && _exprIsCoveredByIndex(tls, pExpr, pIdx, (*TCoveringIndexCheck)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 40)))).FiTabCur) != 0 {
(*TCoveringIndexCheck)(unsafe.Pointer(pCk)).FbExpr = uint8(1)
return int32(WRC_Prune)
}
@@ -142809,7 +136451,7 @@ func _whereIsCoveringIndex(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iTabCur
bp := tls.Alloc(64)
defer tls.Free(64)
var i, rc int32
- var _ /* ck at bp+0 */ TCoveringIndexCheck1
+ var _ /* ck at bp+0 */ TCoveringIndexCheck
var _ /* w at bp+16 */ TWalker
_, _ = i, rc
if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect == uintptr(0) {
@@ -142838,19 +136480,19 @@ func _whereIsCoveringIndex(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iTabCur
return uint32(0)
}
}
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FpIdx = pIdx
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FiTabCur = iTabCur
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbExpr = uint8(0)
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbUnidx = uint8(0)
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FpIdx = pIdx
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FiTabCur = iTabCur
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbExpr = uint8(0)
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbUnidx = uint8(0)
libc.Xmemset(tls, bp+16, 0, uint64(48))
(*(*TWalker)(unsafe.Pointer(bp + 16))).FxExprCallback = __ccgo_fp(_whereIsCoveringIndexWalkCallback)
(*(*TWalker)(unsafe.Pointer(bp + 16))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkNoop)
*(*uintptr)(unsafe.Pointer(bp + 16 + 40)) = bp
_sqlite3WalkSelect(tls, bp+16, (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)
- if (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbUnidx != 0 {
+ if (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbUnidx != 0 {
rc = 0
} else {
- if (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbExpr != 0 {
+ if (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbExpr != 0 {
rc = int32(WHERE_EXPRIDX)
} else {
rc = int32(WHERE_IDX_ONLY)
@@ -143152,6 +136794,14 @@ func _whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask) (r in
FpIndex uintptr
FpOrderBy uintptr
})(unsafe.Pointer(pNew + 24))).FnTop = uint16(0)
+ (*(*struct {
+ FnEq Tu16
+ FnBtm Tu16
+ FnTop Tu16
+ FnDistinctCol Tu16
+ FpIndex uintptr
+ FpOrderBy uintptr
+ })(unsafe.Pointer(pNew + 24))).FnDistinctCol = uint16(0)
(*TWhereLoop)(unsafe.Pointer(pNew)).FnSkip = uint16(0)
(*TWhereLoop)(unsafe.Pointer(pNew)).FnLTerm = uint16(0)
(*TWhereLoop)(unsafe.Pointer(pNew)).FiSortIdx = uint8(0)
@@ -143694,7 +137344,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal
pVal = uintptr(0)
rc = SQLITE_OK
if iCons < 0 || iCons >= (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint {
- rc = _sqlite3MisuseError(tls, int32(168932)) /* EV: R-30545-25046 */
+ rc = _sqlite3MisuseError(tls, int32(168961)) /* EV: R-30545-25046 */
} else {
if *(*uintptr)(unsafe.Pointer(pH + 32 + uintptr(iCons)*8)) == uintptr(0) {
pTerm = _termFromWhereClause(tls, (*THiddenIndexInfo)(unsafe.Pointer(pH)).FpWC, (*(*Tsqlite3_index_constraint)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(iCons)*12))).FiTermOffset)
@@ -144359,17 +138009,6 @@ func _wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr,
*(*TBitmask)(unsafe.Pointer(bp)) = obDone
}
break
- } else {
- if libc.Int32FromUint16(wctrlFlags)&int32(WHERE_DISTINCTBY) != 0 {
- (*(*struct {
- FnEq Tu16
- FnBtm Tu16
- FnTop Tu16
- FnDistinctCol Tu16
- FpIndex uintptr
- FpOrderBy uintptr
- })(unsafe.Pointer(pLoop + 24))).FnDistinctCol = uint16(0)
- }
}
iCur = (*(*TSrcItem)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*TWhereLoop)(unsafe.Pointer(pLoop)).FiTab)*80))).FiCursor
/* Mark off any ORDER BY term X that is a column in the table of
@@ -146344,7 +139983,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere
** that use the OR optimization.
*/
if libc.Int32FromUint16(wctrlFlags)&int32(WHERE_ONEPASS_DESIRED) != 0 {
- wsFlags = libc.Int32FromUint32((*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856))).FpWLoop)).FwsFlags)
+ wsFlags = libc.Int32FromUint32((*TWhereLoop)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856))).FpWLoop)).FwsFlags)
bOnerow = libc.BoolInt32(wsFlags&int32(WHERE_ONEROW) != 0)
if bOnerow != 0 || 0 != libc.Int32FromUint16(wctrlFlags)&int32(WHERE_ONEPASS_MULTIROW) && !(libc.Int32FromUint8((*TTable)(unsafe.Pointer((*(*TSrcItem)(unsafe.Pointer(pTabList + 8))).FpSTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) && (0 == wsFlags&int32(WHERE_MULTI_OR) || libc.Int32FromUint16(wctrlFlags)&int32(WHERE_DUPLICATES_OK) != 0) && (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&libc.Uint32FromInt32(libc.Int32FromInt32(SQLITE_OnePass)) == uint32(0) {
if bOnerow != 0 {
@@ -146357,7 +139996,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere
if libc.Int32FromUint16(wctrlFlags)&int32(WHERE_ONEPASS_MULTIROW) != 0 {
bFordelete = uint8(OPFLAG_FORDELETE)
}
- (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856))).FpWLoop)).FwsFlags = libc.Uint32FromInt32(wsFlags & ^libc.Int32FromInt32(WHERE_IDX_ONLY))
+ (*TWhereLoop)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 856))).FpWLoop)).FwsFlags = libc.Uint32FromInt32(wsFlags & ^libc.Int32FromInt32(WHERE_IDX_ONLY))
}
}
}
@@ -146536,7 +140175,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere
goto whereBeginError
}
pLevel = pWInfo + 856 + uintptr(ii)*104
- wsFlags1 = libc.Int32FromUint32((*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags)
+ wsFlags1 = libc.Int32FromUint32((*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags)
pSrc = pTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*80
if int32(*(*uint32)(unsafe.Pointer(pSrc + 24 + 4))&0x20>>5) != 0 {
iOnce = 0
@@ -147871,16 +141510,6 @@ type TWindowRewrite = struct {
type WindowRewrite = TWindowRewrite
-type TWindowRewrite1 = struct {
- FpWin uintptr
- FpSrc uintptr
- FpSub uintptr
- FpTab uintptr
- FpSubSelect uintptr
-}
-
-type WindowRewrite1 = TWindowRewrite1
-
// C documentation
//
// /*
@@ -147899,17 +141528,17 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
** TK_COLUMN expressions that refer to it (the outer SELECT). Do
** not process aggregates or window functions at all, as they belong
** to the scalar sub-select. */
- if (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect != 0 {
+ if (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect != 0 {
if libc.Int32FromUint8((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_COLUMN) {
return WRC_Continue
} else {
- nSrc = (*TSrcList)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSrc)).FnSrc
+ nSrc = (*TSrcList)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSrc)).FnSrc
i = 0
for {
if !(i < nSrc) {
break
}
- if (*TExpr)(unsafe.Pointer(pExpr)).FiTable == (*(*TSrcItem)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*80))).FiCursor {
+ if (*TExpr)(unsafe.Pointer(pExpr)).FiTable == (*(*TSrcItem)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*80))).FiCursor {
break
}
goto _1
@@ -147927,7 +141556,7 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
if !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&libc.Uint32FromInt32(libc.Int32FromInt32(EP_WinFunc)) != libc.Uint32FromInt32(0)) {
break
} else {
- pWin = (*TWindowRewrite1)(unsafe.Pointer(p)).FpWin
+ pWin = (*TWindowRewrite)(unsafe.Pointer(p)).FpWin
for {
if !(pWin != 0) {
break
@@ -147951,13 +141580,13 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 {
return int32(WRC_Abort)
}
- if (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub != 0 {
+ if (*TWindowRewrite)(unsafe.Pointer(p)).FpSub != 0 {
i1 = 0
for {
- if !(i1 < (*TExprList)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSub)).FnExpr) {
+ if !(i1 < (*TExprList)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSub)).FnExpr) {
break
}
- if 0 == _sqlite3ExprCompare(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSub + 8 + uintptr(i1)*32))).FpExpr, pExpr, -int32(1)) {
+ if 0 == _sqlite3ExprCompare(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSub + 8 + uintptr(i1)*32))).FpExpr, pExpr, -int32(1)) {
iCol = i1
break
}
@@ -147972,9 +141601,9 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
if pDup != 0 && libc.Int32FromUint8((*TExpr)(unsafe.Pointer(pDup)).Fop) == int32(TK_AGG_FUNCTION) {
(*TExpr)(unsafe.Pointer(pDup)).Fop = uint8(TK_FUNCTION)
}
- (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub = _sqlite3ExprListAppend(tls, pParse, (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub, pDup)
+ (*TWindowRewrite)(unsafe.Pointer(p)).FpSub = _sqlite3ExprListAppend(tls, pParse, (*TWindowRewrite)(unsafe.Pointer(p)).FpSub, pDup)
}
- if (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub != 0 {
+ if (*TWindowRewrite)(unsafe.Pointer(p)).FpSub != 0 {
f = libc.Int32FromUint32((*TExpr)(unsafe.Pointer(pExpr)).Fflags & uint32(EP_Collate))
*(*Tu32)(unsafe.Pointer(pExpr + 4)) |= libc.Uint32FromInt32(libc.Int32FromInt32(EP_Static))
_sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr)
@@ -147982,13 +141611,13 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
libc.Xmemset(tls, pExpr, 0, uint64(72))
(*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_COLUMN)
if iCol < 0 {
- v4 = (*TExprList)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSub)).FnExpr - int32(1)
+ v4 = (*TExprList)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSub)).FnExpr - int32(1)
} else {
v4 = iCol
}
(*TExpr)(unsafe.Pointer(pExpr)).FiColumn = int16(v4)
- (*TExpr)(unsafe.Pointer(pExpr)).FiTable = (*TWindow)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpWin)).FiEphCsr
- *(*uintptr)(unsafe.Pointer(pExpr + 64)) = (*TWindowRewrite1)(unsafe.Pointer(p)).FpTab
+ (*TExpr)(unsafe.Pointer(pExpr)).FiTable = (*TWindow)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpWin)).FiEphCsr
+ *(*uintptr)(unsafe.Pointer(pExpr + 64)) = (*TWindowRewrite)(unsafe.Pointer(p)).FpTab
(*TExpr)(unsafe.Pointer(pExpr)).Fflags = libc.Uint32FromInt32(f)
}
if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 {
@@ -148004,13 +141633,13 @@ func _selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintpt
var p, pSave uintptr
_, _ = p, pSave
p = *(*uintptr)(unsafe.Pointer(pWalker + 40))
- pSave = (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect
+ pSave = (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect
if pSave == pSelect {
return WRC_Continue
} else {
- (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect = pSelect
+ (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect = pSelect
_sqlite3WalkSelect(tls, pWalker, pSelect)
- (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect = pSave
+ (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect = pSave
}
return int32(WRC_Prune)
}
@@ -148787,87 +142416,6 @@ type TWindowCsrAndReg = struct {
type WindowCsrAndReg = TWindowCsrAndReg
-/*
-** See comments above struct WindowCodeArg.
- */
-type TWindowCsrAndReg1 = struct {
- Fcsr int32
- Freg int32
-}
-
-type WindowCsrAndReg1 = TWindowCsrAndReg1
-
-/*
-** A single instance of this structure is allocated on the stack by
-** sqlite3WindowCodeStep() and a pointer to it passed to the various helper
-** routines. This is to reduce the number of arguments required by each
-** helper function.
-**
-** regArg:
-** Each window function requires an accumulator register (just as an
-** ordinary aggregate function does). This variable is set to the first
-** in an array of accumulator registers - one for each window function
-** in the WindowCodeArg.pMWin list.
-**
-** eDelete:
-** The window functions implementation sometimes caches the input rows
-** that it processes in a temporary table. If it is not zero, this
-** variable indicates when rows may be removed from the temp table (in
-** order to reduce memory requirements - it would always be safe just
-** to leave them there). Possible values for eDelete are:
-**
-** WINDOW_RETURN_ROW:
-** An input row can be discarded after it is returned to the caller.
-**
-** WINDOW_AGGINVERSE:
-** An input row can be discarded after the window functions xInverse()
-** callbacks have been invoked in it.
-**
-** WINDOW_AGGSTEP:
-** An input row can be discarded after the window functions xStep()
-** callbacks have been invoked in it.
-**
-** start,current,end
-** Consider a window-frame similar to the following:
-**
-** (ORDER BY a, b GROUPS BETWEEN 2 PRECEDING AND 2 FOLLOWING)
-**
-** The windows functions implementation caches the input rows in a temp
-** table, sorted by "a, b" (it actually populates the cache lazily, and
-** aggressively removes rows once they are no longer required, but that's
-** a mere detail). It keeps three cursors open on the temp table. One
-** (current) that points to the next row to return to the query engine
-** once its window function values have been calculated. Another (end)
-** points to the next row to call the xStep() method of each window function
-** on (so that it is 2 groups ahead of current). And a third (start) that
-** points to the next row to call the xInverse() method of each window
-** function on.
-**
-** Each cursor (start, current and end) consists of a VDBE cursor
-** (WindowCsrAndReg.csr) and an array of registers (starting at
-** WindowCodeArg.reg) that always contains a copy of the peer values
-** read from the corresponding cursor.
-**
-** Depending on the window-frame in question, all three cursors may not
-** be required. In this case both WindowCodeArg.csr and reg are set to
-** 0.
- */
-type TWindowCodeArg1 = struct {
- FpParse uintptr
- FpMWin uintptr
- FpVdbe uintptr
- FaddrGosub int32
- FregGosub int32
- FregArg int32
- FeDelete int32
- FregRowid int32
- Fstart TWindowCsrAndReg
- Fcurrent TWindowCsrAndReg
- Fend TWindowCsrAndReg
-}
-
-type WindowCodeArg1 = TWindowCodeArg1
-
// C documentation
//
// /*
@@ -157116,14 +150664,6 @@ var _yyFallback = [187]uint16{
** actually contains the reduce action for the second half of the
** SHIFTREDUCE.
*/
-type TyyStackEntry1 = struct {
- Fstateno uint16
- Fmajor uint16
- Fminor TYYMINORTYPE
-}
-
-type yyStackEntry1 = TyyStackEntry1
-
type TyyStackEntry = struct {
Fstateno uint16
Fmajor uint16
@@ -157134,16 +150674,6 @@ type yyStackEntry = TyyStackEntry
/* The state of the parser is completely contained in an instance of
** the following structure */
-type TyyParser1 = struct {
- Fyytos uintptr
- FpParse uintptr
- FyystackEnd uintptr
- Fyystack uintptr
- Fyystk0 [100]TyyStackEntry
-}
-
-type yyParser1 = TyyParser1
-
type TyyParser = struct {
Fyytos uintptr
FpParse uintptr
@@ -164117,7 +157647,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) (r int32) {
*/
if libc.AtomicLoadPInt32(uintptr(unsafe.Pointer(&_sqlite3Config))+340) != 0 {
if op < 0 || op > int32(63) || libc.Uint64FromInt32(1)< 0 {
- (*Tsqlite3)(unsafe.Pointer(db)).FxProgress = xProgress
+ (*Tsqlite3)(unsafe.Pointer(db)).FxProgress = __ccgo_fp_xProgress
(*Tsqlite3)(unsafe.Pointer(db)).FnProgressOps = libc.Uint32FromInt32(nOps)
(*Tsqlite3)(unsafe.Pointer(db)).FpProgressArg = pArg
} else {
@@ -165487,12 +159021,12 @@ func Xsqlite3_is_interrupted(tls *libc.TLS, db uintptr) (r int32) {
// ** that if a malloc() fails in sqlite3_create_function(), an error code
// ** is returned and the mallocFailed flag cleared.
// */
-func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, enc int32, pUserData uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr, xValue uintptr, xInverse uintptr, pDestructor uintptr) (r int32) {
+func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, enc int32, pUserData uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xValue uintptr, __ccgo_fp_xInverse uintptr, pDestructor uintptr) (r int32) {
var extraFlags, rc int32
var p, v1 uintptr
_, _, _, _ = extraFlags, p, rc, v1
- if zFunctionName == uintptr(0) || xSFunc != uintptr(0) && xFinal != uintptr(0) || libc.BoolInt32(xFinal == uintptr(0)) != libc.BoolInt32(xStep == uintptr(0)) || libc.BoolInt32(xValue == uintptr(0)) != libc.BoolInt32(xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) {
- return _sqlite3MisuseError(tls, int32(184559))
+ if zFunctionName == uintptr(0) || __ccgo_fp_xSFunc != uintptr(0) && __ccgo_fp_xFinal != uintptr(0) || libc.BoolInt32(__ccgo_fp_xFinal == uintptr(0)) != libc.BoolInt32(__ccgo_fp_xStep == uintptr(0)) || libc.BoolInt32(__ccgo_fp_xValue == uintptr(0)) != libc.BoolInt32(__ccgo_fp_xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) {
+ return _sqlite3MisuseError(tls, int32(184586))
}
extraFlags = enc & (libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_INNOCUOUS) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_SELFORDER1))
enc &= libc.Int32FromInt32(SQLITE_FUNC_ENCMASK) | libc.Int32FromInt32(SQLITE_ANY)
@@ -165510,9 +159044,9 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
case int32(SQLITE_UTF16):
enc = int32(SQLITE_UTF16LE)
case int32(SQLITE_ANY):
- rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF8)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, xSFunc, xStep, xFinal, xValue, xInverse, pDestructor)
+ rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF8)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, pDestructor)
if rc == SQLITE_OK {
- rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF16LE)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, xSFunc, xStep, xFinal, xValue, xInverse, pDestructor)
+ rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF16LE)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, pDestructor)
}
if rc != SQLITE_OK {
return rc
@@ -165541,7 +159075,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
_sqlite3ExpirePreparedStatements(tls, db, 0)
}
} else {
- if xSFunc == uintptr(0) && xFinal == uintptr(0) {
+ if __ccgo_fp_xSFunc == uintptr(0) && __ccgo_fp_xFinal == uintptr(0) {
/* Trying to delete a function that does not exist. This is a no-op.
** https://sqlite.org/forum/forumpost/726219164b */
return SQLITE_OK
@@ -165559,15 +159093,15 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
}
*(*uintptr)(unsafe.Pointer(p + 64)) = pDestructor
(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags = (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK) | libc.Uint32FromInt32(extraFlags)
- if xSFunc != 0 {
- v1 = xSFunc
+ if __ccgo_fp_xSFunc != 0 {
+ v1 = __ccgo_fp_xSFunc
} else {
- v1 = xStep
+ v1 = __ccgo_fp_xStep
}
(*TFuncDef)(unsafe.Pointer(p)).FxSFunc = v1
- (*TFuncDef)(unsafe.Pointer(p)).FxFinalize = xFinal
- (*TFuncDef)(unsafe.Pointer(p)).FxValue = xValue
- (*TFuncDef)(unsafe.Pointer(p)).FxInverse = xInverse
+ (*TFuncDef)(unsafe.Pointer(p)).FxFinalize = __ccgo_fp_xFinal
+ (*TFuncDef)(unsafe.Pointer(p)).FxValue = __ccgo_fp_xValue
+ (*TFuncDef)(unsafe.Pointer(p)).FxInverse = __ccgo_fp_xInverse
(*TFuncDef)(unsafe.Pointer(p)).FpUserData = pUserData
(*TFuncDef)(unsafe.Pointer(p)).FnArg = libc.Int16FromUint16(libc.Uint16FromInt32(nArg))
return SQLITE_OK
@@ -165582,27 +159116,27 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
// ** sqlite3_create_function_v2()
// ** sqlite3_create_window_function()
// */
-func _createFunctionApi(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr, xValue uintptr, xInverse uintptr, xDestroy uintptr) (r int32) {
+func _createFunctionApi(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xValue uintptr, __ccgo_fp_xInverse uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
var pArg uintptr
var rc int32
_, _ = pArg, rc
rc = int32(SQLITE_ERROR)
pArg = uintptr(0)
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- if xDestroy != 0 {
+ if __ccgo_fp_xDestroy != 0 {
pArg = _sqlite3Malloc(tls, uint64(24))
if !(pArg != 0) {
_sqlite3OomFault(tls, db)
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestroy})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestroy})))(tls, p)
goto out
}
(*TFuncDestructor)(unsafe.Pointer(pArg)).FnRef = 0
- (*TFuncDestructor)(unsafe.Pointer(pArg)).FxDestroy = xDestroy
+ (*TFuncDestructor)(unsafe.Pointer(pArg)).FxDestroy = __ccgo_fp_xDestroy
(*TFuncDestructor)(unsafe.Pointer(pArg)).FpUserData = p
}
- rc = _sqlite3CreateFunc(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, xValue, xInverse, pArg)
+ rc = _sqlite3CreateFunc(tls, db, zFunc, nArg, enc, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, pArg)
if pArg != 0 && (*TFuncDestructor)(unsafe.Pointer(pArg)).FnRef == 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestroy})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestroy})))(tls, p)
Xsqlite3_free(tls, pArg)
}
goto out
@@ -165613,30 +159147,60 @@ out:
return rc
}
+type t__ccgo_fp__Xsqlite3_create_function_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_6 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_7 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Create new user functions.
// */
-func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) (r int32) {
- return _createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), uintptr(0))
+func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr) (r int32) {
+ return _createFunctionApi(tls, db, zFunc, nArg, enc, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, uintptr(0), uintptr(0), uintptr(0))
}
-func Xsqlite3_create_function_v2(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr, xDestroy uintptr) (r int32) {
- return _createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), xDestroy)
+type t__ccgo_fp__Xsqlite3_create_function_v2_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_v2_6 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_v2_7 = func(*libc.TLS, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_v2_8 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_create_function_v2(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
+ return _createFunctionApi(tls, db, zFunc, nArg, enc, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, uintptr(0), uintptr(0), __ccgo_fp_xDestroy)
}
-func Xsqlite3_create_window_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xStep uintptr, xFinal uintptr, xValue uintptr, xInverse uintptr, xDestroy uintptr) (r int32) {
- return _createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), xStep, xFinal, xValue, xInverse, xDestroy)
+type t__ccgo_fp__Xsqlite3_create_window_function_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_6 = func(*libc.TLS, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_7 = func(*libc.TLS, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_8 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_9 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_create_window_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xValue uintptr, __ccgo_fp_xInverse uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
+ return _createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, __ccgo_fp_xDestroy)
}
-func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) (r int32) {
+type t__ccgo_fp__Xsqlite3_create_function16_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function16_6 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function16_7 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr) (r int32) {
var rc int32
var zFunc8 uintptr
_, _ = rc, zFunc8
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
zFunc8 = _sqlite3Utf16to8(tls, db, zFunctionName, -int32(1), uint8(SQLITE_UTF16LE))
- rc = _sqlite3CreateFunc(tls, db, zFunc8, nArg, eTextRep, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), uintptr(0))
+ rc = _sqlite3CreateFunc(tls, db, zFunc8, nArg, eTextRep, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, uintptr(0), uintptr(0), uintptr(0))
_sqlite3DbFree(tls, db, zFunc8)
rc = _sqlite3ApiExit(tls, db, rc)
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -165699,6 +159263,8 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i
return Xsqlite3_create_function_v2(tls, db, zName, nArg, int32(SQLITE_UTF8), zCopy, __ccgo_fp(_sqlite3InvalidFunction), uintptr(0), uintptr(0), __ccgo_fp(Xsqlite3_free))
}
+type t__ccgo_fp__Xsqlite3_trace_1 = func(*libc.TLS, uintptr, uintptr)
+
// C documentation
//
// /*
@@ -165709,43 +159275,47 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i
// ** trace is a pointer to a function that is invoked at the start of each
// ** SQL statement.
// */
-func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_trace(tls *libc.TLS, db uintptr, __ccgo_fp_xTrace uintptr, pArg uintptr) (r uintptr) {
var pOld uintptr
var v1 int32
_, _ = pOld, v1
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pOld = (*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg
- if xTrace != 0 {
+ if __ccgo_fp_xTrace != 0 {
v1 = int32(SQLITE_TRACE_LEGACY)
} else {
v1 = 0
}
(*Tsqlite3)(unsafe.Pointer(db)).FmTrace = libc.Uint8FromInt32(v1)
- *(*uintptr)(unsafe.Pointer(db + 248)) = xTrace
+ *(*uintptr)(unsafe.Pointer(db + 248)) = __ccgo_fp_xTrace
(*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pOld
}
+type t__ccgo_fp__Xsqlite3_trace_v2_2 = func(*libc.TLS, uint32, uintptr, uintptr, uintptr) int32
+
// C documentation
//
// /* Register a trace callback using the version-2 interface.
// */
-func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) (r int32) {
+func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, __ccgo_fp_xTrace uintptr, pArg uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if mTrace == uint32(0) {
- xTrace = uintptr(0)
+ __ccgo_fp_xTrace = uintptr(0)
}
- if xTrace == uintptr(0) {
+ if __ccgo_fp_xTrace == uintptr(0) {
mTrace = uint32(0)
}
(*Tsqlite3)(unsafe.Pointer(db)).FmTrace = uint8(mTrace)
- *(*uintptr)(unsafe.Pointer(db + 248)) = xTrace
+ *(*uintptr)(unsafe.Pointer(db + 248)) = __ccgo_fp_xTrace
(*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
+type t__ccgo_fp__Xsqlite3_profile_1 = func(*libc.TLS, uintptr, uintptr, uint64)
+
// C documentation
//
// /*
@@ -165756,12 +159326,12 @@ func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr,
// ** profile is a pointer to a function that is invoked at the conclusion of
// ** each SQL statement that is run.
// */
-func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_profile(tls *libc.TLS, db uintptr, __ccgo_fp_xProfile uintptr, pArg uintptr) (r uintptr) {
var pOld, p1, p2 uintptr
_, _, _ = pOld, p1, p2
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pOld = (*Tsqlite3)(unsafe.Pointer(db)).FpProfileArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxProfile = xProfile
+ (*Tsqlite3)(unsafe.Pointer(db)).FxProfile = __ccgo_fp_xProfile
(*Tsqlite3)(unsafe.Pointer(db)).FpProfileArg = pArg
p1 = db + 110
*(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) & libc.Int32FromInt32(SQLITE_TRACE_NONLEGACY_MASK))
@@ -165773,6 +159343,8 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr)
return pOld
}
+type t__ccgo_fp__Xsqlite3_commit_hook_1 = func(*libc.TLS, uintptr) int32
+
// C documentation
//
// /*
@@ -165780,82 +159352,92 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr)
// ** If the invoked function returns non-zero, then the commit becomes a
// ** rollback.
// */
-func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pOld uintptr
_ = pOld
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pOld = (*Tsqlite3)(unsafe.Pointer(db)).FpCommitArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxCommitCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxCommitCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpCommitArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pOld
}
+type t__ccgo_fp__Xsqlite3_update_hook_1 = func(*libc.TLS, uintptr, int32, uintptr, uintptr, int64)
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a row is updated,
// ** inserted or deleted using this database connection.
// */
-func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpUpdateArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxUpdateCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxUpdateCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpUpdateArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
}
+type t__ccgo_fp__Xsqlite3_rollback_hook_1 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a transaction is rolled
// ** back by this database connection.
// */
-func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpRollbackArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxRollbackCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxRollbackCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpRollbackArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
}
+type t__ccgo_fp__Xsqlite3_preupdate_hook_1 = func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, int64, int64)
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a row is updated,
// ** inserted or deleted using this database connection.
// */
-func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdateArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdateArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
}
+type t__ccgo_fp__Xsqlite3_autovacuum_pages_1 = func(*libc.TLS, uintptr, uintptr, uint32, uint32, uint32) uint32
+
+type t__ccgo_fp__Xsqlite3_autovacuum_pages_3 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a function to be invoked prior to each autovacuum that
// ** determines the number of pages to vacuum.
// */
-func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr, xDestructor uintptr) (r int32) {
+func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr != 0 {
(*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg)
}
- (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacPages = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacPages = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg = pArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr = xDestructor
+ (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr = __ccgo_fp_xDestructor
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
@@ -165899,18 +159481,20 @@ func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) (r int
return SQLITE_OK
}
+type t__ccgo_fp__Xsqlite3_wal_hook_1 = func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a transaction is written
// ** into the write-ahead-log by this database connection.
// */
-func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpWalArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpWalArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
@@ -165936,7 +159520,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
if eMode < SQLITE_CHECKPOINT_PASSIVE || eMode > int32(SQLITE_CHECKPOINT_TRUNCATE) {
/* EVIDENCE-OF: R-03996-12088 The M parameter must be a valid checkpoint
** mode: */
- return _sqlite3MisuseError(tls, int32(185175))
+ return _sqlite3MisuseError(tls, int32(185202))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if zDb != 0 && *(*uint8)(unsafe.Pointer(zDb)) != 0 {
@@ -166068,7 +159652,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) (r uintptr) {
return _sqlite3ErrStr(tls, int32(SQLITE_NOMEM))
}
if !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) {
- return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(185311)))
+ return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(185338)))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -166200,7 +159784,7 @@ var _misuse = [34]Tu16{
// */
func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) {
if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) {
- return _sqlite3MisuseError(tls, int32(185390))
+ return _sqlite3MisuseError(tls, int32(185417))
}
if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
return int32(SQLITE_NOMEM)
@@ -166210,7 +159794,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) {
func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) (r int32) {
if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) {
- return _sqlite3MisuseError(tls, int32(185399))
+ return _sqlite3MisuseError(tls, int32(185426))
}
if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
return int32(SQLITE_NOMEM)
@@ -166246,7 +159830,7 @@ func Xsqlite3_errstr(tls *libc.TLS, rc int32) (r uintptr) {
// ** Create a new collating function for database "db". The name is zName
// ** and the encoding is enc.
// */
-func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx uintptr, xCompare uintptr, xDel uintptr) (r int32) {
+func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx uintptr, __ccgo_fp_xCompare uintptr, __ccgo_fp_xDel uintptr) (r int32) {
var aColl, p, pColl uintptr
var enc2, j int32
_, _, _, _, _ = aColl, enc2, j, p, pColl
@@ -166259,7 +159843,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui
enc2 = int32(SQLITE_UTF16LE)
}
if enc2 < int32(SQLITE_UTF8) || enc2 > int32(SQLITE_UTF16BE) {
- return _sqlite3MisuseError(tls, int32(185447))
+ return _sqlite3MisuseError(tls, int32(185474))
}
/* Check if this call is removing or replacing an existing collation
** sequence. If so, and there are active VMs, return busy. If there
@@ -166303,9 +159887,9 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui
if pColl == uintptr(0) {
return int32(SQLITE_NOMEM)
}
- (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp = xCompare
+ (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp = __ccgo_fp_xCompare
(*TCollSeq)(unsafe.Pointer(pColl)).FpUser = pCtx
- (*TCollSeq)(unsafe.Pointer(pColl)).FxDel = xDel
+ (*TCollSeq)(unsafe.Pointer(pColl)).FxDel = __ccgo_fp_xDel
(*TCollSeq)(unsafe.Pointer(pColl)).Fenc = libc.Uint8FromInt32(enc2 | libc.Int32FromUint8(enc)&libc.Int32FromInt32(SQLITE_UTF16_ALIGNED))
_sqlite3Error(tls, db, SQLITE_OK)
return SQLITE_OK
@@ -166807,7 +160391,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32
/* READWRITE */
/* READWRITE | CREATE */
if int32(1)<<(*(*uint32)(unsafe.Pointer(bp))&uint32(7))&int32(0x46) == 0 {
- rc = _sqlite3MisuseError(tls, int32(186122)) /* IMP: R-18321-05872 */
+ rc = _sqlite3MisuseError(tls, int32(186149)) /* IMP: R-18321-05872 */
} else {
if zFilename == uintptr(0) {
zFilename = __ccgo_ts + 4283
@@ -166961,36 +160545,44 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) (r int32) {
return rc & int32(0xff)
}
+type t__ccgo_fp__Xsqlite3_create_collation_4 = func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
// ** Register a new collation sequence with the database handle db.
// */
-func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) (r int32) {
- return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, xCompare, uintptr(0))
+func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, __ccgo_fp_xCompare uintptr) (r int32) {
+ return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, __ccgo_fp_xCompare, uintptr(0))
}
+type t__ccgo_fp__Xsqlite3_create_collation_v2_4 = func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3_create_collation_v2_5 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a new collation sequence with the database handle db.
// */
-func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr, xDel uintptr) (r int32) {
+func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, __ccgo_fp_xCompare uintptr, __ccgo_fp_xDel uintptr) (r int32) {
var rc int32
_ = rc
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- rc = _createCollation(tls, db, zName, libc.Uint8FromInt32(enc), pCtx, xCompare, xDel)
+ rc = _createCollation(tls, db, zName, libc.Uint8FromInt32(enc), pCtx, __ccgo_fp_xCompare, __ccgo_fp_xDel)
rc = _sqlite3ApiExit(tls, db, rc)
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return rc
}
+type t__ccgo_fp__Xsqlite3_create_collation16_4 = func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
// ** Register a new collation sequence with the database handle db.
// */
-func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) (r int32) {
+func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, __ccgo_fp_xCompare uintptr) (r int32) {
var rc int32
var zName8 uintptr
_, _ = rc, zName8
@@ -166998,7 +160590,7 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
zName8 = _sqlite3Utf16to8(tls, db, zName, -int32(1), uint8(SQLITE_UTF16LE))
if zName8 != 0 {
- rc = _createCollation(tls, db, zName8, libc.Uint8FromInt32(enc), pCtx, xCompare, uintptr(0))
+ rc = _createCollation(tls, db, zName8, libc.Uint8FromInt32(enc), pCtx, __ccgo_fp_xCompare, uintptr(0))
_sqlite3DbFree(tls, db, zName8)
}
rc = _sqlite3ApiExit(tls, db, rc)
@@ -167006,31 +160598,35 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i
return rc
}
+type t__ccgo_fp__Xsqlite3_collation_needed_2 = func(*libc.TLS, uintptr, uintptr, int32, uintptr)
+
// C documentation
//
// /*
// ** Register a collation sequence factory callback with the database handle
// ** db. Replace any previously installed collation sequence factory.
// */
-func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded uintptr) (r int32) {
+func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, __ccgo_fp_xCollNeeded uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded = xCollNeeded
+ (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded = __ccgo_fp_xCollNeeded
(*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = uintptr(0)
(*Tsqlite3)(unsafe.Pointer(db)).FpCollNeededArg = pCollNeededArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
+type t__ccgo_fp__Xsqlite3_collation_needed16_2 = func(*libc.TLS, uintptr, uintptr, int32, uintptr)
+
// C documentation
//
// /*
// ** Register a collation sequence factory callback with the database handle
// ** db. Replace any previously installed collation sequence factory.
// */
-func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded16 uintptr) (r int32) {
+func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, __ccgo_fp_xCollNeeded16 uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
(*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded = uintptr(0)
- (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = xCollNeeded16
+ (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = __ccgo_fp_xCollNeeded16
(*Tsqlite3)(unsafe.Pointer(db)).FpCollNeededArg = pCollNeededArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
@@ -167064,12 +160660,14 @@ func Xsqlite3_get_clientdata(tls *libc.TLS, db uintptr, zName uintptr) (r uintpt
return uintptr(0)
}
+type t__ccgo_fp__Xsqlite3_set_clientdata_3 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Add new client data to a database connection.
// */
-func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uintptr, xDestructor uintptr) (r int32) {
+func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
var n Tsize_t
var p, pp uintptr
_, _, _ = n, p, pp
@@ -167104,8 +160702,8 @@ func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uin
n = libc.Xstrlen(tls, zName)
p = Xsqlite3_malloc64(tls, uint64(uint64(libc.UintptrFromInt32(0)+24)+(n+libc.Uint64FromInt32(1))))
if p == uintptr(0) {
- if xDestructor != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestructor})))(tls, pData)
+ if __ccgo_fp_xDestructor != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestructor})))(tls, pData)
}
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return int32(SQLITE_NOMEM)
@@ -167116,7 +160714,7 @@ func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uin
}
}
(*TDbClientData)(unsafe.Pointer(p)).FpData = pData
- (*TDbClientData)(unsafe.Pointer(p)).FxDestructor = xDestructor
+ (*TDbClientData)(unsafe.Pointer(p)).FxDestructor = __ccgo_fp_xDestructor
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
@@ -168468,6 +162066,8 @@ func _leaveMutex(tls *libc.TLS) {
Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_MAIN)))
}
+type t__ccgo_fp__Xsqlite3_unlock_notify_1 = func(*libc.TLS, uintptr, int32)
+
// C documentation
//
// /*
@@ -168491,7 +162091,7 @@ func _leaveMutex(tls *libc.TLS) {
// ** on the same "db". If xNotify==0 then any prior callbacks are immediately
// ** cancelled.
// */
-func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg uintptr) (r int32) {
+func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, __ccgo_fp_xNotify uintptr, _pArg uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
*(*uintptr)(unsafe.Pointer(bp)) = _pArg
@@ -168501,7 +162101,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui
rc = SQLITE_OK
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
_enterMutex(tls)
- if xNotify == uintptr(0) {
+ if __ccgo_fp_xNotify == uintptr(0) {
_removeFromBlockedList(tls, db)
(*Tsqlite3)(unsafe.Pointer(db)).FpBlockingConnection = uintptr(0)
(*Tsqlite3)(unsafe.Pointer(db)).FpUnlockConnection = uintptr(0)
@@ -168513,7 +162113,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui
** blocking transaction. In either case, invoke the notify callback
** immediately.
*/
- (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{xNotify})))(tls, bp, int32(1))
+ (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xNotify})))(tls, bp, int32(1))
} else {
p = (*Tsqlite3)(unsafe.Pointer(db)).FpBlockingConnection
for {
@@ -168529,7 +162129,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui
rc = int32(SQLITE_LOCKED) /* Deadlock detected. */
} else {
(*Tsqlite3)(unsafe.Pointer(db)).FpUnlockConnection = (*Tsqlite3)(unsafe.Pointer(db)).FpBlockingConnection
- (*Tsqlite3)(unsafe.Pointer(db)).FxUnlockNotify = xNotify
+ (*Tsqlite3)(unsafe.Pointer(db)).FxUnlockNotify = __ccgo_fp_xNotify
(*Tsqlite3)(unsafe.Pointer(db)).FpUnlockArg = *(*uintptr)(unsafe.Pointer(bp))
_removeFromBlockedList(tls, db)
_addToBlockedList(tls, db)
@@ -169745,106 +163345,6 @@ type TJsonParse = struct {
type JsonParse = TJsonParse
-/*
-** Magic number used for the JSON parse cache in sqlite3_get_auxdata()
- */
-
-/*
-** jsonUnescapeOneChar() returns this invalid code point if it encounters
-** a syntax error.
- */
-
-/* A cache mapping JSON text into JSONB blobs.
-**
-** Each cache entry is a JsonParse object with the following restrictions:
-**
-** * The bReadOnly flag must be set
-**
-** * The aBlob[] array must be owned by the JsonParse object. In other
-** words, nBlobAlloc must be non-zero.
-**
-** * eEdit and delta must be zero.
-**
-** * zJson must be an RCStr. In other words bJsonIsRCStr must be true.
- */
-type TJsonCache1 = struct {
- Fdb uintptr
- FnUsed int32
- Fa [4]uintptr
-}
-
-type JsonCache1 = TJsonCache1
-
-/* An instance of this object represents a JSON string
-** under construction. Really, this is a generic string accumulator
-** that can be and is used to create strings other than JSON.
-**
-** If the generated string is longer than will fit into the zSpace[] buffer,
-** then it will be an RCStr string. This aids with caching of large
-** JSON strings.
- */
-type TJsonString1 = struct {
- FpCtx uintptr
- FzBuf uintptr
- FnAlloc Tu64
- FnUsed Tu64
- FbStatic Tu8
- FeErr Tu8
- FzSpace [100]uint8
-}
-
-type JsonString1 = TJsonString1
-
-/* Allowed values for JsonString.eErr */
-
-/* The "subtype" set for text JSON values passed through using
-** sqlite3_result_subtype() and sqlite3_value_subtype().
- */
-
-/*
-** Bit values for the flags passed into various SQL function implementations
-** via the sqlite3_user_data() value.
- */
-
-/* A parsed JSON value. Lifecycle:
-**
-** 1. JSON comes in and is parsed into a JSONB value in aBlob. The
-** original text is stored in zJson. This step is skipped if the
-** input is JSONB instead of text JSON.
-**
-** 2. The aBlob[] array is searched using the JSON path notation, if needed.
-**
-** 3. Zero or more changes are made to aBlob[] (via json_remove() or
-** json_replace() or json_patch() or similar).
-**
-** 4. New JSON text is generated from the aBlob[] for output. This step
-** is skipped if the function is one of the jsonb_* functions that
-** returns JSONB instead of text JSON.
- */
-type TJsonParse1 = struct {
- FaBlob uintptr
- FnBlob Tu32
- FnBlobAlloc Tu32
- FzJson uintptr
- Fdb uintptr
- FnJson int32
- FnJPRef Tu32
- FiErr Tu32
- FiDepth Tu16
- FnErr Tu8
- Foom Tu8
- FbJsonIsRCStr Tu8
- FhasNonstd Tu8
- FbReadOnly Tu8
- FeEdit Tu8
- Fdelta int32
- FnIns Tu32
- FiLabel Tu32
- FaIns uintptr
-}
-
-type JsonParse1 = TJsonParse1
-
/**************************************************************************
** Utility routines for dealing with JsonCache objects
**************************************************************************/
@@ -172455,16 +165955,6 @@ type TJsonPretty = struct {
type JsonPretty = TJsonPretty
-type TJsonPretty1 = struct {
- FpParse uintptr
- FpOut uintptr
- FzIndent uintptr
- FszIndent Tu32
- FnIndent Tu32
-}
-
-type JsonPretty1 = TJsonPretty1
-
// C documentation
//
// /* Append indentation to the pretty JSON under construction */
@@ -175291,16 +168781,6 @@ type TJsonParent = struct {
type JsonParent = TJsonParent
-type TJsonParent1 = struct {
- FiHead Tu32
- FiValue Tu32
- FiEnd Tu32
- FnPath Tu32
- FiKey Ti64
-}
-
-type JsonParent1 = TJsonParent1
-
type TJsonEachCursor = struct {
Fbase Tsqlite3_vtab_cursor
FiRowid Tu32
@@ -175319,24 +168799,6 @@ type TJsonEachCursor = struct {
type JsonEachCursor = TJsonEachCursor
-type TJsonEachCursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FiRowid Tu32
- Fi Tu32
- FiEnd Tu32
- FnRoot Tu32
- FeType Tu8
- FbRecursive Tu8
- FnParent Tu32
- FnParentAlloc Tu32
- FaParent uintptr
- Fdb uintptr
- Fpath TJsonString
- FsParse TJsonParse
-}
-
-type JsonEachCursor1 = TJsonEachCursor1
-
type TJsonEachConnection = struct {
Fbase Tsqlite3_vtab
Fdb uintptr
@@ -175344,13 +168806,6 @@ type TJsonEachConnection = struct {
type JsonEachConnection = TJsonEachConnection
-type TJsonEachConnection1 = struct {
- Fbase Tsqlite3_vtab
- Fdb uintptr
-}
-
-type JsonEachConnection1 = TJsonEachConnection1
-
// C documentation
//
// /* Constructor for the json_each virtual table */
@@ -176322,223 +169777,9 @@ type TRtree = struct {
FaHash [97]uintptr
}
-type Rtree = TRtree
-
-type TRtreeCursor = struct {
- Fbase Tsqlite3_vtab_cursor
- FatEOF Tu8
- FbPoint Tu8
- FbAuxValid Tu8
- FiStrategy int32
- FnConstraint int32
- FaConstraint uintptr
- FnPointAlloc int32
- FnPoint int32
- FmxLevel int32
- FaPoint uintptr
- FpReadAux uintptr
- FsPoint TRtreeSearchPoint
- FaNode [5]uintptr
- FanQueue [41]Tu32
-}
-
-type RtreeCursor = TRtreeCursor
-
-type TRtreeNode = struct {
- FpParent uintptr
- FiNode Ti64
- FnRef int32
- FisDirty int32
- FzData uintptr
- FpNext uintptr
-}
-
-type RtreeNode = TRtreeNode
-
-type TRtreeCell = struct {
- FiRowid Ti64
- FaCoord [10]TRtreeCoord
-}
-
-type RtreeCell = TRtreeCell
-
-type TRtreeConstraint = struct {
- FiCoord int32
- Fop int32
- Fu struct {
- FxGeom [0]uintptr
- FxQueryFunc [0]uintptr
- FrValue TRtreeDValue
- }
- FpInfo uintptr
-}
-
-type RtreeConstraint = TRtreeConstraint
-
-type TRtreeMatchArg = struct {
- FiSize Tu32
- Fcb TRtreeGeomCallback
- FnParam int32
- FapSqlParam uintptr
-}
-
-type RtreeMatchArg = TRtreeMatchArg
-
-type TRtreeGeomCallback = struct {
- FxGeom uintptr
- FxQueryFunc uintptr
- FxDestructor uintptr
- FpContext uintptr
-}
-
-type RtreeGeomCallback = TRtreeGeomCallback
-
-type TRtreeCoord = struct {
- Fi [0]int32
- Fu [0]Tu32
- Ff TRtreeValue
-}
-
-type RtreeCoord = TRtreeCoord
-
-type TRtreeSearchPoint = struct {
- FrScore TRtreeDValue
- Fid Tsqlite3_int64
- FiLevel Tu8
- FeWithin Tu8
- FiCell Tu8
-}
-
-type RtreeSearchPoint = TRtreeSearchPoint
-
-/* The rtree may have between 1 and RTREE_MAX_DIMENSIONS dimensions. */
-
-/* Maximum number of auxiliary columns */
-
-/* Size of hash table Rtree.aHash. This hash table is not expected to
-** ever contain very many entries, so a fixed number of buckets is
-** used.
- */
-
-/* The xBestIndex method of this virtual table requires an estimate of
-** the number of rows in the virtual table to calculate the costs of
-** various strategies. If possible, this estimate is loaded from the
-** sqlite_stat1 table (with RTREE_MIN_ROWEST as a hard-coded minimum).
-** Otherwise, if no sqlite_stat1 entry is available, use
-** RTREE_DEFAULT_ROWEST.
- */
-
-/*
-** An rtree virtual-table object.
- */
-type TRtree1 = struct {
- Fbase Tsqlite3_vtab
- Fdb uintptr
- FiNodeSize int32
- FnDim Tu8
- FnDim2 Tu8
- FeCoordType Tu8
- FnBytesPerCell Tu8
- FinWrTrans Tu8
- FnAux Tu8
- FnAuxNotNull Tu8
- FiDepth int32
- FzDb uintptr
- FzName uintptr
- FzNodeName uintptr
- FnBusy Tu32
- FnRowEst Ti64
- FnCursor Tu32
- FnNodeRef Tu32
- FzReadAuxSql uintptr
- FpDeleted uintptr
- FpNodeBlob uintptr
- FpWriteNode uintptr
- FpDeleteNode uintptr
- FpReadRowid uintptr
- FpWriteRowid uintptr
- FpDeleteRowid uintptr
- FpReadParent uintptr
- FpWriteParent uintptr
- FpDeleteParent uintptr
- FpWriteAux uintptr
- FaHash [97]uintptr
-}
-
-type Rtree1 = TRtree1
-
-/* Possible values for Rtree.eCoordType: */
-
-// C documentation
-//
-// /*
-// ** If SQLITE_RTREE_INT_ONLY is defined, then this virtual table will
-// ** only deal with integer coordinates. No floating point operations
-// ** will be done.
-// */
-type TRtreeDValue = float64
-
-type RtreeDValue = TRtreeDValue
-
-/* High accuracy coordinate */
-
-type TRtreeValue = float32
-
-type RtreeValue = TRtreeValue
-
-/* Low accuracy coordinate */
-
-/*
-** Set the Rtree.bCorrupt flag
- */
-
-/*
-** When doing a search of an r-tree, instances of the following structure
-** record intermediate results from the tree walk.
-**
-** The id is always a node-id. For iLevel>=1 the id is the node-id of
-** the node that the RtreeSearchPoint represents. When iLevel==0, however,
-** the id is of the parent node and the cell that RtreeSearchPoint
-** represents is the iCell-th entry in the parent node.
- */
-type TRtreeSearchPoint1 = struct {
- FrScore TRtreeDValue
- Fid Tsqlite3_int64
- FiLevel Tu8
- FeWithin Tu8
- FiCell Tu8
-}
-
-type RtreeSearchPoint1 = TRtreeSearchPoint1
-
-/*
-** The minimum number of cells allowed for a node is a third of the
-** maximum. In Gutman's notation:
-**
-** m = M/3
-**
-** If an R*-tree "Reinsert" operation is required, the same number of
-** cells are removed from the overfull node and reinserted into the tree.
- */
-
-/*
-** The smallest possible node-size is (512-64)==448 bytes. And the largest
-** supported cell size is 48 bytes (8 byte rowid + ten 4 byte coordinates).
-** Therefore all non-root nodes must contain at least 3 entries. Since
-** 3^40 is greater than 2^64, an r-tree structure always has a depth of
-** 40 or less.
- */
-
-/*
-** Number of entries in the cursor RtreeNode cache. The first entry is
-** used to cache the RtreeNode for RtreeCursor.sPoint. The remaining
-** entries cache the RtreeNode for the first elements of the priority queue.
- */
+type Rtree = TRtree
-/*
-** An rtree cursor object.
- */
-type TRtreeCursor1 = struct {
+type TRtreeCursor = struct {
Fbase Tsqlite3_vtab_cursor
FatEOF Tu8
FbPoint Tu8
@@ -176556,33 +169797,27 @@ type TRtreeCursor1 = struct {
FanQueue [41]Tu32
}
-type RtreeCursor1 = TRtreeCursor1
-
-/* Return the Rtree of a RtreeCursor */
+type RtreeCursor = TRtreeCursor
-/*
-** A coordinate can be either a floating point number or a integer. All
-** coordinates within a single R-Tree are always of the same time.
- */
-type TRtreeCoord1 = struct {
- Fi [0]int32
- Fu [0]Tu32
- Ff TRtreeValue
+type TRtreeNode = struct {
+ FpParent uintptr
+ FiNode Ti64
+ FnRef int32
+ FisDirty int32
+ FzData uintptr
+ FpNext uintptr
}
-type RtreeCoord1 = TRtreeCoord1
+type RtreeNode = TRtreeNode
-/*
-** The argument is an RtreeCoord. Return the value stored within the RtreeCoord
-** formatted as a RtreeDValue (double or int64). This macro assumes that local
-** variable pRtree points to the Rtree structure associated with the
-** RtreeCoord.
- */
+type TRtreeCell = struct {
+ FiRowid Ti64
+ FaCoord [10]TRtreeCoord
+}
-/*
-** A search constraint.
- */
-type TRtreeConstraint1 = struct {
+type RtreeCell = TRtreeCell
+
+type TRtreeConstraint = struct {
FiCoord int32
Fop int32
Fu struct {
@@ -176593,78 +169828,62 @@ type TRtreeConstraint1 = struct {
FpInfo uintptr
}
-type RtreeConstraint1 = TRtreeConstraint1
-
-/* Possible values for RtreeConstraint.op */
-
-/* Special operators available only on cursors. Needs to be consecutive
-** with the normal values above, but must be less than RTREE_MATCH. These
-** are used in the cursor for contraints such as x=NULL (RTREE_FALSE) or
-** x<'xyz' (RTREE_TRUE) */
-
-/*
-** An rtree structure node.
- */
-type TRtreeNode1 = struct {
- FpParent uintptr
- FiNode Ti64
- FnRef int32
- FisDirty int32
- FzData uintptr
- FpNext uintptr
-}
-
-type RtreeNode1 = TRtreeNode1
-
-/* Return the number of cells in a node */
+type RtreeConstraint = TRtreeConstraint
-/*
-** A single cell from a node, deserialized
- */
-type TRtreeCell1 = struct {
- FiRowid Ti64
- FaCoord [10]TRtreeCoord
+type TRtreeMatchArg = struct {
+ FiSize Tu32
+ Fcb TRtreeGeomCallback
+ FnParam int32
+ FapSqlParam uintptr
}
-type RtreeCell1 = TRtreeCell1
+type RtreeMatchArg = TRtreeMatchArg
-/*
-** This object becomes the sqlite3_user_data() for the SQL functions
-** that are created by sqlite3_rtree_geometry_callback() and
-** sqlite3_rtree_query_callback() and which appear on the right of MATCH
-** operators in order to constrain a search.
-**
-** xGeom and xQueryFunc are the callback functions. Exactly one of
-** xGeom and xQueryFunc fields is non-NULL, depending on whether the
-** SQL function was created using sqlite3_rtree_geometry_callback() or
-** sqlite3_rtree_query_callback().
-**
-** This object is deleted automatically by the destructor mechanism in
-** sqlite3_create_function_v2().
- */
-type TRtreeGeomCallback1 = struct {
+type TRtreeGeomCallback = struct {
FxGeom uintptr
FxQueryFunc uintptr
FxDestructor uintptr
FpContext uintptr
}
-type RtreeGeomCallback1 = TRtreeGeomCallback1
+type RtreeGeomCallback = TRtreeGeomCallback
-/*
-** An instance of this structure (in the form of a BLOB) is returned by
-** the SQL functions that sqlite3_rtree_geometry_callback() and
-** sqlite3_rtree_query_callback() create, and is read as the right-hand
-** operand to the MATCH operator of an R-Tree.
- */
-type TRtreeMatchArg1 = struct {
- FiSize Tu32
- Fcb TRtreeGeomCallback
- FnParam int32
- FapSqlParam uintptr
+type TRtreeCoord = struct {
+ Fi [0]int32
+ Fu [0]Tu32
+ Ff TRtreeValue
+}
+
+type RtreeCoord = TRtreeCoord
+
+type TRtreeSearchPoint = struct {
+ FrScore TRtreeDValue
+ Fid Tsqlite3_int64
+ FiLevel Tu8
+ FeWithin Tu8
+ FiCell Tu8
}
-type RtreeMatchArg1 = TRtreeMatchArg1
+type RtreeSearchPoint = TRtreeSearchPoint
+
+/* Possible values for Rtree.eCoordType: */
+
+// C documentation
+//
+// /*
+// ** If SQLITE_RTREE_INT_ONLY is defined, then this virtual table will
+// ** only deal with integer coordinates. No floating point operations
+// ** will be done.
+// */
+type TRtreeDValue = float64
+
+type RtreeDValue = TRtreeDValue
+
+/* High accuracy coordinate */
+
+type TRtreeValue = float32
+
+type RtreeValue = TRtreeValue
/* Size of an RtreeMatchArg object with N parameters */
@@ -179626,9 +172845,9 @@ func _rtreeValueDown(tls *libc.TLS, v uintptr) (r TRtreeValue) {
f = float32(d)
if float64(f) > d {
if d < libc.Float64FromInt32(0) {
- v1 = float64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
} else {
- v1 = float64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
}
f = float32(d * v1)
}
@@ -179643,9 +172862,9 @@ func _rtreeValueUp(tls *libc.TLS, v uintptr) (r TRtreeValue) {
f = float32(d)
if float64(f) < d {
if d < libc.Float64FromInt32(0) {
- v1 = float64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
} else {
- v1 = float64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
}
f = float32(d * v1)
}
@@ -180545,23 +173764,6 @@ type TRtreeCheck = struct {
type RtreeCheck = TRtreeCheck
-type TRtreeCheck1 = struct {
- Fdb uintptr
- FzDb uintptr
- FzTab uintptr
- FbInt int32
- FnDim int32
- FpGetNode uintptr
- FaCheckMapping [2]uintptr
- FnLeaf int32
- FnNonLeaf int32
- Frc int32
- FzReport uintptr
- FnErr int32
-}
-
-type RtreeCheck1 = TRtreeCheck1
-
// C documentation
//
// /*
@@ -181146,14 +174348,6 @@ type TGeoPoly = struct {
type GeoPoly = TGeoPoly
-type TGeoPoly1 = struct {
- FnVertex int32
- Fhdr [4]uint8
- Fa [8]TGeoCoord
-}
-
-type GeoPoly1 = TGeoPoly1
-
/* The size of a memory allocation needed for a GeoPoly object sufficient
** to hold N coordinate pairs.
*/
@@ -181178,16 +174372,6 @@ type TGeoParse = struct {
type GeoParse = TGeoParse
-type TGeoParse1 = struct {
- Fz uintptr
- FnVertex int32
- FnAlloc int32
- FnErr int32
- Fa uintptr
-}
-
-type GeoParse1 = TGeoParse1
-
// C documentation
//
// /* Do a 4-byte byte swap */
@@ -181970,13 +175154,6 @@ type TGeoBBox = struct {
type GeoBBox = TGeoBBox
-type TGeoBBox1 = struct {
- FisInit int32
- Fa [4]TRtreeCoord
-}
-
-type GeoBBox1 = TGeoBBox1
-
// C documentation
//
// /*
@@ -182211,36 +175388,6 @@ type TGeoOverlap = struct {
type GeoOverlap = TGeoOverlap
-type TGeoEvent1 = struct {
- Fx float64
- FeType int32
- FpSeg uintptr
- FpNext uintptr
-}
-
-type GeoEvent1 = TGeoEvent1
-
-type TGeoSegment1 = struct {
- FC float64
- FB float64
- Fy float64
- Fy0 float32
- Fside uint8
- Fidx uint32
- FpNext uintptr
-}
-
-type GeoSegment1 = TGeoSegment1
-
-type TGeoOverlap1 = struct {
- FaEvent uintptr
- FaSegment uintptr
- FnEvent int32
- FnSegment int32
-}
-
-type GeoOverlap1 = TGeoOverlap1
-
// C documentation
//
// /*
@@ -183211,16 +176358,16 @@ geopoly_update_end:
// ** Report that geopoly_overlap() is an overloaded function suitable
// ** for use in xBestIndex.
// */
-func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) {
+func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, __ccgo_fp_pxFunc uintptr, ppArg uintptr) (r int32) {
_ = pVtab
_ = nArg
if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28670) == 0 {
- *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyOverlapFunc)
+ *(*uintptr)(unsafe.Pointer(__ccgo_fp_pxFunc)) = __ccgo_fp(_geopolyOverlapFunc)
*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
return int32(SQLITE_INDEX_CONSTRAINT_FUNCTION)
}
if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28686) == 0 {
- *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyWithinFunc)
+ *(*uintptr)(unsafe.Pointer(__ccgo_fp_pxFunc)) = __ccgo_fp(_geopolyWithinFunc)
*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
return libc.Int32FromInt32(SQLITE_INDEX_CONSTRAINT_FUNCTION) + libc.Int32FromInt32(1)
}
@@ -183529,12 +176676,14 @@ func _geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
}
}
+type t__ccgo_fp__Xsqlite3_rtree_geometry_callback_2 = func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Register a new geometry function for use with the r-tree MATCH operator.
// */
-func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, xGeom uintptr, pContext uintptr) (r int32) {
+func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, __ccgo_fp_xGeom uintptr, pContext uintptr) (r int32) {
var pGeomCtx uintptr
_ = pGeomCtx /* Context object for new user-function */
/* Allocate and populate the context object. */
@@ -183542,33 +176691,37 @@ func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr,
if !(pGeomCtx != 0) {
return int32(SQLITE_NOMEM)
}
- (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxGeom = xGeom
+ (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxGeom = __ccgo_fp_xGeom
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxQueryFunc = uintptr(0)
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxDestructor = uintptr(0)
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FpContext = pContext
return Xsqlite3_create_function_v2(tls, db, zGeom, -int32(1), int32(SQLITE_ANY), pGeomCtx, __ccgo_fp(_geomCallback), uintptr(0), uintptr(0), __ccgo_fp(_rtreeFreeCallback))
}
+type t__ccgo_fp__Xsqlite3_rtree_query_callback_2 = func(*libc.TLS, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3_rtree_query_callback_4 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a new 2nd-generation geometry function for use with the
// ** r-tree MATCH operator.
// */
-func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, xQueryFunc uintptr, pContext uintptr, xDestructor uintptr) (r int32) {
+func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, __ccgo_fp_xQueryFunc uintptr, pContext uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
var pGeomCtx uintptr
_ = pGeomCtx /* Context object for new user-function */
/* Allocate and populate the context object. */
pGeomCtx = Xsqlite3_malloc(tls, int32(32))
if !(pGeomCtx != 0) {
- if xDestructor != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestructor})))(tls, pContext)
+ if __ccgo_fp_xDestructor != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestructor})))(tls, pContext)
}
return int32(SQLITE_NOMEM)
}
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxGeom = uintptr(0)
- (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxQueryFunc = xQueryFunc
- (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxDestructor = xDestructor
+ (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxQueryFunc = __ccgo_fp_xQueryFunc
+ (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxDestructor = __ccgo_fp_xDestructor
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FpContext = pContext
return Xsqlite3_create_function_v2(tls, db, zQueryFunc, -int32(1), int32(SQLITE_ANY), pGeomCtx, __ccgo_fp(_geomCallback), uintptr(0), uintptr(0), __ccgo_fp(_rtreeFreeCallback))
}
@@ -184186,248 +177339,6 @@ type TRbuUpdateStmt = struct {
type RbuUpdateStmt = TRbuUpdateStmt
-/*
-** These values must match the values defined in wal.c for the equivalent
-** locks. These are not magic numbers as they are part of the SQLite file
-** format.
- */
-
-/*
-** A structure to store values read from the rbu_state table in memory.
- */
-type TRbuState1 = struct {
- FeStage int32
- FzTbl uintptr
- FzDataTbl uintptr
- FzIdx uintptr
- FiWalCksum Ti64
- FnRow int32
- FnProgress Ti64
- FiCookie Tu32
- FiOalSz Ti64
- FnPhaseOneStep Ti64
-}
-
-type RbuState1 = TRbuState1
-
-type TRbuUpdateStmt1 = struct {
- FzMask uintptr
- FpUpdate uintptr
- FpNext uintptr
-}
-
-type RbuUpdateStmt1 = TRbuUpdateStmt1
-
-type TRbuSpan1 = struct {
- FzSpan uintptr
- FnSpan int32
-}
-
-type RbuSpan1 = TRbuSpan1
-
-/*
-** An iterator of this type is used to iterate through all objects in
-** the target database that require updating. For each such table, the
-** iterator visits, in order:
-**
-** * the table itself,
-** * each index of the table (zero or more points to visit), and
-** * a special "cleanup table" state.
-**
-** abIndexed:
-** If the table has no indexes on it, abIndexed is set to NULL. Otherwise,
-** it points to an array of flags nTblCol elements in size. The flag is
-** set for each column that is either a part of the PK or a part of an
-** index. Or clear otherwise.
-**
-** If there are one or more partial indexes on the table, all fields of
-** this array set set to 1. This is because in that case, the module has
-** no way to tell which fields will be required to add and remove entries
-** from the partial indexes.
-**
- */
-type TRbuObjIter1 = struct {
- FpTblIter uintptr
- FpIdxIter uintptr
- FnTblCol int32
- FazTblCol uintptr
- FazTblType uintptr
- FaiSrcOrder uintptr
- FabTblPk uintptr
- FabNotNull uintptr
- FabIndexed uintptr
- FeType int32
- FbCleanup int32
- FzTbl uintptr
- FzDataTbl uintptr
- FzIdx uintptr
- FiTnum int32
- FiPkTnum int32
- FbUnique int32
- FnIndex int32
- FnCol int32
- FpSelect uintptr
- FpInsert uintptr
- FpDelete uintptr
- FpTmpInsert uintptr
- FnIdxCol int32
- FaIdxCol uintptr
- FzIdxSql uintptr
- FpRbuUpdate uintptr
-}
-
-type RbuObjIter1 = TRbuObjIter1
-
-/*
-** Values for RbuObjIter.eType
-**
-** 0: Table does not exist (error)
-** 1: Table has an implicit rowid.
-** 2: Table has an explicit IPK column.
-** 3: Table has an external PK index.
-** 4: Table is WITHOUT ROWID.
-** 5: Table is a virtual table.
- */
-
-/*
-** Within the RBU_STAGE_OAL stage, each call to sqlite3rbu_step() performs
-** one of the following operations.
- */
-
-/*
-** A single step of an incremental checkpoint - frame iWalFrame of the wal
-** file should be copied to page iDbPage of the database file.
- */
-type TRbuFrame1 = struct {
- FiDbPage Tu32
- FiWalFrame Tu32
-}
-
-type RbuFrame1 = TRbuFrame1
-
-/*
-** RBU handle.
-**
-** nPhaseOneStep:
-** If the RBU database contains an rbu_count table, this value is set to
-** a running estimate of the number of b-tree operations required to
-** finish populating the *-oal file. This allows the sqlite3_bp_progress()
-** API to calculate the permyriadage progress of populating the *-oal file
-** using the formula:
-**
-** permyriadage = (10000 * nProgress) / nPhaseOneStep
-**
-** nPhaseOneStep is initialized to the sum of:
-**
-** nRow * (nIndex + 1)
-**
-** for all source tables in the RBU database, where nRow is the number
-** of rows in the source table and nIndex the number of indexes on the
-** corresponding target database table.
-**
-** This estimate is accurate if the RBU update consists entirely of
-** INSERT operations. However, it is inaccurate if:
-**
-** * the RBU update contains any UPDATE operations. If the PK specified
-** for an UPDATE operation does not exist in the target table, then
-** no b-tree operations are required on index b-trees. Or if the
-** specified PK does exist, then (nIndex*2) such operations are
-** required (one delete and one insert on each index b-tree).
-**
-** * the RBU update contains any DELETE operations for which the specified
-** PK does not exist. In this case no operations are required on index
-** b-trees.
-**
-** * the RBU update contains REPLACE operations. These are similar to
-** UPDATE operations.
-**
-** nPhaseOneStep is updated to account for the conditions above during the
-** first pass of each source table. The updated nPhaseOneStep value is
-** stored in the rbu_state table if the RBU update is suspended.
- */
-type Tsqlite3rbu1 = struct {
- FeStage int32
- FdbMain uintptr
- FdbRbu uintptr
- FzTarget uintptr
- FzRbu uintptr
- FzState uintptr
- FzStateDb [5]uint8
- Frc int32
- FzErrmsg uintptr
- FnStep int32
- FnProgress Tsqlite3_int64
- Fobjiter TRbuObjIter
- FzVfsName uintptr
- FpTargetFd uintptr
- FnPagePerSector int32
- FiOalSz Ti64
- FnPhaseOneStep Ti64
- FpRenameArg uintptr
- FxRename uintptr
- FiMaxFrame Tu32
- FmLock Tu32
- FnFrame int32
- FnFrameAlloc int32
- FaFrame uintptr
- Fpgsz int32
- FaBuf uintptr
- FiWalCksum Ti64
- FszTemp Ti64
- FszTempLimit Ti64
- FnRbu int32
- FpRbuFd uintptr
-}
-
-type sqlite3rbu1 = Tsqlite3rbu1
-
-/*
-** An rbu VFS is implemented using an instance of this structure.
-**
-** Variable pRbu is only non-NULL for automatically created RBU VFS objects.
-** It is NULL for RBU VFS objects created explicitly using
-** sqlite3rbu_create_vfs(). It is used to track the total amount of temp
-** space used by the RBU handle.
- */
-type Trbu_vfs1 = struct {
- Fbase Tsqlite3_vfs
- FpRealVfs uintptr
- Fmutex uintptr
- FpRbu uintptr
- FpMain uintptr
- FpMainRbu uintptr
-}
-
-type rbu_vfs1 = Trbu_vfs1
-
-/*
-** Each file opened by an rbu VFS is represented by an instance of
-** the following structure.
-**
-** If this is a temporary file (pRbu!=0 && flags&DELETE_ON_CLOSE), variable
-** "sz" is set to the current size of the database file.
- */
-type Trbu_file1 = struct {
- Fbase Tsqlite3_file
- FpReal uintptr
- FpRbuVfs uintptr
- FpRbu uintptr
- Fsz Ti64
- FopenFlags int32
- FiCookie Tu32
- FiWriteVer Tu8
- FbNolock Tu8
- FnShm int32
- FapShm uintptr
- FzDel uintptr
- FzWal uintptr
- FpWalFd uintptr
- FpMainNext uintptr
- FpMainRbuNext uintptr
-}
-
-type rbu_file1 = Trbu_file1
-
/*
** True for an RBU vacuum handle, or false otherwise.
*/
@@ -187141,7 +180052,7 @@ func _rbuShmChecksum(tls *libc.TLS, p uintptr) (r Ti64) {
iRet = 0
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
iRet = libc.Int64FromUint64(uint64(libc.AtomicLoadPUint32(*(*uintptr)(unsafe.Pointer(bp))+libc.UintptrFromInt32(10)*4))< (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz {
(*Tsqlite3rbu)(unsafe.Pointer(p)).FnPagePerSector = nSectorSize / (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz
} else {
@@ -187243,7 +180154,7 @@ func _rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
** directory in which the target database and the wal file reside, in
** case it has not been synced since the rename() call in
** rbuMoveOalFile(). */
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxSync})))(tls, pWal, int32(SQLITE_SYNC_NORMAL))
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxSync})))(tls, pWal, int32(SQLITE_SYNC_NORMAL))
}
}
}
@@ -187316,12 +180227,12 @@ func _rbuCheckpointFrame(tls *libc.TLS, p uintptr, pFrame uintptr) {
pWal = (*Trbu_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd)).FpReal
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
iOff = libc.Int64FromUint32((*TRbuFrame)(unsafe.Pointer(pFrame)).FiWalFrame-libc.Uint32FromInt32(1))*int64((*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz+libc.Int32FromInt32(24)) + int64(32) + int64(24)
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxRead})))(tls, pWal, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxRead})))(tls, pWal, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
return
}
iOff = libc.Int64FromUint32((*TRbuFrame)(unsafe.Pointer(pFrame)).FiDbPage-libc.Uint32FromInt32(1)) * int64((*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz)
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxWrite})))(tls, pDb, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxWrite})))(tls, pDb, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
}
/*
@@ -187346,18 +180257,18 @@ func _rbuLockDatabase(tls *libc.TLS, db uintptr) (r int32) {
Xsqlite3_file_control(tls, db, __ccgo_ts+6738, int32(RBU_ZIPVFS_CTRL_FILE_POINTER), bp)
if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
Xsqlite3_file_control(tls, db, __ccgo_ts+6738, int32(SQLITE_FCNTL_FILE_POINTER), bp)
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
if rc == SQLITE_OK {
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxUnlock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), SQLITE_LOCK_NONE)
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxUnlock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), SQLITE_LOCK_NONE)
}
Xsqlite3_file_control(tls, db, __ccgo_ts+6738, int32(RBU_ZIPVFS_CTRL_FILE_POINTER), bp)
} else {
Xsqlite3_file_control(tls, db, __ccgo_ts+6738, int32(SQLITE_FCNTL_FILE_POINTER), bp)
}
if rc == SQLITE_OK && (*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods != 0 {
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
if rc == SQLITE_OK {
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_EXCLUSIVE))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_EXCLUSIVE))
}
}
return rc
@@ -187875,10 +180786,10 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) (r int32) {
if (*Tsqlite3rbu)(unsafe.Pointer(p)).FnStep >= (*Tsqlite3rbu)(unsafe.Pointer(p)).FnFrame {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
/* Sync the db file */
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
/* Update nBackfill */
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
*(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 24*4)) = (*Tsqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame
}
@@ -188397,7 +181308,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) {
/* Sync the db file if currently doing an incremental checkpoint */
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
}
_rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) {
@@ -188518,7 +181429,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) {
/* Sync the db file */
if rc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
}
(*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc
_rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage)
@@ -188563,9 +181474,11 @@ func _xDefaultRename(tls *libc.TLS, pArg uintptr, zOld uintptr, zNew uintptr) (r
return rc
}
-func Xsqlite3rbu_rename_handler(tls *libc.TLS, pRbu uintptr, pArg uintptr, xRename uintptr) {
- if xRename != 0 {
- (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FxRename = xRename
+type t__ccgo_fp__Xsqlite3rbu_rename_handler_2 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+func Xsqlite3rbu_rename_handler(tls *libc.TLS, pRbu uintptr, pArg uintptr, __ccgo_fp_xRename uintptr) {
+ if __ccgo_fp_xRename != 0 {
+ (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FxRename = __ccgo_fp_xRename
(*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FpRenameArg = pArg
} else {
(*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FxRename = __ccgo_fp(_xDefaultRename)
@@ -188637,7 +181550,7 @@ func _rbuUnlockShm(tls *libc.TLS, p uintptr) {
var xShmLock uintptr
_, _ = i, xShmLock
if (*Trbu_file)(unsafe.Pointer(p)).FpRbu != 0 {
- xShmLock = (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock
+ xShmLock = (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock
i = 0
for {
if !(i < int32(SQLITE_SHM_NLOCK)) {
@@ -188840,7 +181753,7 @@ func _rbuVfsClose(tls *libc.TLS, pFile uintptr) (r int32) {
}
}
/* Close the underlying file handle */
- rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxClose})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal)
+ rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxClose})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal)
return rc
}
@@ -188891,14 +181804,14 @@ func _rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst T
rc = SQLITE_OK
libc.Xmemset(tls, zBuf, 0, libc.Uint64FromInt32(iAmt))
} else {
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxRead})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxRead})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst)
/* If this is being called to read the first page of the target
** database as part of an rbu vacuum operation, synthesize the
** contents of the first page if it does not yet exist. Otherwise,
** SQLite will not check for a *-wal file. */
if pRbu != 0 && (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzTarget == uintptr(0) && rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(2)<= libc.Int32FromUint64(libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(64)) {
_statResetCsr(tls, pCsr)
- return _sqlite3CorruptError(tls, int32(227354))
+ return _sqlite3CorruptError(tls, int32(227381))
}
if (*TStatPage)(unsafe.Pointer(p)).FiCell == (*TStatPage)(unsafe.Pointer(p)).FnCell {
(*(*TStatPage)(unsafe.Pointer(p + 1*64))).FiPgno = (*TStatPage)(unsafe.Pointer(p)).FiRightChildPg
@@ -190823,315 +183675,6 @@ type TSessionHook = struct {
type SessionHook = TSessionHook
-type TSessionHook1 = struct {
- FpCtx uintptr
- FxOld uintptr
- FxNew uintptr
- FxCount uintptr
- FxDepth uintptr
-}
-
-type SessionHook1 = TSessionHook1
-
-/*
-** Session handle structure.
- */
-type Tsqlite3_session1 = struct {
- Fdb uintptr
- FzDb uintptr
- FbEnableSize int32
- FbEnable int32
- FbIndirect int32
- FbAutoAttach int32
- FbImplicitPK int32
- Frc int32
- FpFilterCtx uintptr
- FxTableFilter uintptr
- FnMalloc Ti64
- FnMaxChangesetSize Ti64
- FpZeroBlob uintptr
- FpNext uintptr
- FpTable uintptr
- Fhook TSessionHook
-}
-
-type sqlite3_session1 = Tsqlite3_session1
-
-/*
-** Instances of this structure are used to build strings or binary records.
- */
-type TSessionBuffer1 = struct {
- FaBuf uintptr
- FnBuf int32
- FnAlloc int32
-}
-
-type SessionBuffer1 = TSessionBuffer1
-
-/*
-** An object of this type is used internally as an abstraction for
-** input data. Input data may be supplied either as a single large buffer
-** (e.g. sqlite3changeset_start()) or using a stream function (e.g.
-** sqlite3changeset_start_strm()).
-**
-** bNoDiscard:
-** If true, then the only time data is discarded is as a result of explicit
-** sessionDiscardData() calls. Not within every sessionInputBuffer() call.
- */
-type TSessionInput1 = struct {
- FbNoDiscard int32
- FiCurrent int32
- FiNext int32
- FaData uintptr
- FnData int32
- Fbuf TSessionBuffer
- FxInput uintptr
- FpIn uintptr
- FbEof int32
-}
-
-type SessionInput1 = TSessionInput1
-
-/*
-** Structure for changeset iterators.
- */
-type Tsqlite3_changeset_iter1 = struct {
- Fin TSessionInput
- Ftblhdr TSessionBuffer
- FbPatchset int32
- FbInvert int32
- FbSkipEmpty int32
- Frc int32
- FpConflict uintptr
- FzTab uintptr
- FnCol int32
- Fop int32
- FbIndirect int32
- FabPK uintptr
- FapValue uintptr
-}
-
-type sqlite3_changeset_iter1 = Tsqlite3_changeset_iter1
-
-/*
-** Each session object maintains a set of the following structures, one
-** for each table the session object is monitoring. The structures are
-** stored in a linked list starting at sqlite3_session.pTable.
-**
-** The keys of the SessionTable.aChange[] hash table are all rows that have
-** been modified in any way since the session object was attached to the
-** table.
-**
-** The data associated with each hash-table entry is a structure containing
-** a subset of the initial values that the modified row contained at the
-** start of the session. Or no initial values if the row was inserted.
-**
-** pDfltStmt:
-** This is only used by the sqlite3changegroup_xxx() APIs, not by
-** regular sqlite3_session objects. It is a SELECT statement that
-** selects the default value for each table column. For example,
-** if the table is
-**
-** CREATE TABLE xx(a DEFAULT 1, b, c DEFAULT 'abc')
-**
-** then this variable is the compiled version of:
-**
-** SELECT 1, NULL, 'abc'
- */
-type TSessionTable1 = struct {
- FpNext uintptr
- FzName uintptr
- FnCol int32
- FnTotalCol int32
- FbStat1 int32
- FbRowid int32
- FazCol uintptr
- FazDflt uintptr
- FaiIdx uintptr
- FabPK uintptr
- FnEntry int32
- FnChange int32
- FapChange uintptr
- FpDfltStmt uintptr
-}
-
-type SessionTable1 = TSessionTable1
-
-/*
-** RECORD FORMAT:
-**
-** The following record format is similar to (but not compatible with) that
-** used in SQLite database files. This format is used as part of the
-** change-set binary format, and so must be architecture independent.
-**
-** Unlike the SQLite database record format, each field is self-contained -
-** there is no separation of header and data. Each field begins with a
-** single byte describing its type, as follows:
-**
-** 0x00: Undefined value.
-** 0x01: Integer value.
-** 0x02: Real value.
-** 0x03: Text value.
-** 0x04: Blob value.
-** 0x05: SQL NULL value.
-**
-** Note that the above match the definitions of SQLITE_INTEGER, SQLITE_TEXT
-** and so on in sqlite3.h. For undefined and NULL values, the field consists
-** only of the single type byte. For other types of values, the type byte
-** is followed by:
-**
-** Text values:
-** A varint containing the number of bytes in the value (encoded using
-** UTF-8). Followed by a buffer containing the UTF-8 representation
-** of the text value. There is no nul terminator.
-**
-** Blob values:
-** A varint containing the number of bytes in the value, followed by
-** a buffer containing the value itself.
-**
-** Integer values:
-** An 8-byte big-endian integer value.
-**
-** Real values:
-** An 8-byte big-endian IEEE 754-2008 real value.
-**
-** Varint values are encoded in the same way as varints in the SQLite
-** record format.
-**
-** CHANGESET FORMAT:
-**
-** A changeset is a collection of DELETE, UPDATE and INSERT operations on
-** one or more tables. Operations on a single table are grouped together,
-** but may occur in any order (i.e. deletes, updates and inserts are all
-** mixed together).
-**
-** Each group of changes begins with a table header:
-**
-** 1 byte: Constant 0x54 (capital 'T')
-** Varint: Number of columns in the table.
-** nCol bytes: 0x01 for PK columns, 0x00 otherwise.
-** N bytes: Unqualified table name (encoded using UTF-8). Nul-terminated.
-**
-** Followed by one or more changes to the table.
-**
-** 1 byte: Either SQLITE_INSERT (0x12), UPDATE (0x17) or DELETE (0x09).
-** 1 byte: The "indirect-change" flag.
-** old.* record: (delete and update only)
-** new.* record: (insert and update only)
-**
-** The "old.*" and "new.*" records, if present, are N field records in the
-** format described above under "RECORD FORMAT", where N is the number of
-** columns in the table. The i'th field of each record is associated with
-** the i'th column of the table, counting from left to right in the order
-** in which columns were declared in the CREATE TABLE statement.
-**
-** The new.* record that is part of each INSERT change contains the values
-** that make up the new row. Similarly, the old.* record that is part of each
-** DELETE change contains the values that made up the row that was deleted
-** from the database. In the changeset format, the records that are part
-** of INSERT or DELETE changes never contain any undefined (type byte 0x00)
-** fields.
-**
-** Within the old.* record associated with an UPDATE change, all fields
-** associated with table columns that are not PRIMARY KEY columns and are
-** not modified by the UPDATE change are set to "undefined". Other fields
-** are set to the values that made up the row before the UPDATE that the
-** change records took place. Within the new.* record, fields associated
-** with table columns modified by the UPDATE change contain the new
-** values. Fields associated with table columns that are not modified
-** are set to "undefined".
-**
-** PATCHSET FORMAT:
-**
-** A patchset is also a collection of changes. It is similar to a changeset,
-** but leaves undefined those fields that are not useful if no conflict
-** resolution is required when applying the changeset.
-**
-** Each group of changes begins with a table header:
-**
-** 1 byte: Constant 0x50 (capital 'P')
-** Varint: Number of columns in the table.
-** nCol bytes: 0x01 for PK columns, 0x00 otherwise.
-** N bytes: Unqualified table name (encoded using UTF-8). Nul-terminated.
-**
-** Followed by one or more changes to the table.
-**
-** 1 byte: Either SQLITE_INSERT (0x12), UPDATE (0x17) or DELETE (0x09).
-** 1 byte: The "indirect-change" flag.
-** single record: (PK fields for DELETE, PK and modified fields for UPDATE,
-** full record for INSERT).
-**
-** As in the changeset format, each field of the single record that is part
-** of a patchset change is associated with the correspondingly positioned
-** table column, counting from left to right within the CREATE TABLE
-** statement.
-**
-** For a DELETE change, all fields within the record except those associated
-** with PRIMARY KEY columns are omitted. The PRIMARY KEY fields contain the
-** values identifying the row to delete.
-**
-** For an UPDATE change, all fields except those associated with PRIMARY KEY
-** columns and columns that are modified by the UPDATE are set to "undefined".
-** PRIMARY KEY fields contain the values identifying the table row to update,
-** and fields associated with modified columns contain the new column values.
-**
-** The records associated with INSERT changes are in the same format as for
-** changesets. It is not possible for a record associated with an INSERT
-** change to contain a field set to "undefined".
-**
-** REBASE BLOB FORMAT:
-**
-** A rebase blob may be output by sqlite3changeset_apply_v2() and its
-** streaming equivalent for use with the sqlite3_rebaser APIs to rebase
-** existing changesets. A rebase blob contains one entry for each conflict
-** resolved using either the OMIT or REPLACE strategies within the apply_v2()
-** call.
-**
-** The format used for a rebase blob is very similar to that used for
-** changesets. All entries related to a single table are grouped together.
-**
-** Each group of entries begins with a table header in changeset format:
-**
-** 1 byte: Constant 0x54 (capital 'T')
-** Varint: Number of columns in the table.
-** nCol bytes: 0x01 for PK columns, 0x00 otherwise.
-** N bytes: Unqualified table name (encoded using UTF-8). Nul-terminated.
-**
-** Followed by one or more entries associated with the table.
-**
-** 1 byte: Either SQLITE_INSERT (0x12), DELETE (0x09).
-** 1 byte: Flag. 0x01 for REPLACE, 0x00 for OMIT.
-** record: (in the record format defined above).
-**
-** In a rebase blob, the first field is set to SQLITE_INSERT if the change
-** that caused the conflict was an INSERT or UPDATE, or to SQLITE_DELETE if
-** it was a DELETE. The second field is set to 0x01 if the conflict
-** resolution strategy was REPLACE, or 0x00 if it was OMIT.
-**
-** If the change that caused the conflict was a DELETE, then the single
-** record is a copy of the old.* record from the original changeset. If it
-** was an INSERT, then the single record is a copy of the new.* record. If
-** the conflicting change was an UPDATE, then the single record is a copy
-** of the new.* record with the PK fields filled in based on the original
-** old.* record.
- */
-
-/*
-** For each row modified during a session, there exists a single instance of
-** this structure stored in a SessionTable.aChange[] hash table.
- */
-type TSessionChange1 = struct {
- Fop Tu8
- FbIndirect Tu8
- FnRecordField Tu16
- FnMaxSize int32
- FnRecord int32
- FaRecord uintptr
- FpNext uintptr
-}
-
-type SessionChange1 = TSessionChange1
-
// C documentation
//
// /*
@@ -192537,13 +185080,6 @@ type TSessionStat1Ctx = struct {
type SessionStat1Ctx = TSessionStat1Ctx
-type TSessionStat1Ctx1 = struct {
- Fhook TSessionHook
- FpSession uintptr
-}
-
-type SessionStat1Ctx1 = TSessionStat1Ctx1
-
func _sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
@@ -193035,14 +185571,6 @@ type TSessionDiffCtx = struct {
type SessionDiffCtx = TSessionDiffCtx
-type TSessionDiffCtx1 = struct {
- FpStmt uintptr
- FbRowid int32
- FnOldOff int32
-}
-
-type SessionDiffCtx1 = TSessionDiffCtx1
-
// C documentation
//
// /*
@@ -193550,15 +186078,17 @@ func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) {
Xsqlite3_free(tls, pSession)
}
+type t__ccgo_fp__Xsqlite3session_table_filter_1 = func(*libc.TLS, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Set a table filter on a Session Object.
// */
-func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) {
+func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, __ccgo_fp_xFilter uintptr, pCtx uintptr) {
(*Tsqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = int32(1)
(*Tsqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx
- (*Tsqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter
+ (*Tsqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = __ccgo_fp_xFilter
}
// C documentation
@@ -194180,7 +186710,7 @@ func _sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab u
// ** occurs, an SQLite error code is returned and both output variables set
// ** to 0.
// */
-func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) (r int32) {
+func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, __ccgo_fp_xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var db, p, pTab, zName uintptr
@@ -194194,7 +186724,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
/* Zero the output variables in case an error occurs. If this session
** object is already in the error state (sqlite3_session.rc != SQLITE_OK),
** this call will be a no-op. */
- if xOutput == uintptr(0) {
+ if __ccgo_fp_xOutput == uintptr(0) {
*(*int32)(unsafe.Pointer(pnChangeset)) = 0
*(*uintptr)(unsafe.Pointer(ppChangeset)) = uintptr(0)
}
@@ -194270,8 +186800,8 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
}
/* If the buffer is now larger than sessions_strm_chunk_size, pass
** its contents to the xOutput() callback. */
- if xOutput != 0 && *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > nNoop && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp + 16)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
+ if __ccgo_fp_xOutput != 0 && *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > nNoop && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp + 16)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
nNoop = -int32(1)
(*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf = 0
}
@@ -194296,13 +186826,13 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext
}
if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
- if xOutput == uintptr(0) {
+ if __ccgo_fp_xOutput == uintptr(0) {
*(*int32)(unsafe.Pointer(pnChangeset)) = (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf
*(*uintptr)(unsafe.Pointer(ppChangeset)) = (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf
(*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf = uintptr(0)
} else {
if (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > 0 {
- *(*int32)(unsafe.Pointer(bp + 16)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
+ *(*int32)(unsafe.Pointer(bp + 16)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
}
}
}
@@ -194331,28 +186861,32 @@ func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uint
return rc
}
+type t__ccgo_fp__Xsqlite3session_changeset_strm_1 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3session_changeset().
// */
-func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) (r int32) {
- if xOutput == uintptr(0) {
+func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
+ if __ccgo_fp_xOutput == uintptr(0) {
return int32(SQLITE_MISUSE)
}
- return _sessionGenerateChangeset(tls, pSession, 0, xOutput, pOut, uintptr(0), uintptr(0))
+ return _sessionGenerateChangeset(tls, pSession, 0, __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
}
+type t__ccgo_fp__Xsqlite3session_patchset_strm_1 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3session_patchset().
// */
-func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) (r int32) {
- if xOutput == uintptr(0) {
+func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
+ if __ccgo_fp_xOutput == uintptr(0) {
return int32(SQLITE_MISUSE)
}
- return _sessionGenerateChangeset(tls, pSession, int32(1), xOutput, pOut, uintptr(0), uintptr(0))
+ return _sessionGenerateChangeset(tls, pSession, int32(1), __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
}
// C documentation
@@ -194491,7 +187025,7 @@ func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) (r Tsqlite3
// /*
// ** Do the work for either sqlite3changeset_start() or start_strm().
// */
-func _sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) (r int32) {
+func _sessionChangesetStart(tls *libc.TLS, pp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) (r int32) {
var nByte, v1 int32
var pRet uintptr
_, _, _ = nByte, pRet, v1 /* Number of bytes to allocate for iterator */
@@ -194506,9 +187040,9 @@ func _sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintp
libc.Xmemset(tls, pRet, 0, uint64(152))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FaData = pChangeset
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FnData = nChangeset
- (*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = xInput
+ (*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = __ccgo_fp_xInput
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FpIn = pIn
- if xInput != 0 {
+ if __ccgo_fp_xInput != 0 {
v1 = 0
} else {
v1 = int32(1)
@@ -194537,20 +187071,24 @@ func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pCh
return _sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0)
}
+type t__ccgo_fp__Xsqlite3changeset_start_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3changeset_start().
// */
-func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) (r int32) {
- return _sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0)
+func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr) (r int32) {
+ return _sessionChangesetStart(tls, pp, __ccgo_fp_xInput, pIn, 0, uintptr(0), 0, 0)
}
-func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) (r int32) {
+type t__ccgo_fp__Xsqlite3changeset_start_v2_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, flags int32) (r int32) {
var bInvert int32
_ = bInvert
bInvert = libc.BoolInt32(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETSTART_INVERT) != 0))
- return _sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0)
+ return _sessionChangesetStart(tls, pp, __ccgo_fp_xInput, pIn, 0, uintptr(0), bInvert, 0)
}
// C documentation
@@ -194725,7 +187263,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap
rc = _sessionInputBuffer(tls, pIn, int32(9))
if rc == SQLITE_OK {
if (*TSessionInput)(unsafe.Pointer(pIn)).FiNext >= (*TSessionInput)(unsafe.Pointer(pIn)).FnData {
- rc = _sqlite3CorruptError(tls, int32(231641))
+ rc = _sqlite3CorruptError(tls, int32(231668))
} else {
v3 = pIn + 8
v2 = *(*int32)(unsafe.Pointer(v3))
@@ -194749,7 +187287,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap
rc = _sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
if rc == SQLITE_OK {
if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext {
- rc = _sqlite3CorruptError(tls, int32(231661))
+ rc = _sqlite3CorruptError(tls, int32(231688))
} else {
if eType == int32(SQLITE_TEXT) {
v4 = int32(SQLITE_UTF8)
@@ -194764,7 +187302,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap
}
if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) {
if (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext < int32(8) {
- rc = _sqlite3CorruptError(tls, int32(231671))
+ rc = _sqlite3CorruptError(tls, int32(231698))
} else {
*(*Tsqlite3_int64)(unsafe.Pointer(bp + 8)) = _sessionGetI64(tls, aVal)
if eType == int32(SQLITE_INTEGER) {
@@ -194820,7 +187358,7 @@ func _sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) (
** large value for nCol may cause nRead to wrap around and become
** negative. Leading to a crash. */
if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > int32(65536) {
- rc = _sqlite3CorruptError(tls, int32(231719))
+ rc = _sqlite3CorruptError(tls, int32(231746))
} else {
rc = _sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+int32(100))
nRead += *(*int32)(unsafe.Pointer(bp))
@@ -194925,7 +187463,7 @@ func _sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) (r int32) {
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
_sessionBufferGrow(tls, p+72, int64(nByte), bp)
} else {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(231807))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(231834))
}
}
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
@@ -195031,7 +187569,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin
if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
/* The first record in the changeset is not a table header. Must be a
** corrupt changeset. */
- v7 = _sqlite3CorruptError(tls, int32(231893))
+ v7 = _sqlite3CorruptError(tls, int32(231920))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v7
return v7
}
@@ -195041,7 +187579,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin
*(*int32)(unsafe.Pointer(v9))++
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(v8))))
if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_DELETE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_INSERT) {
- v10 = _sqlite3CorruptError(tls, int32(231899))
+ v10 = _sqlite3CorruptError(tls, int32(231926))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v10
return v10
}
@@ -195120,7 +187658,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin
if *(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
*(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*8))
if *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*8)) == uintptr(0) {
- v16 = _sqlite3CorruptError(tls, int32(231943))
+ v16 = _sqlite3CorruptError(tls, int32(231970))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v16
return v16
}
@@ -195381,7 +187919,7 @@ func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) (r int32) {
return rc
}
-func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) (r int32) {
+func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) (r int32) {
bp := tls.Alloc(64)
defer tls.Free(64)
var abPK, apVal, pVal, pVal1, v7 uintptr
@@ -195530,11 +188068,11 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu
goto finished_invert
}
default:
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(232308))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(232335))
goto finished_invert
}
- if xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
+ if __ccgo_fp_xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
(*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf = 0
if *(*int32)(unsafe.Pointer(bp)) != SQLITE_OK {
goto finished_invert
@@ -195546,8 +188084,8 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu
*(*uintptr)(unsafe.Pointer(ppInverted)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf
(*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf = uintptr(0)
} else {
- if (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf > 0 && xOutput != uintptr(0) {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
+ if (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf > 0 && __ccgo_fp_xOutput != uintptr(0) {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
}
}
goto finished_invert
@@ -195575,12 +188113,16 @@ func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintpt
return _sessionChangesetInvert(tls, bp, uintptr(0), uintptr(0), pnInverted, ppInverted)
}
+type t__ccgo_fp__Xsqlite3changeset_invert_strm_0 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_invert_strm_2 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3changeset_invert().
// */
-func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) (r int32) {
+func Xsqlite3changeset_invert_strm(tls *libc.TLS, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
bp := tls.Alloc(80)
defer tls.Free(80)
var rc int32
@@ -195588,9 +188130,9 @@ func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, x
_ = rc
/* Set up the input stream */
libc.Xmemset(tls, bp, 0, uint64(72))
- (*(*TSessionInput)(unsafe.Pointer(bp))).FxInput = xInput
+ (*(*TSessionInput)(unsafe.Pointer(bp))).FxInput = __ccgo_fp_xInput
(*(*TSessionInput)(unsafe.Pointer(bp))).FpIn = pIn
- rc = _sessionChangesetInvert(tls, bp, xOutput, pOut, uintptr(0), uintptr(0))
+ rc = _sessionChangesetInvert(tls, bp, __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
Xsqlite3_free(tls, (*(*TSessionInput)(unsafe.Pointer(bp))).Fbuf.FaBuf)
return rc
}
@@ -195603,14 +188145,6 @@ type TSessionUpdate = struct {
type SessionUpdate = TSessionUpdate
-type TSessionUpdate1 = struct {
- FpStmt uintptr
- FaMask uintptr
- FpNext uintptr
-}
-
-type SessionUpdate1 = TSessionUpdate1
-
type TSessionApplyCtx = struct {
Fdb uintptr
FpDelete uintptr
@@ -195634,29 +188168,6 @@ type TSessionApplyCtx = struct {
type SessionApplyCtx = TSessionApplyCtx
-type TSessionApplyCtx1 = struct {
- Fdb uintptr
- FpDelete uintptr
- FpInsert uintptr
- FpSelect uintptr
- FnCol int32
- FazCol uintptr
- FabPK uintptr
- FaUpdateMask uintptr
- FpUp uintptr
- FbStat1 int32
- FbDeferConstraints int32
- FbInvertConstraints int32
- Fconstraints TSessionBuffer
- Frebase TSessionBuffer
- FbRebaseStarted Tu8
- FbRebase Tu8
- FbIgnoreNoop Tu8
- FbRowid int32
-}
-
-type SessionApplyCtx1 = TSessionApplyCtx1
-
/* Number of prepared UPDATE statements to cache. */
// C documentation
@@ -196060,7 +188571,7 @@ func _sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) (r i
// **
// ** An SQLite error code is returned if an error occurs. Otherwise, SQLITE_OK.
// */
-func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) (r int32) {
+func _sessionBindRow(tls *libc.TLS, pIter uintptr, __ccgo_fp_xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var i, rc int32
@@ -196078,11 +188589,11 @@ func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, a
}
if !(abPK != 0) || *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
- (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xValue})))(tls, pIter, i, bp)
+ (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xValue})))(tls, pIter, i, bp)
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
/* The value in the changeset was "undefined". This indicates a
** corrupt changeset blob. */
- rc = _sqlite3CorruptError(tls, int32(232790))
+ rc = _sqlite3CorruptError(tls, int32(232817))
} else {
rc = _sessionBindValue(tls, pStmt, i+int32(1), *(*uintptr)(unsafe.Pointer(bp)))
}
@@ -196259,7 +188770,7 @@ func _sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) (r
// ** SQLITE_MISUSE. If the conflict handler returns SQLITE_CHANGESET_OMIT,
// ** this function returns SQLITE_OK.
// */
-func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) (r int32) {
+func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, pbReplace uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var aBlob uintptr
@@ -196283,7 +188794,7 @@ func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintpt
res = SQLITE_CHANGESET_OMIT
} else {
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*TSessionApplyCtx)(unsafe.Pointer(p)).FpSelect
- res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConflict})))(tls, pCtx, eType, pIter)
+ res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConflict})))(tls, pCtx, eType, pIter)
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0)
}
*(*int32)(unsafe.Pointer(bp)) = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpSelect)
@@ -196298,7 +188809,7 @@ func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintpt
return SQLITE_OK
} else {
/* No other row with the new.* primary key. */
- res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConflict})))(tls, pCtx, eType+int32(1), pIter)
+ res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConflict})))(tls, pCtx, eType+int32(1), pIter)
if res == int32(SQLITE_CHANGESET_REPLACE) {
*(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_MISUSE)
}
@@ -196349,7 +188860,7 @@ func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintpt
// ** returns SQLITE_ABORT. Otherwise, if no error occurs, SQLITE_OK is
// ** returned.
// */
-func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) (r int32) {
+func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var abPK, pNew, pOld, v1 uintptr
@@ -196389,10 +188900,10 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
Xsqlite3_step(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpDelete)
rc = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpDelete)
if rc == SQLITE_OK && Xsqlite3_changes(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0 && libc.Int32FromUint8((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop) == 0 {
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, xConflict, pCtx, pbRetry)
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, __ccgo_fp_xConflict, pCtx, pbRetry)
} else {
if rc&int32(0xff) == int32(SQLITE_CONSTRAINT) {
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, xConflict, pCtx, uintptr(0))
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, __ccgo_fp_xConflict, pCtx, uintptr(0))
}
}
} else {
@@ -196430,11 +188941,11 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
/* A NOTFOUND or DATA error. Search the table to see if it contains
** a row with a matching primary key. If so, this is a DATA conflict.
** Otherwise, if there is no primary key match, it is a NOTFOUND. */
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, xConflict, pCtx, pbRetry)
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, __ccgo_fp_xConflict, pCtx, pbRetry)
} else {
if rc&int32(0xff) == int32(SQLITE_CONSTRAINT) {
/* This is always a CONSTRAINT conflict. */
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, xConflict, pCtx, uintptr(0))
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, __ccgo_fp_xConflict, pCtx, uintptr(0))
}
}
} else {
@@ -196457,7 +188968,7 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
rc = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpInsert)
}
if rc&int32(0xff) == int32(SQLITE_CONSTRAINT) {
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, xConflict, pCtx, pbReplace)
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, __ccgo_fp_xConflict, pCtx, pbReplace)
}
}
}
@@ -196476,7 +188987,7 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
// ** returns SQLITE_CHANGESET_REPLACE - indicating that the change should be
// ** retried in some manner.
// */
-func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
+func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
@@ -196485,7 +188996,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
_ = rc
*(*int32)(unsafe.Pointer(bp)) = 0
*(*int32)(unsafe.Pointer(bp + 4)) = 0
- rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, bp, bp+4)
+ rc = _sessionApplyOneOp(tls, pIter, pApply, __ccgo_fp_xConflict, pCtx, bp, bp+4)
if rc == SQLITE_OK {
/* If the bRetry flag is set, the change has not been applied due to an
** SQLITE_CHANGESET_DATA problem (i.e. this is an UPDATE or DELETE and
@@ -196495,7 +189006,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
** but pass NULL as the final argument so that sessionApplyOneOp() ignores
** the SQLITE_CHANGESET_DATA problem. */
if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
- rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
+ rc = _sessionApplyOneOp(tls, pIter, pApply, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0))
} else {
if *(*int32)(unsafe.Pointer(bp)) != 0 {
rc = Xsqlite3_exec(tls, db, __ccgo_ts+34777, uintptr(0), uintptr(0), uintptr(0))
@@ -196508,7 +189019,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
rc = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete)
}
if rc == SQLITE_OK {
- rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
+ rc = _sessionApplyOneOp(tls, pIter, pApply, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0))
}
if rc == SQLITE_OK {
rc = Xsqlite3_exec(tls, db, __ccgo_ts+34798, uintptr(0), uintptr(0), uintptr(0))
@@ -196524,7 +189035,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
// /*
// ** Retry the changes accumulated in the pApply->constraints buffer.
// */
-func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
+func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var cons TSessionBuffer
@@ -196551,7 +189062,7 @@ func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab u
libc.Xmemset(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).FapValue, 0, nByte)
}
for *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
- *(*int32)(unsafe.Pointer(bp)) = _sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8)), pApply, xConflict, pCtx)
+ *(*int32)(unsafe.Pointer(bp)) = _sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8)), pApply, __ccgo_fp_xConflict, pCtx)
}
rc2 = Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
@@ -196579,7 +189090,7 @@ func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab u
// ** conflict handler callback is invoked to resolve any conflicts encountered
// ** while applying the change.
// */
-func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
+func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
bp := tls.Alloc(352)
defer tls.Free(352)
var bPatchset, i, nMinCol, nTab, rc, rc2, res, schemaMismatch, v2, v3, v4, v6 int32
@@ -196619,7 +189130,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, pIter) {
Xsqlite3changeset_op(tls, pIter, bp+144, bp+136, bp+140, uintptr(0))
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) || Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 144)), *(*uintptr)(unsafe.Pointer(bp)), nTab+int32(1)) != 0 {
- rc = _sessionRetryConstraints(tls, db, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+8, xConflict, pCtx)
+ rc = _sessionRetryConstraints(tls, db, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+8, __ccgo_fp_xConflict, pCtx)
if rc != SQLITE_OK {
break
}
@@ -196643,7 +189154,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
/* If an xFilter() callback was specified, invoke it now. If the
** xFilter callback returns zero, skip this table. If it returns
** non-zero, proceed. */
- schemaMismatch = libc.BoolInt32(xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144))))
+ schemaMismatch = libc.BoolInt32(__ccgo_fp_xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144))))
if schemaMismatch != 0 {
*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3888, libc.VaList(bp+328, *(*uintptr)(unsafe.Pointer(bp + 144))))
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
@@ -196719,7 +189230,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
if schemaMismatch != 0 {
continue
}
- rc = _sessionApplyOneWithRetry(tls, db, pIter, bp+8, xConflict, pCtx)
+ rc = _sessionApplyOneWithRetry(tls, db, pIter, bp+8, __ccgo_fp_xConflict, pCtx)
}
bPatchset = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset
if rc == SQLITE_OK {
@@ -196728,7 +189239,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
Xsqlite3changeset_finalize(tls, pIter)
}
if rc == SQLITE_OK {
- rc = _sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+8, xConflict, pCtx)
+ rc = _sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+8, __ccgo_fp_xConflict, pCtx)
}
if rc == SQLITE_OK {
Xsqlite3_db_status(tls, db, int32(SQLITE_DBSTATUS_DEFERRED_FKS), bp+160, bp+164, 0)
@@ -196736,7 +189247,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
res = int32(SQLITE_CHANGESET_ABORT)
libc.Xmemset(tls, bp+168, 0, uint64(152))
(*(*Tsqlite3_changeset_iter)(unsafe.Pointer(bp + 168))).FnCol = *(*int32)(unsafe.Pointer(bp + 160))
- res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConflict})))(tls, pCtx, int32(SQLITE_CHANGESET_FOREIGN_KEY), bp+168)
+ res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConflict})))(tls, pCtx, int32(SQLITE_CHANGESET_FOREIGN_KEY), bp+168)
if res != SQLITE_CHANGESET_OMIT {
rc = int32(SQLITE_CONSTRAINT)
}
@@ -196775,13 +189286,17 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
return rc
}
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
// ** Apply the changeset passed via pChangeset/nChangeset to the main
// ** database attached to handle "db".
// */
-func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
+func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var bInv, rc int32
@@ -196790,11 +189305,15 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh
bInv = libc.BoolInt32(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_INVERT) != 0))
rc = _sessionChangesetStart(tls, bp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInv, int32(1))
if rc == SQLITE_OK {
- rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags)
+ rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, ppRebase, pnRebase, flags)
}
return rc
}
+type t__ccgo_fp__Xsqlite3changeset_apply_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
@@ -196802,10 +189321,16 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh
// ** attached to handle "db". Invoke the supplied conflict handler callback
// ** to resolve any conflicts encountered while applying the change.
// */
-func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
- return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0)
+func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
+ return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0), 0)
}
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_strm_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_strm_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
@@ -196813,37 +189338,29 @@ func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChang
// ** attached to handle "db". Invoke the supplied conflict handler callback
// ** to resolve any conflicts encountered while applying the change.
// */
-func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
+func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var bInverse, rc int32
var _ /* pIter at bp+0 */ uintptr
_, _ = bInverse, rc /* Iterator to skip through changeset */
bInverse = libc.BoolInt32(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_INVERT) != 0))
- rc = _sessionChangesetStart(tls, bp, xInput, pIn, 0, uintptr(0), bInverse, int32(1))
+ rc = _sessionChangesetStart(tls, bp, __ccgo_fp_xInput, pIn, 0, uintptr(0), bInverse, int32(1))
if rc == SQLITE_OK {
- rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags)
+ rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, ppRebase, pnRebase, flags)
}
return rc
}
-func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
- return Xsqlite3changeset_apply_v2_strm(tls, db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0)
-}
+type t__ccgo_fp__Xsqlite3changeset_apply_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
-/*
-** sqlite3_changegroup handle.
- */
-type Tsqlite3_changegroup1 = struct {
- Frc int32
- FbPatch int32
- FpList uintptr
- Frec TSessionBuffer
- Fdb uintptr
- FzDb uintptr
-}
+type t__ccgo_fp__Xsqlite3changeset_apply_strm_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_strm_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
-type sqlite3_changegroup1 = Tsqlite3_changegroup1
+func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
+ return Xsqlite3changeset_apply_v2_strm(tls, db, __ccgo_fp_xInput, pIn, __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0), 0)
+}
// C documentation
//
@@ -197419,7 +189936,7 @@ func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase
// ** error code. If an error occurs and xOutput is NULL, (*ppOut) and (*pnOut)
// ** are both set to 0 before returning.
// */
-func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
+func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var i int32
@@ -197454,8 +189971,8 @@ func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOu
_sessionAppendByte(tls, bp+8, (*TSessionChange)(unsafe.Pointer(p)).Fop, bp)
_sessionAppendByte(tls, bp+8, (*TSessionChange)(unsafe.Pointer(p)).FbIndirect, bp)
_sessionAppendBlob(tls, bp+8, (*TSessionChange)(unsafe.Pointer(p)).FaRecord, (*TSessionChange)(unsafe.Pointer(p)).FnRecord, bp)
- if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
+ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && __ccgo_fp_xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf >= _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
(*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf = 0
}
goto _3
@@ -197474,9 +189991,9 @@ func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOu
pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext
}
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
- if xOutput != 0 {
+ if __ccgo_fp_xOutput != 0 {
if (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf > 0 {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 8))).FnBuf)
}
} else {
if ppOut != 0 {
@@ -197587,18 +190104,20 @@ func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppD
return _sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData)
}
+type t__ccgo_fp__Xsqlite3changegroup_add_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Streaming versions of changegroup_add().
// */
-func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) (r int32) {
+func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
var _ /* pIter at bp+0 */ uintptr
_ = rc /* Return code */
- rc = Xsqlite3changeset_start_strm(tls, bp, xInput, pIn)
+ rc = Xsqlite3changeset_start_strm(tls, bp, __ccgo_fp_xInput, pIn)
if rc == SQLITE_OK {
rc = _sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp)), pGrp, 0)
}
@@ -197606,13 +190125,15 @@ func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, p
return rc
}
+type t__ccgo_fp__Xsqlite3changegroup_output_strm_1 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming versions of changegroup_output().
// */
-func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) (r int32) {
- return _sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0))
+func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
+ return _sessionChangegroupOutput(tls, pGrp, __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
}
// C documentation
@@ -197654,12 +190175,18 @@ func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight
return rc
}
+type t__ccgo_fp__Xsqlite3changeset_concat_strm_0 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_concat_strm_2 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_concat_strm_4 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3changeset_concat().
// */
-func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) (r int32) {
+func Xsqlite3changeset_concat_strm(tls *libc.TLS, __ccgo_fp_xInputA uintptr, pInA uintptr, __ccgo_fp_xInputB uintptr, pInB uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
@@ -197667,27 +190194,18 @@ func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr,
_ = rc
rc = Xsqlite3changegroup_new(tls, bp)
if rc == SQLITE_OK {
- rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), xInputA, pInA)
+ rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xInputA, pInA)
}
if rc == SQLITE_OK {
- rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), xInputB, pInB)
+ rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xInputB, pInB)
}
if rc == SQLITE_OK {
- rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), xOutput, pOut)
+ rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xOutput, pOut)
}
Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp)))
return rc
}
-/*
-** Changeset rebaser handle.
- */
-type Tsqlite3_rebaser1 = struct {
- Fgrp Tsqlite3_changegroup
-}
-
-type sqlite3_rebaser1 = Tsqlite3_rebaser1
-
// C documentation
//
// /*
@@ -197842,7 +190360,7 @@ func _sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRe
// ** pnOut are not NULL, then the two output parameters are set to 0 before
// ** returning.
// */
-func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
+func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
bp := tls.Alloc(48)
defer tls.Free(48)
var bDone, iHash, v2 int32
@@ -197950,8 +190468,8 @@ func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pO
_sessionAppendByte(tls, bp+24, libc.Uint8FromInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp)
_sessionAppendBlob(tls, bp+24, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*int32)(unsafe.Pointer(bp + 16)), bp)
}
- if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf > _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf)
+ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && __ccgo_fp_xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf > _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf)
(*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf = 0
}
if *(*int32)(unsafe.Pointer(bp)) != 0 {
@@ -197963,9 +190481,9 @@ func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pO
libc.Xmemset(tls, bp+24, 0, uint64(16))
}
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
- if xOutput != 0 {
+ if __ccgo_fp_xOutput != 0 {
if (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf > 0 {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf)
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 24))).FnBuf)
}
} else {
if ppOut != 0 {
@@ -198039,21 +190557,25 @@ func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pn
return rc
}
+type t__ccgo_fp__Xsqlite3rebaser_rebase_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3rebaser_rebase_strm_3 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Rebase a changeset according to current rebaser configuration
// */
-func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) (r int32) {
+func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
var _ /* pIter at bp+0 */ uintptr
_ = rc
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Iterator to skip through input */
- rc = Xsqlite3changeset_start_strm(tls, bp, xInput, pIn)
+ rc = Xsqlite3changeset_start_strm(tls, bp, __ccgo_fp_xInput, pIn)
if rc == SQLITE_OK {
- rc = _sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp)), xOutput, pOut, uintptr(0), uintptr(0))
+ rc = _sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp)))
}
return rc
@@ -198210,18 +190732,6 @@ type TFts5Colset = struct {
type Fts5Colset = TFts5Colset
-/* If a NEAR() clump or phrase may only match a specific set of columns,
-** then an object of the following type is used to record the set of columns.
-** Each entry in the aiCol[] array is a column that may be matched.
-**
-** This object is used by fts5_expr.c and fts5_index.c.
- */
-type TFts5Colset1 = struct {
- FnCol int32
-}
-
-type Fts5Colset1 = TFts5Colset1
-
/* Size (int bytes) of a complete Fts5Colset object with N columns. */
/**************************************************************************
@@ -198281,99 +190791,6 @@ type TFts5TokenizerConfig = struct {
type Fts5TokenizerConfig = TFts5TokenizerConfig
-type TFts5TokenizerConfig1 = struct {
- FpTok uintptr
- FpApi2 uintptr
- FpApi1 uintptr
- FazArg uintptr
- FnArg int32
- FePattern int32
- FpLocale uintptr
- FnLocale int32
-}
-
-type Fts5TokenizerConfig1 = TFts5TokenizerConfig1
-
-/*
-** An instance of the following structure encodes all information that can
-** be gleaned from the CREATE VIRTUAL TABLE statement.
-**
-** And all information loaded from the %_config table.
-**
-** nAutomerge:
-** The minimum number of segments that an auto-merge operation should
-** attempt to merge together. A value of 1 sets the object to use the
-** compile time default. Zero disables auto-merge altogether.
-**
-** bContentlessDelete:
-** True if the contentless_delete option was present in the CREATE
-** VIRTUAL TABLE statement.
-**
-** zContent:
-**
-** zContentRowid:
-** The value of the content_rowid= option, if one was specified. Or
-** the string "rowid" otherwise. This text is not quoted - if it is
-** used as part of an SQL statement it needs to be quoted appropriately.
-**
-** zContentExprlist:
-**
-** pzErrmsg:
-** This exists in order to allow the fts5_index.c module to return a
-** decent error message if it encounters a file-format version it does
-** not understand.
-**
-** bColumnsize:
-** True if the %_docsize table is created.
-**
-** bPrefixIndex:
-** This is only used for debugging. If set to false, any prefix indexes
-** are ignored. This value is configured using:
-**
-** INSERT INTO tbl(tbl, rank) VALUES('prefix-index', $bPrefixIndex);
-**
-** bLocale:
-** Set to true if locale=1 was specified when the table was created.
- */
-type TFts5Config1 = struct {
- Fdb uintptr
- FpGlobal uintptr
- FzDb uintptr
- FzName uintptr
- FnCol int32
- FazCol uintptr
- FabUnindexed uintptr
- FnPrefix int32
- FaPrefix uintptr
- FeContent int32
- FbContentlessDelete int32
- FbContentlessUnindexed int32
- FzContent uintptr
- FzContentRowid uintptr
- FbColumnsize int32
- FbTokendata int32
- FbLocale int32
- FeDetail int32
- FzContentExprlist uintptr
- Ft TFts5TokenizerConfig
- FbLock int32
- FiVersion int32
- FiCookie int32
- Fpgsz int32
- FnAutomerge int32
- FnCrisisMerge int32
- FnUsermerge int32
- FnHashSize int32
- FzRank uintptr
- FzRankArgs uintptr
- FbSecureDelete int32
- FnDeleteMerge int32
- FbPrefixInsttoken int32
- FpzErrmsg uintptr
-}
-
-type Fts5Config1 = TFts5Config1
-
/*
** End of interface to code in fts5_config.c.
**************************************************************************/
@@ -198395,14 +190812,6 @@ type TFts5Buffer = struct {
type Fts5Buffer = TFts5Buffer
-type TFts5Buffer1 = struct {
- Fp uintptr
- Fn int32
- FnSpace int32
-}
-
-type Fts5Buffer1 = TFts5Buffer1
-
type TFts5PoslistReader = struct {
Fa uintptr
Fn int32
@@ -198414,29 +190823,12 @@ type TFts5PoslistReader = struct {
type Fts5PoslistReader = TFts5PoslistReader
-type TFts5PoslistReader1 = struct {
- Fa uintptr
- Fn int32
- Fi int32
- FbFlag Tu8
- FbEof Tu8
- FiPos Ti64
-}
-
-type Fts5PoslistReader1 = TFts5PoslistReader1
-
type TFts5PoslistWriter = struct {
FiPrev Ti64
}
type Fts5PoslistWriter = TFts5PoslistWriter
-type TFts5PoslistWriter1 = struct {
- FiPrev Ti64
-}
-
-type Fts5PoslistWriter1 = TFts5PoslistWriter1
-
// C documentation
//
// /* Bucket of terms object used by the integrity-check in offsets=0 mode. */
@@ -198492,15 +190884,6 @@ type TFts5IndexIter = struct {
type Fts5IndexIter = TFts5IndexIter
-type TFts5IndexIter1 = struct {
- FiRowid Ti64
- FpData uintptr
- FnData int32
- FbEof Tu8
-}
-
-type Fts5IndexIter1 = TFts5IndexIter1
-
/*
** End of interface to code in fts5_varint.c.
**************************************************************************/
@@ -198522,14 +190905,6 @@ type TFts5Table = struct {
type Fts5Table = TFts5Table
-type TFts5Table1 = struct {
- Fbase Tsqlite3_vtab
- FpConfig uintptr
- FpIndex uintptr
-}
-
-type Fts5Table1 = TFts5Table1
-
/*
** End of interface to code in fts5.c.
**************************************************************************/
@@ -198639,13 +191014,6 @@ type TFts5ExprNearset = struct {
type Fts5ExprNearset = TFts5ExprNearset
-type TFts5Token1 = struct {
- Fp uintptr
- Fn int32
-}
-
-type Fts5Token1 = TFts5Token1
-
type TFts5PoslistPopulator = struct {
Fwriter TFts5PoslistWriter
FbOk int32
@@ -199212,14 +191580,6 @@ var _fts5yy_default = [35]uint8{
** actually contains the reduce action for the second half of the
** SHIFTREDUCE.
*/
-type Tfts5yyStackEntry1 = struct {
- Fstateno uint8
- Fmajor uint8
- Fminor Tfts5YYMINORTYPE
-}
-
-type fts5yyStackEntry1 = Tfts5yyStackEntry1
-
type Tfts5yyStackEntry = struct {
Fstateno uint8
Fmajor uint8
@@ -199230,16 +191590,6 @@ type fts5yyStackEntry = Tfts5yyStackEntry
/* The state of the parser is completely contained in an instance of
** the following structure */
-type Tfts5yyParser1 = struct {
- Ffts5yytos uintptr
- FpParse uintptr
- Ffts5yystackEnd uintptr
- Ffts5yystack uintptr
- Ffts5yystk0 [100]Tfts5yyStackEntry
-}
-
-type fts5yyParser1 = Tfts5yyParser1
-
type Tfts5yyParser = struct {
Ffts5yytos uintptr
FpParse uintptr
@@ -199291,10 +191641,10 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) {
// ** A pointer to a parser. This pointer is used in subsequent calls
// ** to sqlite3Fts5Parser and sqlite3Fts5ParserFree.
// */
-func _sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) (r uintptr) {
+func _sqlite3Fts5ParserAlloc(tls *libc.TLS, __ccgo_fp_mallocProc uintptr) (r uintptr) {
var fts5yypParser uintptr
_ = fts5yypParser
- fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(2432))
+ fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_mallocProc})))(tls, libc.Uint64FromInt64(2432))
if fts5yypParser != 0 {
_sqlite3Fts5ParserInit(tls, fts5yypParser)
}
@@ -199400,12 +191750,12 @@ func _sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) {
// ** is defined in a %include section of the input grammar) then it is
// ** assumed that the input pointer is never NULL.
// */
-func _sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) {
+func _sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, __ccgo_fp_freeProc uintptr) {
if p == uintptr(0) {
return
}
_sqlite3Fts5ParserFinalize(tls, p)
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{freeProc})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_freeProc})))(tls, p)
}
/*
@@ -200006,18 +192356,6 @@ type TCInstIter = struct {
type CInstIter = TCInstIter
-type TCInstIter1 = struct {
- FpApi uintptr
- FpFts uintptr
- FiCol int32
- FiInst int32
- FnInst int32
- FiStart int32
- FiEnd int32
-}
-
-type CInstIter1 = TCInstIter1
-
// C documentation
//
// /*
@@ -200100,22 +192438,6 @@ type THighlightContext = struct {
type HighlightContext = THighlightContext
-type THighlightContext1 = struct {
- FiRangeStart int32
- FiRangeEnd int32
- FzOpen uintptr
- FzClose uintptr
- FzIn uintptr
- FnIn int32
- Fiter TCInstIter
- FiPos int32
- FiOff int32
- FbOpen int32
- FzOut uintptr
-}
-
-type HighlightContext1 = THighlightContext1
-
// C documentation
//
// /*
@@ -200293,16 +192615,6 @@ type TFts5SFinder = struct {
type Fts5SFinder = TFts5SFinder
-type TFts5SFinder1 = struct {
- FiPos int32
- FnFirstAlloc int32
- FnFirst int32
- FaFirst uintptr
- FzDoc uintptr
-}
-
-type Fts5SFinder1 = TFts5SFinder1
-
// C documentation
//
// /*
@@ -200670,15 +192982,6 @@ type TFts5Bm25Data = struct {
type Fts5Bm25Data = TFts5Bm25Data
-type TFts5Bm25Data1 = struct {
- FnPhrase int32
- Favgdl float64
- FaIDF uintptr
- FaFreq uintptr
-}
-
-type Fts5Bm25Data1 = TFts5Bm25Data1
-
// C documentation
//
// /*
@@ -201409,21 +193712,6 @@ type TFts5TermsetEntry = struct {
type Fts5TermsetEntry = TFts5TermsetEntry
-type TFts5TermsetEntry1 = struct {
- FpTerm uintptr
- FnTerm int32
- FiIdx int32
- FpNext uintptr
-}
-
-type Fts5TermsetEntry1 = TFts5TermsetEntry1
-
-type TFts5Termset1 = struct {
- FapHash [512]uintptr
-}
-
-type Fts5Termset1 = TFts5Termset1
-
func _sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
@@ -201732,13 +194020,6 @@ func _sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) {
}
}
-type TFts5Enum1 = struct {
- FzName uintptr
- FeVal int32
-}
-
-type Fts5Enum1 = TFts5Enum1
-
type TFts5Enum = struct {
FzName uintptr
FeVal int32
@@ -202394,7 +194675,7 @@ func _sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) (r int32) {
// ** because the callback returned another non-zero value, it is assumed
// ** to be an SQLite error code and returned to the caller.
// */
-func _sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, xToken uintptr) (r int32) {
+func _sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, __ccgo_fp_xToken uintptr) (r int32) {
var rc int32
_ = rc
rc = SQLITE_OK
@@ -202404,9 +194685,9 @@ func _sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uin
}
if rc == SQLITE_OK {
if (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi1 != 0 {
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi1)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, xToken)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi1)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, __ccgo_fp_xToken)
} else {
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer_v2)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi2)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpLocale, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FnLocale, xToken)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer_v2)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi2)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpLocale, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FnLocale, __ccgo_fp_xToken)
}
}
}
@@ -202768,115 +195049,6 @@ type TFts5ExprTerm = struct {
type Fts5ExprTerm = TFts5ExprTerm
-type TFts5Expr1 = struct {
- FpIndex uintptr
- FpConfig uintptr
- FpRoot uintptr
- FbDesc int32
- FnPhrase int32
- FapExprPhrase uintptr
-}
-
-type Fts5Expr1 = TFts5Expr1
-
-/*
-** eType:
-** Expression node type. Usually one of:
-**
-** FTS5_AND (nChild, apChild valid)
-** FTS5_OR (nChild, apChild valid)
-** FTS5_NOT (nChild, apChild valid)
-** FTS5_STRING (pNear valid)
-** FTS5_TERM (pNear valid)
-**
-** An expression node with eType==0 may also exist. It always matches zero
-** rows. This is created when a phrase containing no tokens is parsed.
-** e.g. "".
-**
-** iHeight:
-** Distance from this node to furthest leaf. This is always 0 for nodes
-** of type FTS5_STRING and FTS5_TERM. For all other nodes it is one
-** greater than the largest child value.
- */
-type TFts5ExprNode1 = struct {
- FeType int32
- FbEof int32
- FbNomatch int32
- FiHeight int32
- FxNext uintptr
- FiRowid Ti64
- FpNear uintptr
- FnChild int32
-}
-
-type Fts5ExprNode1 = TFts5ExprNode1
-
-/* Size (in bytes) of an Fts5ExprNode object that holds up to N children */
-
-/*
-** Invoke the xNext method of an Fts5ExprNode object. This macro should be
-** used as if it has the same signature as the xNext() methods themselves.
- */
-
-/*
-** An instance of the following structure represents a single search term
-** or term prefix.
- */
-type TFts5ExprTerm1 = struct {
- FbPrefix Tu8
- FbFirst Tu8
- FpTerm uintptr
- FnQueryTerm int32
- FnFullTerm int32
- FpIter uintptr
- FpSynonym uintptr
-}
-
-type Fts5ExprTerm1 = TFts5ExprTerm1
-
-/*
-** A phrase. One or more terms that must appear in a contiguous sequence
-** within a document for it to match.
- */
-type TFts5ExprPhrase1 = struct {
- FpNode uintptr
- Fposlist TFts5Buffer
- FnTerm int32
-}
-
-type Fts5ExprPhrase1 = TFts5ExprPhrase1
-
-/* Size (in bytes) of an Fts5ExprPhrase object that holds up to N terms */
-
-/*
-** One or more phrases that must appear within a certain token distance of
-** each other within each matching document.
- */
-type TFts5ExprNearset1 = struct {
- FnNear int32
- FpColset uintptr
- FnPhrase int32
-}
-
-type Fts5ExprNearset1 = TFts5ExprNearset1
-
-/* Size (in bytes) of an Fts5ExprNearset object covering up to N phrases */
-
-/*
-** Parse context.
- */
-type TFts5Parse1 = struct {
- FpConfig uintptr
- FzErr uintptr
- Frc int32
- FnPhrase int32
- FapPhrase uintptr
- FpExpr uintptr
- FbPhraseToAnd int32
-}
-
-type Fts5Parse1 = TFts5Parse1
-
/*
** Check that the Fts5ExprNode.iHeight variables are set correctly in
** the expression tree passed as the only argument.
@@ -203561,16 +195733,6 @@ type TFts5LookaheadReader = struct {
type Fts5LookaheadReader = TFts5LookaheadReader
-type TFts5LookaheadReader1 = struct {
- Fa uintptr
- Fn int32
- Fi int32
- FiPos Ti64
- FiLookahead Ti64
-}
-
-type Fts5LookaheadReader1 = TFts5LookaheadReader1
-
func _fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) (r int32) {
(*TFts5LookaheadReader)(unsafe.Pointer(p)).FiPos = (*TFts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead
if _sqlite3Fts5PoslistNext64(tls, (*TFts5LookaheadReader)(unsafe.Pointer(p)).Fa, (*TFts5LookaheadReader)(unsafe.Pointer(p)).Fn, p+12, p+24) != 0 {
@@ -203595,14 +195757,6 @@ type TFts5NearTrimmer = struct {
type Fts5NearTrimmer = TFts5NearTrimmer
-type TFts5NearTrimmer1 = struct {
- Freader TFts5LookaheadReader
- Fwriter TFts5PoslistWriter
- FpOut uintptr
-}
-
-type Fts5NearTrimmer1 = TFts5NearTrimmer1
-
// C documentation
//
// /*
@@ -204723,14 +196877,6 @@ type TTokenCtx = struct {
type TokenCtx = TTokenCtx
-type TTokenCtx1 = struct {
- FpPhrase uintptr
- FpConfig uintptr
- Frc int32
-}
-
-type TokenCtx1 = TTokenCtx1
-
// C documentation
//
// /*
@@ -205671,14 +197817,6 @@ func _sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uin
return nRet
}
-type TFts5PoslistPopulator1 = struct {
- Fwriter TFts5PoslistWriter
- FbOk int32
- FbMiss int32
-}
-
-type Fts5PoslistPopulator1 = TFts5PoslistPopulator1
-
// C documentation
//
// /*
@@ -205718,14 +197856,6 @@ func _sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) (r
return pRet
}
-type TFts5ExprCtx1 = struct {
- FpExpr uintptr
- FaPopulator uintptr
- FiOff Ti64
-}
-
-type Fts5ExprCtx1 = TFts5ExprCtx1
-
type TFts5ExprCtx = struct {
FpExpr uintptr
FaPopulator uintptr
@@ -206089,66 +198219,6 @@ type TFts5HashEntry = struct {
type Fts5HashEntry = TFts5HashEntry
-/*
-** This file contains the implementation of an in-memory hash table used
-** to accumulate "term -> doclist" content before it is flushed to a level-0
-** segment.
- */
-
-type TFts5Hash1 = struct {
- FeDetail int32
- FpnByte uintptr
- FnEntry int32
- FnSlot int32
- FpScan uintptr
- FaSlot uintptr
-}
-
-type Fts5Hash1 = TFts5Hash1
-
-/*
-** Each entry in the hash table is represented by an object of the
-** following type. Each object, its key, and its current data are stored
-** in a single memory allocation. The key immediately follows the object
-** in memory. The position list data immediately follows the key data
-** in memory.
-**
-** The key is Fts5HashEntry.nKey bytes in size. It consists of a single
-** byte identifying the index (either the main term index or a prefix-index),
-** followed by the term data. For example: "0token". There is no
-** nul-terminator - in this case nKey=6.
-**
-** The data that follows the key is in a similar, but not identical format
-** to the doclist data stored in the database. It is:
-**
-** * Rowid, as a varint
-** * Position list, without 0x00 terminator.
-** * Size of previous position list and rowid, as a 4 byte
-** big-endian integer.
-**
-** iRowidOff:
-** Offset of last rowid written to data area. Relative to first byte of
-** structure.
-**
-** nData:
-** Bytes of data written since iRowidOff.
- */
-type TFts5HashEntry1 = struct {
- FpHashNext uintptr
- FpScanNext uintptr
- FnAlloc int32
- FiSzPoslist int32
- FnData int32
- FnKey int32
- FbDel Tu8
- FbContent Tu8
- FiCol Ti16
- FiPos int32
- FiRowid Ti64
-}
-
-type Fts5HashEntry1 = TFts5HashEntry1
-
/*
** Equivalent to:
**
@@ -207198,143 +199268,6 @@ type TFts5TombstoneArray = struct {
type Fts5TombstoneArray = TFts5TombstoneArray
-type TFts5Data1 = struct {
- Fp uintptr
- Fnn int32
- FszLeaf int32
-}
-
-type Fts5Data1 = TFts5Data1
-
-/*
-** One object per %_data table.
-**
-** nContentlessDelete:
-** The number of contentless delete operations since the most recent
-** call to fts5IndexFlush() or fts5IndexDiscardData(). This is tracked
-** so that extra auto-merge work can be done by fts5IndexFlush() to
-** account for the delete operations.
- */
-type TFts5Index1 = struct {
- FpConfig uintptr
- FzDataTbl uintptr
- FnWorkUnit int32
- FpHash uintptr
- FnPendingData int32
- FiWriteRowid Ti64
- FbDelete int32
- FnContentlessDelete int32
- FnPendingRow int32
- Frc int32
- FflushRc int32
- FpReader uintptr
- FpWriter uintptr
- FpDeleter uintptr
- FpIdxWriter uintptr
- FpIdxDeleter uintptr
- FpIdxSelect uintptr
- FpIdxNextSelect uintptr
- FnRead int32
- FpDeleteFromIdx uintptr
- FpDataVersion uintptr
- FiStructVersion Ti64
- FpStruct uintptr
-}
-
-type Fts5Index1 = TFts5Index1
-
-type TFts5DoclistIter1 = struct {
- FaEof uintptr
- FiRowid Ti64
- FaPoslist uintptr
- FnPoslist int32
- FnSize int32
-}
-
-type Fts5DoclistIter1 = TFts5DoclistIter1
-
-/*
-** The contents of the "structure" record for each index are represented
-** using an Fts5Structure record in memory. Which uses instances of the
-** other Fts5StructureXXX types as components.
-**
-** nOriginCntr:
-** This value is set to non-zero for structure records created for
-** contentlessdelete=1 tables only. In that case it represents the
-** origin value to apply to the next top-level segment created.
- */
-type TFts5StructureSegment1 = struct {
- FiSegid int32
- FpgnoFirst int32
- FpgnoLast int32
- FiOrigin1 Tu64
- FiOrigin2 Tu64
- FnPgTombstone int32
- FnEntryTombstone Tu64
- FnEntry Tu64
-}
-
-type Fts5StructureSegment1 = TFts5StructureSegment1
-
-type TFts5StructureLevel1 = struct {
- FnMerge int32
- FnSeg int32
- FaSeg uintptr
-}
-
-type Fts5StructureLevel1 = TFts5StructureLevel1
-
-type TFts5Structure1 = struct {
- FnRef int32
- FnWriteCounter Tu64
- FnOriginCntr Tu64
- FnSegment int32
- FnLevel int32
-}
-
-type Fts5Structure1 = TFts5Structure1
-
-/* Size (in bytes) of an Fts5Structure object holding up to N levels */
-
-/*
-** An object of type Fts5SegWriter is used to write to segments.
- */
-type TFts5PageWriter1 = struct {
- Fpgno int32
- FiPrevPgidx int32
- Fbuf TFts5Buffer
- Fpgidx TFts5Buffer
- Fterm TFts5Buffer
-}
-
-type Fts5PageWriter1 = TFts5PageWriter1
-
-type TFts5DlidxWriter1 = struct {
- Fpgno int32
- FbPrevValid int32
- FiPrev Ti64
- Fbuf TFts5Buffer
-}
-
-type Fts5DlidxWriter1 = TFts5DlidxWriter1
-
-type TFts5SegWriter1 = struct {
- FiSegid int32
- Fwriter TFts5PageWriter
- FiPrevRowid Ti64
- FbFirstRowidInDoclist Tu8
- FbFirstRowidInPage Tu8
- FbFirstTermInPage Tu8
- FnLeafWritten int32
- FnEmpty int32
- FnDlidx int32
- FaDlidx uintptr
- Fbtterm TFts5Buffer
- FiBtPage int32
-}
-
-type Fts5SegWriter1 = TFts5SegWriter1
-
type TFts5CResult = struct {
FiFirst Tu16
FbTermEq Tu8
@@ -207342,191 +199275,6 @@ type TFts5CResult = struct {
type Fts5CResult = TFts5CResult
-type TFts5CResult1 = struct {
- FiFirst Tu16
- FbTermEq Tu8
-}
-
-type Fts5CResult1 = TFts5CResult1
-
-/*
-** Object for iterating through a single segment, visiting each term/rowid
-** pair in the segment.
-**
-** pSeg:
-** The segment to iterate through.
-**
-** iLeafPgno:
-** Current leaf page number within segment.
-**
-** iLeafOffset:
-** Byte offset within the current leaf that is the first byte of the
-** position list data (one byte passed the position-list size field).
-**
-** pLeaf:
-** Buffer containing current leaf page data. Set to NULL at EOF.
-**
-** iTermLeafPgno, iTermLeafOffset:
-** Leaf page number containing the last term read from the segment. And
-** the offset immediately following the term data.
-**
-** flags:
-** Mask of FTS5_SEGITER_XXX values. Interpreted as follows:
-**
-** FTS5_SEGITER_ONETERM:
-** If set, set the iterator to point to EOF after the current doclist
-** has been exhausted. Do not proceed to the next term in the segment.
-**
-** FTS5_SEGITER_REVERSE:
-** This flag is only ever set if FTS5_SEGITER_ONETERM is also set. If
-** it is set, iterate through rowid in descending order instead of the
-** default ascending order.
-**
-** iRowidOffset/nRowidOffset/aRowidOffset:
-** These are used if the FTS5_SEGITER_REVERSE flag is set.
-**
-** For each rowid on the page corresponding to the current term, the
-** corresponding aRowidOffset[] entry is set to the byte offset of the
-** start of the "position-list-size" field within the page.
-**
-** iTermIdx:
-** Index of current term on iTermLeafPgno.
-**
-** apTombstone/nTombstone:
-** These are used for contentless_delete=1 tables only. When the cursor
-** is first allocated, the apTombstone[] array is allocated so that it
-** is large enough for all tombstones hash pages associated with the
-** segment. The pages themselves are loaded lazily from the database as
-** they are required.
- */
-type TFts5SegIter1 = struct {
- FpSeg uintptr
- Fflags int32
- FiLeafPgno int32
- FpLeaf uintptr
- FpNextLeaf uintptr
- FiLeafOffset Ti64
- FpTombArray uintptr
- FxNext uintptr
- FiTermLeafPgno int32
- FiTermLeafOffset int32
- FiPgidxOff int32
- FiEndofDoclist int32
- FiRowidOffset int32
- FnRowidOffset int32
- FaRowidOffset uintptr
- FpDlidx uintptr
- Fterm TFts5Buffer
- FiRowid Ti64
- FnPos int32
- FbDel Tu8
-}
-
-type Fts5SegIter1 = TFts5SegIter1
-
-/*
-** Array of tombstone pages. Reference counted.
- */
-type TFts5TombstoneArray1 = struct {
- F__ccgo_align [0]uint64
- FnRef int32
- FnTombstone int32
-}
-
-type Fts5TombstoneArray1 = TFts5TombstoneArray1
-
-/* Size (in bytes) of an Fts5TombstoneArray holding up to N tombstones */
-
-/*
-** Argument is a pointer to an Fts5Data structure that contains a
-** leaf page.
- */
-
-/*
-** Argument is a pointer to an Fts5Data structure that contains a leaf
-** page. This macro evaluates to true if the leaf contains no terms, or
-** false if it contains at least one term.
- */
-
-/*
-** Object for iterating through the merged results of one or more segments,
-** visiting each term/rowid pair in the merged data.
-**
-** nSeg is always a power of two greater than or equal to the number of
-** segments that this object is merging data from. Both the aSeg[] and
-** aFirst[] arrays are sized at nSeg entries. The aSeg[] array is padded
-** with zeroed objects - these are handled as if they were iterators opened
-** on empty segments.
-**
-** The results of comparing segments aSeg[N] and aSeg[N+1], where N is an
-** even number, is stored in aFirst[(nSeg+N)/2]. The "result" of the
-** comparison in this context is the index of the iterator that currently
-** points to the smaller term/rowid combination. Iterators at EOF are
-** considered to be greater than all other iterators.
-**
-** aFirst[1] contains the index in aSeg[] of the iterator that points to
-** the smallest key overall. aFirst[0] is unused.
-**
-** poslist:
-** Used by sqlite3Fts5IterPoslist() when the poslist needs to be buffered.
-** There is no way to tell if this is populated or not.
-**
-** pColset:
-** If not NULL, points to an object containing a set of column indices.
-** Only matches that occur in one of these columns will be returned.
-** The Fts5Iter does not own the Fts5Colset object, and so it is not
-** freed when the iterator is closed - it is owned by the upper layer.
- */
-type TFts5Iter1 = struct {
- Fbase TFts5IndexIter
- FpTokenDataIter uintptr
- FpIndex uintptr
- Fposlist TFts5Buffer
- FpColset uintptr
- FxSetOutputs uintptr
- FnSeg int32
- FbRev int32
- FbSkipEmpty Tu8
- FiSwitchRowid Ti64
- FaFirst uintptr
-}
-
-type Fts5Iter1 = TFts5Iter1
-
-/* Size (in bytes) of an Fts5Iter object holding up to N segment iterators */
-
-/*
-** An instance of the following type is used to iterate through the contents
-** of a doclist-index record.
-**
-** pData:
-** Record containing the doclist-index data.
-**
-** bEof:
-** Set to true once iterator has reached EOF.
-**
-** iOff:
-** Set to the current offset within record pData.
- */
-type TFts5DlidxLvl1 = struct {
- FpData uintptr
- FiOff int32
- FbEof int32
- FiFirstOff int32
- FiLeafPgno int32
- FiRowid Ti64
-}
-
-type Fts5DlidxLvl1 = TFts5DlidxLvl1
-
-type TFts5DlidxIter1 = struct {
- F__ccgo_align [0]uint64
- FnLvl int32
- FiSegid int32
-}
-
-type Fts5DlidxIter1 = TFts5DlidxIter1
-
/* Size (in bytes) of an Fts5DlidxIter object with up to N levels */
func _fts5PutU16(tls *libc.TLS, aOut uintptr, iVal Tu16) {
@@ -210458,14 +202206,6 @@ type TPoslistCallbackCtx = struct {
type PoslistCallbackCtx = TPoslistCallbackCtx
-type TPoslistCallbackCtx1 = struct {
- FpBuf uintptr
- FpColset uintptr
- FeState int32
-}
-
-type PoslistCallbackCtx1 = TPoslistCallbackCtx1
-
type TPoslistOffsetsCtx = struct {
FpBuf uintptr
FpColset uintptr
@@ -210475,15 +202215,6 @@ type TPoslistOffsetsCtx = struct {
type PoslistOffsetsCtx = TPoslistOffsetsCtx
-type TPoslistOffsetsCtx1 = struct {
- FpBuf uintptr
- FpColset uintptr
- FiRead int32
- FiWrite int32
-}
-
-type PoslistOffsetsCtx1 = TPoslistOffsetsCtx1
-
// C documentation
//
// /*
@@ -210597,7 +202328,7 @@ func _fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr
}
}
-func _fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) {
+func _fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, __ccgo_fp_xChunk uintptr) {
var nChunk, nRem, pgno, pgnoSave, v2 int32
var pChunk, pData uintptr
var v1 int64
@@ -210618,7 +202349,7 @@ func _fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xCh
pgnoSave = pgno + int32(1)
}
for int32(1) != 0 {
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{xChunk})))(tls, p, pCtx, pChunk, nChunk)
+ (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xChunk})))(tls, p, pCtx, pChunk, nChunk)
nRem -= nChunk
_fts5DataRelease(tls, pData)
if nRem <= 0 {
@@ -212211,13 +203942,6 @@ type TFts5FlushCtx = struct {
type Fts5FlushCtx = TFts5FlushCtx
-type TFts5FlushCtx1 = struct {
- FpIdx uintptr
- Fwriter TFts5SegWriter
-}
-
-type Fts5FlushCtx1 = TFts5FlushCtx1
-
// C documentation
//
// /*
@@ -213338,16 +205062,6 @@ type TPrefixMerger = struct {
type PrefixMerger = TPrefixMerger
-type TPrefixMerger1 = struct {
- Fiter TFts5DoclistIter
- FiPos Ti64
- FiOff int32
- FaPos uintptr
- FpNext uintptr
-}
-
-type PrefixMerger1 = TPrefixMerger1
-
func _fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) {
var pp uintptr
_ = pp
@@ -213565,7 +205279,7 @@ func _fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBu
// ** If parameter pColset is not NULL, then it is used to filter entries before
// ** the callback is invoked.
// */
-func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr, nToken int32, bPrefix int32, xVisit uintptr, pCtx uintptr) (r int32) {
+func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr, nToken int32, bPrefix int32, __ccgo_fp_xVisit uintptr, pCtx uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var flags, nNew, v1 int32
@@ -213602,7 +205316,7 @@ func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr
break
}
}
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{xVisit})))(tls, p, pCtx, *(*uintptr)(unsafe.Pointer(bp)), pNew, nNew)
+ (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xVisit})))(tls, p, pCtx, *(*uintptr)(unsafe.Pointer(bp)), pNew, nNew)
goto _2
_2:
;
@@ -213613,70 +205327,6 @@ func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr
return (*TFts5Index)(unsafe.Pointer(p)).Frc
}
-/*
-** Usually, a tokendata=1 iterator (struct Fts5TokenDataIter) accumulates an
-** array of these for each row it visits (so all iRowid fields are the same).
-** Or, for an iterator used by an "ORDER BY rank" query, it accumulates an
-** array of these for the entire query (in which case iRowid fields may take
-** a variety of values).
-**
-** Each instance in the array indicates the iterator (and therefore term)
-** associated with position iPos of rowid iRowid. This is used by the
-** xInstToken() API.
-**
-** iRowid:
-** Rowid for the current entry.
-**
-** iPos:
-** Position of current entry within row. In the usual ((iCol<<32)+iOff)
-** format (e.g. see macros FTS5_POS2COLUMN() and FTS5_POS2OFFSET()).
-**
-** iIter:
-** If the Fts5TokenDataIter iterator that the entry is part of is
-** actually an iterator (i.e. with nIter>0, not just a container for
-** Fts5TokenDataMap structures), then this variable is an index into
-** the apIter[] array. The corresponding term is that which the iterator
-** at apIter[iIter] currently points to.
-**
-** Or, if the Fts5TokenDataIter iterator is just a container object
-** (nIter==0), then iIter is an index into the term.p[] buffer where
-** the term is stored.
-**
-** nByte:
-** In the case where iIter is an index into term.p[], this variable
-** is the size of the term in bytes. If iIter is an index into apIter[],
-** this variable is unused.
- */
-type TFts5TokenDataMap1 = struct {
- FiRowid Ti64
- FiPos Ti64
- FiIter int32
- FnByte int32
-}
-
-type Fts5TokenDataMap1 = TFts5TokenDataMap1
-
-/*
-** An object used to supplement Fts5Iter for tokendata=1 iterators.
-**
-** This object serves two purposes. The first is as a container for an array
-** of Fts5TokenDataMap structures, which are used to find the token required
-** when the xInstToken() API is used. This is done by the nMapAlloc, nMap and
-** aMap[] variables.
- */
-type TFts5TokenDataIter1 = struct {
- FnMapAlloc int32
- FnMap int32
- FaMap uintptr
- Fterms TFts5Buffer
- FnIter int32
- FnIterAlloc int32
- FaPoslistReader uintptr
- FaPoslistToIter uintptr
-}
-
-type Fts5TokenDataIter1 = TFts5TokenDataIter1
-
/* Size in bytes of an Fts5TokenDataIter object holding up to N iterators */
// C documentation
@@ -213845,14 +205495,6 @@ type TTokendataSetupCtx = struct {
type TokendataSetupCtx = TTokendataSetupCtx
-type TTokendataSetupCtx1 = struct {
- FpT uintptr
- FiTermOff int32
- FnTermByte int32
-}
-
-type TokendataSetupCtx1 = TTokendataSetupCtx1
-
// C documentation
//
// /*
@@ -213899,19 +205541,6 @@ type TPrefixSetupCtx = struct {
type PrefixSetupCtx = TPrefixSetupCtx
-type TPrefixSetupCtx1 = struct {
- FxMerge uintptr
- FxAppend uintptr
- FiLastRowid Ti64
- FnMerge int32
- FaBuf uintptr
- FnBuf int32
- Fdoclist TFts5Buffer
- FpTokendata uintptr
-}
-
-type PrefixSetupCtx1 = TPrefixSetupCtx1
-
// C documentation
//
// /*
@@ -216227,87 +207856,6 @@ type TFts5TransactionState = struct {
type Fts5TransactionState = TFts5TransactionState
-/*
-** A single object of this type is allocated when the FTS5 module is
-** registered with a database handle. It is used to store pointers to
-** all registered FTS5 extensions - tokenizers and auxiliary functions.
- */
-type TFts5Global1 = struct {
- Fapi Tfts5_api
- Fdb uintptr
- FiNextId Ti64
- FpAux uintptr
- FpTok uintptr
- FpDfltTok uintptr
- FpCsr uintptr
- FaLocaleHdr [4]Tu32
-}
-
-type Fts5Global1 = TFts5Global1
-
-/*
-** Size of header on fts5_locale() values. And macro to access a buffer
-** containing a copy of the header from an Fts5Config pointer.
- */
-
-/*
-** Each auxiliary function registered with the FTS5 module is represented
-** by an object of the following type. All such objects are stored as part
-** of the Fts5Global.pAux list.
- */
-type TFts5Auxiliary1 = struct {
- FpGlobal uintptr
- FzFunc uintptr
- FpUserData uintptr
- FxFunc Tfts5_extension_function
- FxDestroy uintptr
- FpNext uintptr
-}
-
-type Fts5Auxiliary1 = TFts5Auxiliary1
-
-/*
-** Each tokenizer module registered with the FTS5 module is represented
-** by an object of the following type. All such objects are stored as part
-** of the Fts5Global.pTok list.
-**
-** bV2Native:
-** True if the tokenizer was registered using xCreateTokenizer_v2(), false
-** for xCreateTokenizer(). If this variable is true, then x2 is populated
-** with the routines as supplied by the caller and x1 contains synthesized
-** wrapper routines. In this case the user-data pointer passed to
-** x1.xCreate should be a pointer to the Fts5TokenizerModule structure,
-** not a copy of pUserData.
-**
-** Of course, if bV2Native is false, then x1 contains the real routines and
-** x2 the synthesized ones. In this case a pointer to the Fts5TokenizerModule
-** object should be passed to x2.xCreate.
-**
-** The synthesized wrapper routines are necessary for xFindTokenizer(_v2)
-** calls.
- */
-type TFts5TokenizerModule1 = struct {
- FzName uintptr
- FpUserData uintptr
- FbV2Native int32
- Fx1 Tfts5_tokenizer
- Fx2 Tfts5_tokenizer_v2
- FxDestroy uintptr
- FpNext uintptr
-}
-
-type Fts5TokenizerModule1 = TFts5TokenizerModule1
-
-type TFts5FullTable1 = struct {
- Fp TFts5Table
- FpStorage uintptr
- FpGlobal uintptr
- FpSortCsr uintptr
- FiSavepoint int32
-}
-
-type Fts5FullTable1 = TFts5FullTable1
-
type TFts5MatchPhrase = struct {
FpPoslist uintptr
FnTerm int32
@@ -216315,97 +207863,6 @@ type TFts5MatchPhrase = struct {
type Fts5MatchPhrase = TFts5MatchPhrase
-/*
-** pStmt:
-** SELECT rowid, FROM ORDER BY +rank;
-**
-** aIdx[]:
-** There is one entry in the aIdx[] array for each phrase in the query,
-** the value of which is the offset within aPoslist[] following the last
-** byte of the position list for the corresponding phrase.
- */
-type TFts5Sorter1 = struct {
- FpStmt uintptr
- FiRowid Ti64
- FaPoslist uintptr
- FnIdx int32
-}
-
-type Fts5Sorter1 = TFts5Sorter1
-
-/* Size (int bytes) of an Fts5Sorter object with N indexes */
-
-/*
-** Virtual-table cursor object.
-**
-** iSpecial:
-** If this is a 'special' query (refer to function fts5SpecialMatch()),
-** then this variable contains the result of the query.
-**
-** iFirstRowid, iLastRowid:
-** These variables are only used for FTS5_PLAN_MATCH cursors. Assuming the
-** cursor iterates in ascending order of rowids, iFirstRowid is the lower
-** limit of rowids to return, and iLastRowid the upper. In other words, the
-** WHERE clause in the user's query might have been:
-**
-** MATCH AND rowid BETWEEN $iFirstRowid AND $iLastRowid
-**
-** If the cursor iterates in descending order of rowid, iFirstRowid
-** is the upper limit (i.e. the "first" rowid visited) and iLastRowid
-** the lower.
- */
-type TFts5Cursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FpNext uintptr
- FaColumnSize uintptr
- FiCsrId Ti64
- FePlan int32
- FbDesc int32
- FiFirstRowid Ti64
- FiLastRowid Ti64
- FpStmt uintptr
- FpExpr uintptr
- FpSorter uintptr
- Fcsrflags int32
- FiSpecial Ti64
- FzRank uintptr
- FzRankArgs uintptr
- FpRank uintptr
- FnRankArg int32
- FapRankArg uintptr
- FpRankArgStmt uintptr
- FpAux uintptr
- FpAuxdata uintptr
- FaInstIter uintptr
- FnInstAlloc int32
- FnInstCount int32
- FaInst uintptr
-}
-
-type Fts5Cursor1 = TFts5Cursor1
-
-/*
-** Bits that make up the "idxNum" parameter passed indirectly by
-** xBestIndex() to xFilter().
- */
-
-/*
-** Values for Fts5Cursor.csrflags
- */
-
-/*
-** Macros to Set(), Clear() and Test() cursor flags.
- */
-
-type TFts5Auxdata1 = struct {
- FpAux uintptr
- FpPtr uintptr
- FxDelete uintptr
- FpNext uintptr
-}
-
-type Fts5Auxdata1 = TFts5Auxdata1
-
// C documentation
//
// /*
@@ -218373,7 +209830,7 @@ func _fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) (r int32) {
// /*
// ** Implementation of xTokenize_v2() API.
// */
-func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pLoc uintptr, nLoc int32, pUserData uintptr, xToken uintptr) (r int32) {
+func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pLoc uintptr, nLoc int32, pUserData uintptr, __ccgo_fp_xToken uintptr) (r int32) {
var pCsr, pTab uintptr
var rc int32
_, _, _ = pCsr, pTab, rc
@@ -218381,7 +209838,7 @@ func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32
pTab = (*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab
rc = SQLITE_OK
_sqlite3Fts5SetLocale(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, pLoc, nLoc)
- rc = _sqlite3Fts5Tokenize(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, int32(FTS5_TOKENIZE_AUX), pText, nText, pUserData, xToken)
+ rc = _sqlite3Fts5Tokenize(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, int32(FTS5_TOKENIZE_AUX), pText, nText, pUserData, __ccgo_fp_xToken)
_sqlite3Fts5SetLocale(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, uintptr(0), 0)
return rc
}
@@ -218392,8 +209849,8 @@ func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32
// ** Implementation of xTokenize() API. This is just xTokenize_v2() with NULL/0
// ** passed as the locale.
// */
-func _fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) (r int32) {
- return _fts5ApiTokenize_v2(tls, pCtx, pText, nText, uintptr(0), 0, pUserData, xToken)
+func _fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, __ccgo_fp_xToken uintptr) (r int32) {
+ return _fts5ApiTokenize_v2(tls, pCtx, pText, nText, uintptr(0), 0, pUserData, __ccgo_fp_xToken)
}
func _fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) (r int32) {
@@ -218801,7 +210258,7 @@ func _fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr
// /*
// ** Implementation of the xSetAuxdata() method.
// */
-func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintptr) (r int32) {
+func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, __ccgo_fp_xDelete uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var pCsr, pData uintptr
@@ -218831,8 +210288,8 @@ func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintp
*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
pData = _sqlite3Fts5MallocZero(tls, bp, int64(32))
if pData == uintptr(0) {
- if xDelete != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDelete})))(tls, pPtr)
+ if __ccgo_fp_xDelete != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDelete})))(tls, pPtr)
}
return *(*int32)(unsafe.Pointer(bp))
}
@@ -218840,7 +210297,7 @@ func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintp
(*TFts5Auxdata)(unsafe.Pointer(pData)).FpNext = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpAuxdata
(*TFts5Cursor)(unsafe.Pointer(pCsr)).FpAuxdata = pData
}
- (*TFts5Auxdata)(unsafe.Pointer(pData)).FxDelete = xDelete
+ (*TFts5Auxdata)(unsafe.Pointer(pData)).FxDelete = __ccgo_fp_xDelete
(*TFts5Auxdata)(unsafe.Pointer(pData)).FpPtr = pPtr
return SQLITE_OK
}
@@ -219132,7 +210589,7 @@ func init() {
// /*
// ** Implementation of API function xQueryPhrase().
// */
-func _fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) (r int32) {
+func _fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, __ccgo_fp_xCallback uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var pCsr, pTab uintptr
@@ -219156,7 +210613,7 @@ func _fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData u
if !(rc == SQLITE_OK && (*TFts5Cursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcsrflags&int32(FTS5CSR_EOF) == 0) {
break
}
- rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xCallback})))(tls, uintptr(unsafe.Pointer(&_sFts5Api)), *(*uintptr)(unsafe.Pointer(bp)), pUserData)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xCallback})))(tls, uintptr(unsafe.Pointer(&_sFts5Api)), *(*uintptr)(unsafe.Pointer(bp)), pUserData)
if rc != SQLITE_OK {
if rc == int32(SQLITE_DONE) {
rc = SQLITE_OK
@@ -219443,14 +210900,14 @@ func _fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32)
// ** This routine implements the xFindFunction method for the FTS3
// ** virtual table.
// */
-func _fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) {
+func _fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, __ccgo_fp_pxFunc uintptr, ppArg uintptr) (r int32) {
var pAux, pTab uintptr
_, _ = pAux, pTab
pTab = pVtab
_ = nUnused
pAux = _fts5FindAuxiliary(tls, pTab, zName)
if pAux != 0 {
- *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_fts5ApiCallback)
+ *(*uintptr)(unsafe.Pointer(__ccgo_fp_pxFunc)) = __ccgo_fp(_fts5ApiCallback)
*(*uintptr)(unsafe.Pointer(ppArg)) = pAux
return int32(1)
}
@@ -219545,7 +211002,7 @@ func _fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) (r in
// /*
// ** Register a new auxiliary function with global context pGlobal.
// */
-func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Tfts5_extension_function, xDestroy uintptr) (r int32) {
+func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, __ccgo_fp_xFunc Tfts5_extension_function, __ccgo_fp_xDestroy uintptr) (r int32) {
var nByte, nName Tsqlite3_int64
var pAux, pGlobal uintptr
var rc int32
@@ -219562,8 +211019,8 @@ func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintpt
libc.Xmemcpy(tls, (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FzFunc, zName, libc.Uint64FromInt64(nName))
(*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal = pGlobal
(*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpUserData = pUserData
- (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxFunc = xFunc
- (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy = xDestroy
+ (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxFunc = __ccgo_fp_xFunc
+ (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy = __ccgo_fp_xDestroy
(*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpNext = (*TFts5Global)(unsafe.Pointer(pGlobal)).FpAux
(*TFts5Global)(unsafe.Pointer(pGlobal)).FpAux = pAux
} else {
@@ -219590,7 +211047,7 @@ func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintpt
// ** If an error occurs, an SQLite error code is returned and the final value
// ** of (*ppNew) undefined.
// */
-func _fts5NewTokenizerModule(tls *libc.TLS, pGlobal uintptr, zName uintptr, pUserData uintptr, xDestroy uintptr, ppNew uintptr) (r int32) {
+func _fts5NewTokenizerModule(tls *libc.TLS, pGlobal uintptr, zName uintptr, pUserData uintptr, __ccgo_fp_xDestroy uintptr, ppNew uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var nByte, nName Tsqlite3_int64
@@ -219607,7 +211064,7 @@ func _fts5NewTokenizerModule(tls *libc.TLS, pGlobal uintptr, zName uintptr, pUse
(*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FzName = pNew + 1*96
libc.Xmemcpy(tls, (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FzName, zName, libc.Uint64FromInt64(nName))
(*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FpUserData = pUserData
- (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FxDestroy = xDestroy
+ (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FxDestroy = __ccgo_fp_xDestroy
(*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FpNext = (*TFts5Global)(unsafe.Pointer(pGlobal)).FpTok
(*TFts5Global)(unsafe.Pointer(pGlobal)).FpTok = pNew
if (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FpNext == uintptr(0) {
@@ -219634,15 +211091,6 @@ type TFts5VtoVTokenizer = struct {
type Fts5VtoVTokenizer = TFts5VtoVTokenizer
-type TFts5VtoVTokenizer1 = struct {
- FbV2Native int32
- Fx1 Tfts5_tokenizer
- Fx2 Tfts5_tokenizer_v2
- FpReal uintptr
-}
-
-type Fts5VtoVTokenizer1 = TFts5VtoVTokenizer1
-
// C documentation
//
// /*
@@ -219702,11 +211150,11 @@ func _fts5VtoVDelete(tls *libc.TLS, pTok uintptr) {
// ** xTokenizer method for a wrapper tokenizer that offers the v1 interface
// ** (no support for locales).
// */
-func _fts5V1toV2Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5V1toV2Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
var p uintptr
_ = p
p = pTok
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx2.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, uintptr(0), 0, xToken)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx2.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, uintptr(0), 0, __ccgo_fp_xToken)
}
// C documentation
@@ -219715,13 +211163,13 @@ func _fts5V1toV2Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32,
// ** xTokenizer method for a wrapper tokenizer that offers the v2 interface
// ** (with locale support).
// */
-func _fts5V2toV1Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLocale uintptr, nLocale int32, xToken uintptr) (r int32) {
+func _fts5V2toV1Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLocale uintptr, nLocale int32, __ccgo_fp_xToken uintptr) (r int32) {
var p uintptr
_ = p
p = pTok
_ = pLocale
_ = nLocale
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx1.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, xToken)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx1.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, __ccgo_fp_xToken)
}
// C documentation
@@ -219730,7 +211178,7 @@ func _fts5V2toV1Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32,
// ** Register a new tokenizer. This is the implementation of the
// ** fts5_api.xCreateTokenizer_v2() method.
// */
-func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) (r int32) {
+func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var pGlobal uintptr
@@ -219743,7 +211191,7 @@ func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserDa
rc = int32(SQLITE_ERROR)
} else {
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
- rc = _fts5NewTokenizerModule(tls, pGlobal, zName, pUserData, xDestroy, bp)
+ rc = _fts5NewTokenizerModule(tls, pGlobal, zName, pUserData, __ccgo_fp_xDestroy, bp)
if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fx2 = *(*Tfts5_tokenizer_v2)(unsafe.Pointer(pTokenizer))
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FbV2Native = int32(1)
@@ -219760,7 +211208,7 @@ func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserDa
// /*
// ** The fts5_api.xCreateTokenizer() method.
// */
-func _fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) (r int32) {
+func _fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
@@ -219768,7 +211216,7 @@ func _fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData
_ = rc
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
rc = SQLITE_OK
- rc = _fts5NewTokenizerModule(tls, pApi, zName, pUserData, xDestroy, bp)
+ rc = _fts5NewTokenizerModule(tls, pApi, zName, pUserData, __ccgo_fp_xDestroy, bp)
if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fx1 = *(*Tfts5_tokenizer)(unsafe.Pointer(pTokenizer))
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fx2.FxCreate = __ccgo_fp(_fts5VtoVCreate)
@@ -220240,60 +211688,6 @@ func _sqlite3Fts5Init(tls *libc.TLS, db uintptr) (r int32) {
return _fts5Init(tls, db)
}
-/*
-** 2014 May 31
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
- */
-
-/* #include "fts5Int.h" */
-
-/*
-** pSavedRow:
-** SQL statement FTS5_STMT_LOOKUP2 is a copy of FTS5_STMT_LOOKUP, it
-** does a by-rowid lookup to retrieve a single row from the %_content
-** table or equivalent external-content table/view.
-**
-** However, FTS5_STMT_LOOKUP2 is only used when retrieving the original
-** values for a row being UPDATEd. In that case, the SQL statement is
-** not reset and pSavedRow is set to point at it. This is so that the
-** insert operation that follows the delete may access the original
-** row values for any new values for which sqlite3_value_nochange() returns
-** true. i.e. if the user executes:
-**
-** CREATE VIRTUAL TABLE ft USING fts5(a, b, c, locale=1);
-** ...
-** UPDATE fts SET a=?, b=? WHERE rowid=?;
-**
-** then the value passed to the xUpdate() method of this table as the
-** new.c value is an sqlite3_value_nochange() value. So in this case it
-** must be read from the saved row stored in Fts5Storage.pSavedRow.
-**
-** This is necessary - using sqlite3_value_nochange() instead of just having
-** SQLite pass the original value back via xUpdate() - so as not to discard
-** any locale information associated with such values.
-**
- */
-type TFts5Storage1 = struct {
- FpConfig uintptr
- FpIndex uintptr
- FbTotalsValid int32
- FnTotalRow Ti64
- FaTotalSize uintptr
- FpSavedRow uintptr
- FaStmt [12]uintptr
-}
-
-type Fts5Storage1 = TFts5Storage1
-
// C documentation
//
// /*
@@ -220650,14 +212044,6 @@ type TFts5InsertCtx = struct {
type Fts5InsertCtx = TFts5InsertCtx
-type TFts5InsertCtx1 = struct {
- FpStorage uintptr
- FiCol int32
- FszCol int32
-}
-
-type Fts5InsertCtx1 = TFts5InsertCtx1
-
// C documentation
//
// /*
@@ -221388,17 +212774,6 @@ type TFts5IntegrityCtx = struct {
type Fts5IntegrityCtx = TFts5IntegrityCtx
-type TFts5IntegrityCtx1 = struct {
- FiRowid Ti64
- FiCol int32
- FszCol int32
- Fcksum Tu64
- FpTermset uintptr
- FpConfig uintptr
-}
-
-type Fts5IntegrityCtx1 = TFts5IntegrityCtx1
-
// C documentation
//
// /*
@@ -221903,12 +213278,6 @@ type TAsciiTokenizer = struct {
type AsciiTokenizer = TAsciiTokenizer
-type TAsciiTokenizer1 = struct {
- FaTokenChar [128]uint8
-}
-
-type AsciiTokenizer1 = TAsciiTokenizer1
-
func _fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) {
var i int32
_ = i
@@ -222013,7 +213382,7 @@ func _asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) {
// /*
// ** Tokenize some text using the ascii tokenizer.
// */
-func _fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
bp := tls.Alloc(64)
defer tls.Free(64)
var a, p, pFold uintptr
@@ -222055,7 +213424,7 @@ func _fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused
}
_asciiFold(tls, pFold, pText+uintptr(is), nByte)
/* Invoke the token callback */
- rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xToken})))(tls, pCtx, 0, pFold, nByte, is, ie)
+ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xToken})))(tls, pCtx, 0, pFold, nByte, is, ie)
is = ie + int32(1)
}
if pFold != bp {
@@ -222089,18 +213458,6 @@ type TUnicode61Tokenizer = struct {
type Unicode61Tokenizer = TUnicode61Tokenizer
-type TUnicode61Tokenizer1 = struct {
- FaTokenChar [128]uint8
- FaFold uintptr
- FnFold int32
- FeRemoveDiacritic int32
- FnException int32
- FaiException uintptr
- FaCategory [32]uint8
-}
-
-type Unicode61Tokenizer1 = TUnicode61Tokenizer1
-
/* Values for eRemoveDiacritic (must match internals of fts5_unicode2.c) */
func _fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) (r int32) {
@@ -222326,7 +213683,7 @@ func _fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) (r int32) {
return libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 160 + uintptr(_sqlite3Fts5UnicodeCategory(tls, libc.Uint32FromInt32(iCode)))))) ^ _fts5UnicodeIsException(tls, p, iCode)
}
-func _fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
var a, aFold, p, pEnd, zCsr, zOut, zTerm, v10, v11, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v26, v27, v3, v4 uintptr
var iCode Tu32
var ie, is, nFold, rc, v7 int32
@@ -222513,7 +213870,7 @@ _9:
_5:
;
/* Invoke the token callback */
- rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xToken})))(tls, pCtx, 0, aFold, int32(int64(zOut)-int64(aFold)), is, ie)
+ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xToken})))(tls, pCtx, 0, aFold, int32(int64(zOut)-int64(aFold)), is, ie)
goto _2
_1:
;
@@ -222541,14 +213898,6 @@ type TPorterTokenizer = struct {
type PorterTokenizer = TPorterTokenizer
-type TPorterTokenizer1 = struct {
- Ftokenizer_v2 Tfts5_tokenizer_v2
- FpTokenizer uintptr
- FaBuf [128]uint8
-}
-
-type PorterTokenizer1 = TPorterTokenizer1
-
// C documentation
//
// /*
@@ -222626,14 +213975,6 @@ type TPorterContext = struct {
type PorterContext = TPorterContext
-type TPorterContext1 = struct {
- FpCtx uintptr
- FxToken uintptr
- FaBuf uintptr
-}
-
-type PorterContext1 = TPorterContext1
-
type TPorterRule = struct {
FzSuffix uintptr
FnSuffix int32
@@ -222644,16 +213985,6 @@ type TPorterRule = struct {
type PorterRule = TPorterRule
-type TPorterRule1 = struct {
- FzSuffix uintptr
- FnSuffix int32
- FxCond uintptr
- FzOutput uintptr
- FnOutput int32
-}
-
-type PorterRule1 = TPorterRule1
-
func _fts5PorterIsVowel(tls *libc.TLS, c uint8, bYIsVowel int32) (r int32) {
return libc.BoolInt32(libc.Int32FromUint8(c) == int32('a') || libc.Int32FromUint8(c) == int32('e') || libc.Int32FromUint8(c) == int32('i') || libc.Int32FromUint8(c) == int32('o') || libc.Int32FromUint8(c) == int32('u') || bYIsVowel != 0 && libc.Int32FromUint8(c) == int32('y'))
}
@@ -223279,14 +214610,14 @@ pass_through:
// /*
// ** Tokenize using the porter tokenizer.
// */
-func _fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLoc uintptr, nLoc int32, xToken uintptr) (r int32) {
+func _fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLoc uintptr, nLoc int32, __ccgo_fp_xToken uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var p uintptr
var _ /* sCtx at bp+0 */ TPorterContext
_ = p
p = pTokenizer
- (*(*TPorterContext)(unsafe.Pointer(bp))).FxToken = xToken
+ (*(*TPorterContext)(unsafe.Pointer(bp))).FxToken = __ccgo_fp_xToken
(*(*TPorterContext)(unsafe.Pointer(bp))).FpCtx = pCtx
(*(*TPorterContext)(unsafe.Pointer(bp))).FaBuf = p + 40
return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TPorterTokenizer)(unsafe.Pointer(p)).Ftokenizer_v2.FxTokenize})))(tls, (*TPorterTokenizer)(unsafe.Pointer(p)).FpTokenizer, bp, flags, pText, nText, pLoc, nLoc, __ccgo_fp(_fts5PorterCb))
@@ -223304,13 +214635,6 @@ type TTrigramTokenizer = struct {
type TrigramTokenizer = TTrigramTokenizer
-type TTrigramTokenizer1 = struct {
- FbFold int32
- FiFoldParam int32
-}
-
-type TrigramTokenizer1 = TTrigramTokenizer1
-
// C documentation
//
// /*
@@ -223392,7 +214716,7 @@ func _fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, p
// /*
// ** Trigram tokenizer tokenize routine.
// */
-func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var aStart [3]int32
@@ -223520,7 +214844,7 @@ func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int
}
}
/* Pass the current trigram back to fts5 */
- rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xToken})))(tls, pCtx, 0, bp, int32(int64(zOut)-t__predefined_ptrdiff_t(bp)), aStart[0], iNext)
+ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xToken})))(tls, pCtx, 0, bp, int32(int64(zOut)-t__predefined_ptrdiff_t(bp)), aStart[0], iNext)
if iCode == uint32(0) || rc != SQLITE_OK {
break
}
@@ -223596,11 +214920,11 @@ func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int
// ** "trigram" tokenizer, case_sensitive=0 (the default) - FTS5_PATTERN_LIKE
// ** all other tokenizers - FTS5_PATTERN_NONE
// */
-func _sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) (r int32) {
+func _sqlite3Fts5TokenizerPattern(tls *libc.TLS, __ccgo_fp_xCreate uintptr, pTok uintptr) (r int32) {
var p uintptr
var v1 int32
_, _ = p, v1
- if xCreate == __ccgo_fp(_fts5TriCreate) {
+ if __ccgo_fp_xCreate == __ccgo_fp(_fts5TriCreate) {
p = pTok
if (*TTrigramTokenizer)(unsafe.Pointer(p)).FiFoldParam == 0 {
if (*TTrigramTokenizer)(unsafe.Pointer(p)).FbFold != 0 {
@@ -229155,39 +220479,6 @@ type TFts5VocabCursor = struct {
type Fts5VocabCursor = TFts5VocabCursor
-type TFts5VocabTable1 = struct {
- Fbase Tsqlite3_vtab
- FzFts5Tbl uintptr
- FzFts5Db uintptr
- Fdb uintptr
- FpGlobal uintptr
- FeType int32
- FbBusy uint32
-}
-
-type Fts5VocabTable1 = TFts5VocabTable1
-
-type TFts5VocabCursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FpStmt uintptr
- FpFts5 uintptr
- FbEof int32
- FpIter uintptr
- FpStruct uintptr
- FnLeTerm int32
- FzLeTerm uintptr
- FcolUsed int32
- FiCol int32
- FaCnt uintptr
- FaDoc uintptr
- Frowid Ti64
- Fterm TFts5Buffer
- FiInstPos Ti64
- FiInstOff int32
-}
-
-type Fts5VocabCursor1 = TFts5VocabCursor1
-
/*
** Bits for the mask used as the idxNum value by xBestIndex/xFilter.
*/
@@ -230272,11 +221563,11 @@ var Xsqlite3_temp_directory uintptr
// **
// ** See also: [sqlite_version()] and [sqlite_source_id()].
// */
-var Xsqlite3_version = [7]uint8{'3', '.', '5', '0', '.', '3'}
+var Xsqlite3_version = [7]uint8{'3', '.', '5', '0', '.', '4'}
var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
-var __ccgo_ts1 = "ATOMIC_INTRINSICS=0\x00COMPILER=clang-19.1.7\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=1000\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00unistr('\x000123456789abcdef\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenWrite\x00OpenDup\x00BitNot\x00OpenAutoindex\x00OpenEphemeral\x00String8\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00DropTrigger\x00Real\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00subrtnsig:%d,%s\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d: %s; [%s]\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: %s; [%s]\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open table with generated columns: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00more than %d aggregate terms\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%#Q\x00%Q\x00invalid Unicode escape\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00unistr\x00quote\x00unistr_quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00if\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00builtin\x00enc\x00narg\x00flags\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00unique\x00origin\x00partial\x00wdth\x00hght\x00flgs\x00rowid\x00fkid\x00busy\x00checkpointed\x00file\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00CREATE BLOOM FILTER\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00vacuum_%016llx\x00ATTACH %Q AS %s\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO %s.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM %s.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO %s.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX \x000x%x:%s\x00%d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00internal query planner error\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00near \"%T\": syntax error\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00#\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1, 0 UNION ALL SELECT 1, 'idx', '', 0, '', 2, 0 UNION ALL SELECT 2, 'stat', '', 0, '', 0, 0\x00PRAGMA '%q'.table_xinfo('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00SELECT * FROM %Q.sqlite_schema\x00no such table: %s.%s\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00wrong number of arguments to function fts5_get_locale()\x00non-integer argument passed to function fts5_get_locale()\x00snippet\x00highlight\x00bm25\x00fts5_get_locale\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00contentless_unindexed\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00locale\x00malformed locale=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00, NULL\x00, T.l%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00contentless_unindexed=1 requires a contentless table\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00insttoken\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00REPLACE INTO %Q.'%q_config' VALUES ('version', %d)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%.*s\x00%s: table does not support scanning\x00fts5: missing row %lld from content table %s\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00%s a subset of columns on fts5 contentless-delete table: %s\x00%s contentless fts5 table: %s\x00cannot UPDATE\x00'delete' may not be used with a contentless_delete=1 table\x00cannot DELETE from contentless fts5 table: %s\x00fts5_locale() requires locale=1\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2025-07-17 13:25:10 3ce993b8657d6d9deda380a93cdd6404a8c8ba1b185b2bc423703e41ae5f2543\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00fts5_locale\x00fts5_insttoken\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00%z%s?%d\x00%z,?%d\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00, l%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00DELETE FROM %Q.'%q_content';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00trigram\x00ascii\x00porter\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002025-07-17 13:25:10 3ce993b8657d6d9deda380a93cdd6404a8c8ba1b185b2bc423703e41ae5f2543\x00"
+var __ccgo_ts1 = "ATOMIC_INTRINSICS=0\x00COMPILER=clang-19.1.7\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=1000\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_NOOP\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00unistr('\x000123456789abcdef\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenWrite\x00OpenDup\x00BitNot\x00OpenAutoindex\x00OpenEphemeral\x00String8\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00DropTrigger\x00Real\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00subrtnsig:%d,%s\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d: %s; [%s]\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: %s; [%s]\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open table with generated columns: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00more than %d aggregate terms\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%#Q\x00%Q\x00invalid Unicode escape\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00unistr\x00quote\x00unistr_quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00if\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00builtin\x00enc\x00narg\x00flags\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00unique\x00origin\x00partial\x00wdth\x00hght\x00flgs\x00rowid\x00fkid\x00busy\x00checkpointed\x00file\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00CREATE BLOOM FILTER\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00vacuum_%016llx\x00ATTACH %Q AS %s\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO %s.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM %s.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO %s.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX \x000x%x:%s\x00%d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00internal query planner error\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00near \"%T\": syntax error\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00#\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1, 0 UNION ALL SELECT 1, 'idx', '', 0, '', 2, 0 UNION ALL SELECT 2, 'stat', '', 0, '', 0, 0\x00PRAGMA '%q'.table_xinfo('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00SELECT * FROM %Q.sqlite_schema\x00no such table: %s.%s\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00wrong number of arguments to function fts5_get_locale()\x00non-integer argument passed to function fts5_get_locale()\x00snippet\x00highlight\x00bm25\x00fts5_get_locale\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00contentless_unindexed\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00locale\x00malformed locale=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00, NULL\x00, T.l%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00contentless_unindexed=1 requires a contentless table\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00insttoken\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00REPLACE INTO %Q.'%q_config' VALUES ('version', %d)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%.*s\x00%s: table does not support scanning\x00fts5: missing row %lld from content table %s\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00%s a subset of columns on fts5 contentless-delete table: %s\x00%s contentless fts5 table: %s\x00cannot UPDATE\x00'delete' may not be used with a contentless_delete=1 table\x00cannot DELETE from contentless fts5 table: %s\x00fts5_locale() requires locale=1\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00fts5_locale\x00fts5_insttoken\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00%z%s?%d\x00%z,?%d\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00, l%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00DELETE FROM %Q.'%q_content';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00trigram\x00ascii\x00porter\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3\x00"
type Sqlite3_int64 = sqlite3_int64
type Sqlite3_mutex_methods = sqlite3_mutex_methods
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go
index 5cb499da8dea9..8b341113eea34 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_386.go
@@ -2185,7 +2185,7 @@ const SQLITE_SHM_SHARED = 4
const SQLITE_SHM_UNLOCK = 1
const SQLITE_SORTER_PMASZ = 250
const SQLITE_SOUNDEX = 1
-const SQLITE_SOURCE_ID = "2025-07-17 13:25:10 3ce993b8657d6d9deda380a93cdd6404a8c8ba1b185b2bc423703e41ae5f2543"
+const SQLITE_SOURCE_ID = "2025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3"
const SQLITE_SO_ASC = 0
const SQLITE_SO_DESC = 1
const SQLITE_SO_UNDEFINED = -1
@@ -2296,8 +2296,8 @@ const SQLITE_UTF16LE = 2
const SQLITE_UTF16NATIVE = 2
const SQLITE_UTF16_ALIGNED = 8
const SQLITE_UTF8 = 1
-const SQLITE_VERSION = "3.50.3"
-const SQLITE_VERSION_NUMBER = 3050003
+const SQLITE_VERSION = "3.50.4"
+const SQLITE_VERSION_NUMBER = 3050004
const SQLITE_VTABRISK_High = 2
const SQLITE_VTABRISK_Low = 0
const SQLITE_VTABRISK_Normal = 1
@@ -3923,12 +3923,6 @@ type Tsqlite3_file = struct {
type sqlite3_file = Tsqlite3_file
-type Tsqlite3_file1 = struct {
- FpMethods uintptr
-}
-
-type sqlite3_file1 = Tsqlite3_file1
-
// C documentation
//
// /*
@@ -4057,30 +4051,6 @@ type Tsqlite3_io_methods = struct {
type sqlite3_io_methods = Tsqlite3_io_methods
-type Tsqlite3_io_methods1 = struct {
- FiVersion int32
- FxClose uintptr
- FxRead uintptr
- FxWrite uintptr
- FxTruncate uintptr
- FxSync uintptr
- FxFileSize uintptr
- FxLock uintptr
- FxUnlock uintptr
- FxCheckReservedLock uintptr
- FxFileControl uintptr
- FxSectorSize uintptr
- FxDeviceCharacteristics uintptr
- FxShmMap uintptr
- FxShmLock uintptr
- FxShmBarrier uintptr
- FxShmUnmap uintptr
- FxFetch uintptr
- FxUnfetch uintptr
-}
-
-type sqlite3_io_methods1 = Tsqlite3_io_methods1
-
/*
** CAPI3REF: Standard File Control Opcodes
** KEYWORDS: {file control opcodes} {file control opcode}
@@ -4968,33 +4938,6 @@ type Tsqlite3_syscall_ptr = uintptr
type sqlite3_syscall_ptr = Tsqlite3_syscall_ptr
-type Tsqlite3_vfs1 = struct {
- FiVersion int32
- FszOsFile int32
- FmxPathname int32
- FpNext uintptr
- FzName uintptr
- FpAppData uintptr
- FxOpen uintptr
- FxDelete uintptr
- FxAccess uintptr
- FxFullPathname uintptr
- FxDlOpen uintptr
- FxDlError uintptr
- FxDlSym uintptr
- FxDlClose uintptr
- FxRandomness uintptr
- FxSleep uintptr
- FxCurrentTime uintptr
- FxGetLastError uintptr
- FxCurrentTimeInt64 uintptr
- FxSetSystemCall uintptr
- FxGetSystemCall uintptr
- FxNextSystemCall uintptr
-}
-
-type sqlite3_vfs1 = Tsqlite3_vfs1
-
// C documentation
//
// /*
@@ -5073,19 +5016,6 @@ type Tsqlite3_mem_methods = struct {
type sqlite3_mem_methods = Tsqlite3_mem_methods
-type Tsqlite3_mem_methods1 = struct {
- FxMalloc uintptr
- FxFree uintptr
- FxRealloc uintptr
- FxSize uintptr
- FxRoundup uintptr
- FxInit uintptr
- FxShutdown uintptr
- FpAppData uintptr
-}
-
-type sqlite3_mem_methods1 = Tsqlite3_mem_methods1
-
// C documentation
//
// /*
@@ -5261,223 +5191,6 @@ type Tsqlite3_module = struct {
type sqlite3_module = Tsqlite3_module
-/*
-** CAPI3REF: Virtual Table Object
-** KEYWORDS: sqlite3_module {virtual table module}
-**
-** This structure, sometimes called a "virtual table module",
-** defines the implementation of a [virtual table].
-** This structure consists mostly of methods for the module.
-**
-** ^A virtual table module is created by filling in a persistent
-** instance of this structure and passing a pointer to that instance
-** to [sqlite3_create_module()] or [sqlite3_create_module_v2()].
-** ^The registration remains valid until it is replaced by a different
-** module or until the [database connection] closes. The content
-** of this structure must not change while it is registered with
-** any database connection.
- */
-type Tsqlite3_module1 = struct {
- FiVersion int32
- FxCreate uintptr
- FxConnect uintptr
- FxBestIndex uintptr
- FxDisconnect uintptr
- FxDestroy uintptr
- FxOpen uintptr
- FxClose uintptr
- FxFilter uintptr
- FxNext uintptr
- FxEof uintptr
- FxColumn uintptr
- FxRowid uintptr
- FxUpdate uintptr
- FxBegin uintptr
- FxSync uintptr
- FxCommit uintptr
- FxRollback uintptr
- FxFindFunction uintptr
- FxRename uintptr
- FxSavepoint uintptr
- FxRelease uintptr
- FxRollbackTo uintptr
- FxShadowName uintptr
- FxIntegrity uintptr
-}
-
-type sqlite3_module1 = Tsqlite3_module1
-
-/*
-** CAPI3REF: Virtual Table Indexing Information
-** KEYWORDS: sqlite3_index_info
-**
-** The sqlite3_index_info structure and its substructures is used as part
-** of the [virtual table] interface to
-** pass information into and receive the reply from the [xBestIndex]
-** method of a [virtual table module]. The fields under **Inputs** are the
-** inputs to xBestIndex and are read-only. xBestIndex inserts its
-** results into the **Outputs** fields.
-**
-** ^(The aConstraint[] array records WHERE clause constraints of the form:
-**
-** column OP expr
-**
-** where OP is =, <, <=, >, or >=.)^ ^(The particular operator is
-** stored in aConstraint[].op using one of the
-** [SQLITE_INDEX_CONSTRAINT_EQ | SQLITE_INDEX_CONSTRAINT_ values].)^
-** ^(The index of the column is stored in
-** aConstraint[].iColumn.)^ ^(aConstraint[].usable is TRUE if the
-** expr on the right-hand side can be evaluated (and thus the constraint
-** is usable) and false if it cannot.)^
-**
-** ^The optimizer automatically inverts terms of the form "expr OP column"
-** and makes other simplifications to the WHERE clause in an attempt to
-** get as many WHERE clause terms into the form shown above as possible.
-** ^The aConstraint[] array only reports WHERE clause terms that are
-** relevant to the particular virtual table being queried.
-**
-** ^Information about the ORDER BY clause is stored in aOrderBy[].
-** ^Each term of aOrderBy records a column of the ORDER BY clause.
-**
-** The colUsed field indicates which columns of the virtual table may be
-** required by the current scan. Virtual table columns are numbered from
-** zero in the order in which they appear within the CREATE TABLE statement
-** passed to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62),
-** the corresponding bit is set within the colUsed mask if the column may be
-** required by SQLite. If the table has at least 64 columns and any column
-** to the right of the first 63 is required, then bit 63 of colUsed is also
-** set. In other words, column iCol may be required if the expression
-** (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) evaluates to
-** non-zero.
-**
-** The [xBestIndex] method must fill aConstraintUsage[] with information
-** about what parameters to pass to xFilter. ^If argvIndex>0 then
-** the right-hand side of the corresponding aConstraint[] is evaluated
-** and becomes the argvIndex-th entry in argv. ^(If aConstraintUsage[].omit
-** is true, then the constraint is assumed to be fully handled by the
-** virtual table and might not be checked again by the byte code.)^ ^(The
-** aConstraintUsage[].omit flag is an optimization hint. When the omit flag
-** is left in its default setting of false, the constraint will always be
-** checked separately in byte code. If the omit flag is changed to true, then
-** the constraint may or may not be checked in byte code. In other words,
-** when the omit flag is true there is no guarantee that the constraint will
-** not be checked again using byte code.)^
-**
-** ^The idxNum and idxStr values are recorded and passed into the
-** [xFilter] method.
-** ^[sqlite3_free()] is used to free idxStr if and only if
-** needToFreeIdxStr is true.
-**
-** ^The orderByConsumed means that output from [xFilter]/[xNext] will occur in
-** the correct order to satisfy the ORDER BY clause so that no separate
-** sorting step is required.
-**
-** ^The estimatedCost value is an estimate of the cost of a particular
-** strategy. A cost of N indicates that the cost of the strategy is similar
-** to a linear scan of an SQLite table with N rows. A cost of log(N)
-** indicates that the expense of the operation is similar to that of a
-** binary search on a unique indexed field of an SQLite table with N rows.
-**
-** ^The estimatedRows value is an estimate of the number of rows that
-** will be returned by the strategy.
-**
-** The xBestIndex method may optionally populate the idxFlags field with a
-** mask of SQLITE_INDEX_SCAN_* flags. One such flag is
-** [SQLITE_INDEX_SCAN_HEX], which if set causes the [EXPLAIN QUERY PLAN]
-** output to show the idxNum as hex instead of as decimal. Another flag is
-** SQLITE_INDEX_SCAN_UNIQUE, which if set indicates that the query plan will
-** return at most one row.
-**
-** Additionally, if xBestIndex sets the SQLITE_INDEX_SCAN_UNIQUE flag, then
-** SQLite also assumes that if a call to the xUpdate() method is made as
-** part of the same statement to delete or update a virtual table row and the
-** implementation returns SQLITE_CONSTRAINT, then there is no need to rollback
-** any database changes. In other words, if the xUpdate() returns
-** SQLITE_CONSTRAINT, the database contents must be exactly as they were
-** before xUpdate was called. By contrast, if SQLITE_INDEX_SCAN_UNIQUE is not
-** set and xUpdate returns SQLITE_CONSTRAINT, any database changes made by
-** the xUpdate method are automatically rolled back by SQLite.
-**
-** IMPORTANT: The estimatedRows field was added to the sqlite3_index_info
-** structure for SQLite [version 3.8.2] ([dateof:3.8.2]).
-** If a virtual table extension is
-** used with an SQLite version earlier than 3.8.2, the results of attempting
-** to read or write the estimatedRows field are undefined (but are likely
-** to include crashing the application). The estimatedRows field should
-** therefore only be used if [sqlite3_libversion_number()] returns a
-** value greater than or equal to 3008002. Similarly, the idxFlags field
-** was added for [version 3.9.0] ([dateof:3.9.0]).
-** It may therefore only be used if
-** sqlite3_libversion_number() returns a value greater than or equal to
-** 3009000.
- */
-type Tsqlite3_index_info1 = struct {
- FnConstraint int32
- FaConstraint uintptr
- FnOrderBy int32
- FaOrderBy uintptr
- FaConstraintUsage uintptr
- FidxNum int32
- FidxStr uintptr
- FneedToFreeIdxStr int32
- ForderByConsumed int32
- FestimatedCost float64
- FestimatedRows Tsqlite3_int64
- FidxFlags int32
- FcolUsed Tsqlite3_uint64
-}
-
-type sqlite3_index_info1 = Tsqlite3_index_info1
-
-/*
-** CAPI3REF: Virtual Table Instance Object
-** KEYWORDS: sqlite3_vtab
-**
-** Every [virtual table module] implementation uses a subclass
-** of this object to describe a particular instance
-** of the [virtual table]. Each subclass will
-** be tailored to the specific needs of the module implementation.
-** The purpose of this superclass is to define certain fields that are
-** common to all module implementations.
-**
-** ^Virtual tables methods can set an error message by assigning a
-** string obtained from [sqlite3_mprintf()] to zErrMsg. The method should
-** take care that any prior string is freed by a call to [sqlite3_free()]
-** prior to assigning a new string to zErrMsg. ^After the error message
-** is delivered up to the client application, the string will be automatically
-** freed by sqlite3_free() and the zErrMsg field will be zeroed.
- */
-type Tsqlite3_vtab1 = struct {
- FpModule uintptr
- FnRef int32
- FzErrMsg uintptr
-}
-
-type sqlite3_vtab1 = Tsqlite3_vtab1
-
-/*
-** CAPI3REF: Virtual Table Cursor Object
-** KEYWORDS: sqlite3_vtab_cursor {virtual table cursor}
-**
-** Every [virtual table module] implementation uses a subclass of the
-** following structure to describe cursors that point into the
-** [virtual table] and are used
-** to loop through the virtual table. Cursors are created using the
-** [sqlite3_module.xOpen | xOpen] method of the module and are destroyed
-** by the [sqlite3_module.xClose | xClose] method. Cursors are used
-** by the [xFilter], [xNext], [xEof], [xColumn], and [xRowid] methods
-** of the module. Each module implementation will define
-** the content of a cursor structure to suit its own needs.
-**
-** This superclass exists in order to define fields of the cursor that
-** are common to all implementations.
- */
-type Tsqlite3_vtab_cursor1 = struct {
- FpVtab uintptr
-}
-
-type sqlite3_vtab_cursor1 = Tsqlite3_vtab_cursor1
-
// C documentation
//
// /*
@@ -5559,20 +5272,6 @@ type Tsqlite3_mutex_methods = struct {
type sqlite3_mutex_methods = Tsqlite3_mutex_methods
-type Tsqlite3_mutex_methods1 = struct {
- FxMutexInit uintptr
- FxMutexEnd uintptr
- FxMutexAlloc uintptr
- FxMutexFree uintptr
- FxMutexEnter uintptr
- FxMutexTry uintptr
- FxMutexLeave uintptr
- FxMutexHeld uintptr
- FxMutexNotheld uintptr
-}
-
-type sqlite3_mutex_methods1 = Tsqlite3_mutex_methods1
-
// C documentation
//
// /*
@@ -5622,13 +5321,6 @@ type Tsqlite3_pcache_page = struct {
type sqlite3_pcache_page = Tsqlite3_pcache_page
-type Tsqlite3_pcache_page1 = struct {
- FpBuf uintptr
- FpExtra uintptr
-}
-
-type sqlite3_pcache_page1 = Tsqlite3_pcache_page1
-
// C documentation
//
// /*
@@ -5808,24 +5500,6 @@ type Tsqlite3_pcache_methods2 = struct {
type sqlite3_pcache_methods2 = Tsqlite3_pcache_methods2
-type Tsqlite3_pcache_methods21 = struct {
- FiVersion int32
- FpArg uintptr
- FxInit uintptr
- FxShutdown uintptr
- FxCreate uintptr
- FxCachesize uintptr
- FxPagecount uintptr
- FxFetch uintptr
- FxUnpin uintptr
- FxRekey uintptr
- FxTruncate uintptr
- FxDestroy uintptr
- FxShrink uintptr
-}
-
-type sqlite3_pcache_methods21 = Tsqlite3_pcache_methods21
-
// C documentation
//
// /*
@@ -5849,22 +5523,6 @@ type Tsqlite3_pcache_methods = struct {
type sqlite3_pcache_methods = Tsqlite3_pcache_methods
-type Tsqlite3_pcache_methods1 = struct {
- FpArg uintptr
- FxInit uintptr
- FxShutdown uintptr
- FxCreate uintptr
- FxCachesize uintptr
- FxPagecount uintptr
- FxFetch uintptr
- FxUnpin uintptr
- FxRekey uintptr
- FxTruncate uintptr
- FxDestroy uintptr
-}
-
-type sqlite3_pcache_methods1 = Tsqlite3_pcache_methods1
-
// C documentation
//
// /*
@@ -6005,50 +5663,6 @@ type Tsqlite3_rtree_dbl = float64
type sqlite3_rtree_dbl = Tsqlite3_rtree_dbl
-/*
-** A pointer to a structure of the following type is passed as the first
-** argument to callbacks registered using rtree_geometry_callback().
- */
-type Tsqlite3_rtree_geometry1 = struct {
- FpContext uintptr
- FnParam int32
- FaParam uintptr
- FpUser uintptr
- FxDelUser uintptr
-}
-
-type sqlite3_rtree_geometry1 = Tsqlite3_rtree_geometry1
-
-/*
-** A pointer to a structure of the following type is passed as the
-** argument to scored geometry callback registered using
-** sqlite3_rtree_query_callback().
-**
-** Note that the first 5 fields of this structure are identical to
-** sqlite3_rtree_geometry. This structure is a subclass of
-** sqlite3_rtree_geometry.
- */
-type Tsqlite3_rtree_query_info1 = struct {
- FpContext uintptr
- FnParam int32
- FaParam uintptr
- FpUser uintptr
- FxDelUser uintptr
- FaCoord uintptr
- FanQueue uintptr
- FnCoord int32
- FiLevel int32
- FmxLevel int32
- FiRowid Tsqlite3_int64
- FrParentScore Tsqlite3_rtree_dbl
- FeParentWithin int32
- FeWithin int32
- FrScore Tsqlite3_rtree_dbl
- FapSqlParam uintptr
-}
-
-type sqlite3_rtree_query_info1 = Tsqlite3_rtree_query_info1
-
/*
** Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin.
*/
@@ -6445,340 +6059,6 @@ type Tfts5_extension_function = uintptr
type fts5_extension_function = Tfts5_extension_function
-type TFts5PhraseIter1 = struct {
- Fa uintptr
- Fb uintptr
-}
-
-type Fts5PhraseIter1 = TFts5PhraseIter1
-
-/*
-** EXTENSION API FUNCTIONS
-**
-** xUserData(pFts):
-** Return a copy of the pUserData pointer passed to the xCreateFunction()
-** API when the extension function was registered.
-**
-** xColumnTotalSize(pFts, iCol, pnToken):
-** If parameter iCol is less than zero, set output variable *pnToken
-** to the total number of tokens in the FTS5 table. Or, if iCol is
-** non-negative but less than the number of columns in the table, return
-** the total number of tokens in column iCol, considering all rows in
-** the FTS5 table.
-**
-** If parameter iCol is greater than or equal to the number of columns
-** in the table, SQLITE_RANGE is returned. Or, if an error occurs (e.g.
-** an OOM condition or IO error), an appropriate SQLite error code is
-** returned.
-**
-** xColumnCount(pFts):
-** Return the number of columns in the table.
-**
-** xColumnSize(pFts, iCol, pnToken):
-** If parameter iCol is less than zero, set output variable *pnToken
-** to the total number of tokens in the current row. Or, if iCol is
-** non-negative but less than the number of columns in the table, set
-** *pnToken to the number of tokens in column iCol of the current row.
-**
-** If parameter iCol is greater than or equal to the number of columns
-** in the table, SQLITE_RANGE is returned. Or, if an error occurs (e.g.
-** an OOM condition or IO error), an appropriate SQLite error code is
-** returned.
-**
-** This function may be quite inefficient if used with an FTS5 table
-** created with the "columnsize=0" option.
-**
-** xColumnText:
-** If parameter iCol is less than zero, or greater than or equal to the
-** number of columns in the table, SQLITE_RANGE is returned.
-**
-** Otherwise, this function attempts to retrieve the text of column iCol of
-** the current document. If successful, (*pz) is set to point to a buffer
-** containing the text in utf-8 encoding, (*pn) is set to the size in bytes
-** (not characters) of the buffer and SQLITE_OK is returned. Otherwise,
-** if an error occurs, an SQLite error code is returned and the final values
-** of (*pz) and (*pn) are undefined.
-**
-** xPhraseCount:
-** Returns the number of phrases in the current query expression.
-**
-** xPhraseSize:
-** If parameter iCol is less than zero, or greater than or equal to the
-** number of phrases in the current query, as returned by xPhraseCount,
-** 0 is returned. Otherwise, this function returns the number of tokens in
-** phrase iPhrase of the query. Phrases are numbered starting from zero.
-**
-** xInstCount:
-** Set *pnInst to the total number of occurrences of all phrases within
-** the query within the current row. Return SQLITE_OK if successful, or
-** an error code (i.e. SQLITE_NOMEM) if an error occurs.
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option. If the FTS5 table is created
-** with either "detail=none" or "detail=column" and "content=" option
-** (i.e. if it is a contentless table), then this API always returns 0.
-**
-** xInst:
-** Query for the details of phrase match iIdx within the current row.
-** Phrase matches are numbered starting from zero, so the iIdx argument
-** should be greater than or equal to zero and smaller than the value
-** output by xInstCount(). If iIdx is less than zero or greater than
-** or equal to the value returned by xInstCount(), SQLITE_RANGE is returned.
-**
-** Otherwise, output parameter *piPhrase is set to the phrase number, *piCol
-** to the column in which it occurs and *piOff the token offset of the
-** first token of the phrase. SQLITE_OK is returned if successful, or an
-** error code (i.e. SQLITE_NOMEM) if an error occurs.
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option.
-**
-** xRowid:
-** Returns the rowid of the current row.
-**
-** xTokenize:
-** Tokenize text using the tokenizer belonging to the FTS5 table.
-**
-** xQueryPhrase(pFts5, iPhrase, pUserData, xCallback):
-** This API function is used to query the FTS table for phrase iPhrase
-** of the current query. Specifically, a query equivalent to:
-**
-** ... FROM ftstable WHERE ftstable MATCH $p ORDER BY rowid
-**
-** with $p set to a phrase equivalent to the phrase iPhrase of the
-** current query is executed. Any column filter that applies to
-** phrase iPhrase of the current query is included in $p. For each
-** row visited, the callback function passed as the fourth argument
-** is invoked. The context and API objects passed to the callback
-** function may be used to access the properties of each matched row.
-** Invoking Api.xUserData() returns a copy of the pointer passed as
-** the third argument to pUserData.
-**
-** If parameter iPhrase is less than zero, or greater than or equal to
-** the number of phrases in the query, as returned by xPhraseCount(),
-** this function returns SQLITE_RANGE.
-**
-** If the callback function returns any value other than SQLITE_OK, the
-** query is abandoned and the xQueryPhrase function returns immediately.
-** If the returned value is SQLITE_DONE, xQueryPhrase returns SQLITE_OK.
-** Otherwise, the error code is propagated upwards.
-**
-** If the query runs to completion without incident, SQLITE_OK is returned.
-** Or, if some error occurs before the query completes or is aborted by
-** the callback, an SQLite error code is returned.
-**
-**
-** xSetAuxdata(pFts5, pAux, xDelete)
-**
-** Save the pointer passed as the second argument as the extension function's
-** "auxiliary data". The pointer may then be retrieved by the current or any
-** future invocation of the same fts5 extension function made as part of
-** the same MATCH query using the xGetAuxdata() API.
-**
-** Each extension function is allocated a single auxiliary data slot for
-** each FTS query (MATCH expression). If the extension function is invoked
-** more than once for a single FTS query, then all invocations share a
-** single auxiliary data context.
-**
-** If there is already an auxiliary data pointer when this function is
-** invoked, then it is replaced by the new pointer. If an xDelete callback
-** was specified along with the original pointer, it is invoked at this
-** point.
-**
-** The xDelete callback, if one is specified, is also invoked on the
-** auxiliary data pointer after the FTS5 query has finished.
-**
-** If an error (e.g. an OOM condition) occurs within this function,
-** the auxiliary data is set to NULL and an error code returned. If the
-** xDelete parameter was not NULL, it is invoked on the auxiliary data
-** pointer before returning.
-**
-**
-** xGetAuxdata(pFts5, bClear)
-**
-** Returns the current auxiliary data pointer for the fts5 extension
-** function. See the xSetAuxdata() method for details.
-**
-** If the bClear argument is non-zero, then the auxiliary data is cleared
-** (set to NULL) before this function returns. In this case the xDelete,
-** if any, is not invoked.
-**
-**
-** xRowCount(pFts5, pnRow)
-**
-** This function is used to retrieve the total number of rows in the table.
-** In other words, the same value that would be returned by:
-**
-** SELECT count(*) FROM ftstable;
-**
-** xPhraseFirst()
-** This function is used, along with type Fts5PhraseIter and the xPhraseNext
-** method, to iterate through all instances of a single query phrase within
-** the current row. This is the same information as is accessible via the
-** xInstCount/xInst APIs. While the xInstCount/xInst APIs are more convenient
-** to use, this API may be faster under some circumstances. To iterate
-** through instances of phrase iPhrase, use the following code:
-**
-** Fts5PhraseIter iter;
-** int iCol, iOff;
-** for(pApi->xPhraseFirst(pFts, iPhrase, &iter, &iCol, &iOff);
-** iCol>=0;
-** pApi->xPhraseNext(pFts, &iter, &iCol, &iOff)
-** ){
-** // An instance of phrase iPhrase at offset iOff of column iCol
-** }
-**
-** The Fts5PhraseIter structure is defined above. Applications should not
-** modify this structure directly - it should only be used as shown above
-** with the xPhraseFirst() and xPhraseNext() API methods (and by
-** xPhraseFirstColumn() and xPhraseNextColumn() as illustrated below).
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option. If the FTS5 table is created
-** with either "detail=none" or "detail=column" and "content=" option
-** (i.e. if it is a contentless table), then this API always iterates
-** through an empty set (all calls to xPhraseFirst() set iCol to -1).
-**
-** In all cases, matches are visited in (column ASC, offset ASC) order.
-** i.e. all those in column 0, sorted by offset, followed by those in
-** column 1, etc.
-**
-** xPhraseNext()
-** See xPhraseFirst above.
-**
-** xPhraseFirstColumn()
-** This function and xPhraseNextColumn() are similar to the xPhraseFirst()
-** and xPhraseNext() APIs described above. The difference is that instead
-** of iterating through all instances of a phrase in the current row, these
-** APIs are used to iterate through the set of columns in the current row
-** that contain one or more instances of a specified phrase. For example:
-**
-** Fts5PhraseIter iter;
-** int iCol;
-** for(pApi->xPhraseFirstColumn(pFts, iPhrase, &iter, &iCol);
-** iCol>=0;
-** pApi->xPhraseNextColumn(pFts, &iter, &iCol)
-** ){
-** // Column iCol contains at least one instance of phrase iPhrase
-** }
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" option. If the FTS5 table is created with either
-** "detail=none" "content=" option (i.e. if it is a contentless table),
-** then this API always iterates through an empty set (all calls to
-** xPhraseFirstColumn() set iCol to -1).
-**
-** The information accessed using this API and its companion
-** xPhraseFirstColumn() may also be obtained using xPhraseFirst/xPhraseNext
-** (or xInst/xInstCount). The chief advantage of this API is that it is
-** significantly more efficient than those alternatives when used with
-** "detail=column" tables.
-**
-** xPhraseNextColumn()
-** See xPhraseFirstColumn above.
-**
-** xQueryToken(pFts5, iPhrase, iToken, ppToken, pnToken)
-** This is used to access token iToken of phrase iPhrase of the current
-** query. Before returning, output parameter *ppToken is set to point
-** to a buffer containing the requested token, and *pnToken to the
-** size of this buffer in bytes.
-**
-** If iPhrase or iToken are less than zero, or if iPhrase is greater than
-** or equal to the number of phrases in the query as reported by
-** xPhraseCount(), or if iToken is equal to or greater than the number of
-** tokens in the phrase, SQLITE_RANGE is returned and *ppToken and *pnToken
-
- are both zeroed.
-
-**
-** The output text is not a copy of the query text that specified the
-** token. It is the output of the tokenizer module. For tokendata=1
-** tables, this includes any embedded 0x00 and trailing data.
-**
-** xInstToken(pFts5, iIdx, iToken, ppToken, pnToken)
-** This is used to access token iToken of phrase hit iIdx within the
-** current row. If iIdx is less than zero or greater than or equal to the
-** value returned by xInstCount(), SQLITE_RANGE is returned. Otherwise,
-** output variable (*ppToken) is set to point to a buffer containing the
-** matching document token, and (*pnToken) to the size of that buffer in
-** bytes.
-**
-** The output text is not a copy of the document text that was tokenized.
-** It is the output of the tokenizer module. For tokendata=1 tables, this
-** includes any embedded 0x00 and trailing data.
-**
-** This API may be slow in some cases if the token identified by parameters
-** iIdx and iToken matched a prefix token in the query. In most cases, the
-** first call to this API for each prefix token in the query is forced
-** to scan the portion of the full-text index that matches the prefix
-** token to collect the extra data required by this API. If the prefix
-** token matches a large number of token instances in the document set,
-** this may be a performance problem.
-**
-** If the user knows in advance that a query may use this API for a
-** prefix token, FTS5 may be configured to collect all required data as part
-** of the initial querying of the full-text index, avoiding the second scan
-** entirely. This also causes prefix queries that do not use this API to
-** run more slowly and use more memory. FTS5 may be configured in this way
-** either on a per-table basis using the [FTS5 insttoken | 'insttoken']
-** option, or on a per-query basis using the
-** [fts5_insttoken | fts5_insttoken()] user function.
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option.
-**
-** xColumnLocale(pFts5, iIdx, pzLocale, pnLocale)
-** If parameter iCol is less than zero, or greater than or equal to the
-** number of columns in the table, SQLITE_RANGE is returned.
-**
-** Otherwise, this function attempts to retrieve the locale associated
-** with column iCol of the current row. Usually, there is no associated
-** locale, and output parameters (*pzLocale) and (*pnLocale) are set
-** to NULL and 0, respectively. However, if the fts5_locale() function
-** was used to associate a locale with the value when it was inserted
-** into the fts5 table, then (*pzLocale) is set to point to a nul-terminated
-** buffer containing the name of the locale in utf-8 encoding. (*pnLocale)
-** is set to the size in bytes of the buffer, not including the
-** nul-terminator.
-**
-** If successful, SQLITE_OK is returned. Or, if an error occurs, an
-** SQLite error code is returned. The final value of the output parameters
-** is undefined in this case.
-**
-** xTokenize_v2:
-** Tokenize text using the tokenizer belonging to the FTS5 table. This
-** API is the same as the xTokenize() API, except that it allows a tokenizer
-** locale to be specified.
-*/
-type TFts5ExtensionApi1 = struct {
- FiVersion int32
- FxUserData uintptr
- FxColumnCount uintptr
- FxRowCount uintptr
- FxColumnTotalSize uintptr
- FxTokenize uintptr
- FxPhraseCount uintptr
- FxPhraseSize uintptr
- FxInstCount uintptr
- FxInst uintptr
- FxRowid uintptr
- FxColumnText uintptr
- FxColumnSize uintptr
- FxQueryPhrase uintptr
- FxSetAuxdata uintptr
- FxGetAuxdata uintptr
- FxPhraseFirst uintptr
- FxPhraseNext uintptr
- FxPhraseFirstColumn uintptr
- FxPhraseNextColumn uintptr
- FxQueryToken uintptr
- FxInstToken uintptr
- FxColumnLocale uintptr
- FxTokenize_v2 uintptr
-}
-
-type Fts5ExtensionApi1 = TFts5ExtensionApi1
-
type Tfts5_tokenizer_v2 = struct {
FiVersion int32
FxCreate uintptr
@@ -6788,15 +6068,6 @@ type Tfts5_tokenizer_v2 = struct {
type fts5_tokenizer_v2 = Tfts5_tokenizer_v2
-type Tfts5_tokenizer_v21 = struct {
- FiVersion int32
- FxCreate uintptr
- FxDelete uintptr
- FxTokenize uintptr
-}
-
-type fts5_tokenizer_v21 = Tfts5_tokenizer_v21
-
// C documentation
//
// /*
@@ -6812,14 +6083,6 @@ type Tfts5_tokenizer = struct {
type fts5_tokenizer = Tfts5_tokenizer
-type Tfts5_tokenizer1 = struct {
- FxCreate uintptr
- FxDelete uintptr
- FxTokenize uintptr
-}
-
-type fts5_tokenizer1 = Tfts5_tokenizer1
-
/* Flags that may be passed as the third argument to xTokenize() */
/* Flags that may be passed by the tokenizer implementation back to FTS5
@@ -6845,17 +6108,6 @@ type Tfts5_api = struct {
type fts5_api = Tfts5_api
-type Tfts5_api1 = struct {
- FiVersion int32
- FxCreateTokenizer uintptr
- FxFindTokenizer uintptr
- FxCreateFunction uintptr
- FxCreateTokenizer_v2 uintptr
- FxFindTokenizer_v2 uintptr
-}
-
-type fts5_api1 = Tfts5_api1
-
/*
** END OF REGISTRATION API
*************************************************************************/
@@ -7299,52 +6551,6 @@ type THashElem = struct {
type HashElem = THashElem
-/* A complete hash table is an instance of the following structure.
-** The internals of this structure are intended to be opaque -- client
-** code should not attempt to access or modify the fields of this structure
-** directly. Change this structure only by using the routines below.
-** However, some of the "procedures" and "functions" for modifying and
-** accessing this structure are really macros, so we can't really make
-** this structure opaque.
-**
-** All elements of the hash table are on a single doubly-linked list.
-** Hash.first points to the head of this list.
-**
-** There are Hash.htsize buckets. Each bucket points to a spot in
-** the global doubly-linked list. The contents of the bucket are the
-** element pointed to plus the next _ht.count-1 elements in the list.
-**
-** Hash.htsize and Hash.ht may be zero. In that case lookup is done
-** by a linear search of the global list. For small tables, the
-** Hash.ht table is never allocated because if there are few elements
-** in the table, it is faster to do a linear search than to manage
-** the hash table.
- */
-type THash1 = struct {
- Fhtsize uint32
- Fcount uint32
- Ffirst uintptr
- Fht uintptr
-}
-
-type Hash1 = THash1
-
-/* Each element in the hash table is an instance of the following
-** structure. All elements are stored on a single doubly-linked list.
-**
-** Again, this structure is intended to be opaque, but it can't really
-** be opaque because it is used by macros.
- */
-type THashElem1 = struct {
- Fnext uintptr
- Fprev uintptr
- Fdata uintptr
- FpKey uintptr
- Fh uint32
-}
-
-type HashElem1 = THashElem1
-
type Tsize_t = uint32
type size_t = Tsize_t
@@ -7674,14 +6880,6 @@ type TBusyHandler = struct {
type BusyHandler = TBusyHandler
-type TBusyHandler1 = struct {
- FxBusyHandler uintptr
- FpBusyArg uintptr
- FnBusy int32
-}
-
-type BusyHandler1 = TBusyHandler1
-
/*
** Name of table that holds the database schema.
**
@@ -7926,12 +7124,13 @@ type TExpr = struct {
FpAggInfo uintptr
Fy struct {
FpWin [0]uintptr
+ FnReg [0]int32
Fsub [0]struct {
FiAddr int32
FregReturn int32
}
FpTab uintptr
- F__ccgo_pad3 [4]byte
+ F__ccgo_pad4 [4]byte
}
}
@@ -8411,10 +7610,6 @@ type TStrAccum = struct {
type StrAccum = TStrAccum
-type Tsqlite3_str1 = TStrAccum
-
-type sqlite3_str1 = Tsqlite3_str1
-
/* Internal alias for sqlite3_str */
type TTable = struct {
FzName uintptr
@@ -8844,9 +8039,9 @@ type DbPage = TDbPage
// /*
// ** Handle type for pages.
// */
-type TPgHdr2 = TDbPage
+type TPgHdr = TDbPage
-type PgHdr2 = TPgHdr2
+type PgHdr = TPgHdr
/* Functions to support testing and debugging. */
@@ -8973,53 +8168,6 @@ type TBtreePayload = struct {
type BtreePayload = TBtreePayload
-/* Allowed flags for sqlite3BtreeDelete() and sqlite3BtreeInsert() */
-
-/* An instance of the BtreePayload object describes the content of a single
-** entry in either an index or table btree.
-**
-** Index btrees (used for indexes and also WITHOUT ROWID tables) contain
-** an arbitrary key and no data. These btrees have pKey,nKey set to the
-** key and the pData,nData,nZero fields are uninitialized. The aMem,nMem
-** fields give an array of Mem objects that are a decomposition of the key.
-** The nMem field might be zero, indicating that no decomposition is available.
-**
-** Table btrees (used for rowid tables) contain an integer rowid used as
-** the key and passed in the nKey field. The pKey field is zero.
-** pData,nData hold the content of the new entry. nZero extra zero bytes
-** are appended to the end of the content when constructing the entry.
-** The aMem,nMem fields are uninitialized for table btrees.
-**
-** Field usage summary:
-**
-** Table BTrees Index Btrees
-**
-** pKey always NULL encoded key
-** nKey the ROWID length of pKey
-** pData data not used
-** aMem not used decomposed key value
-** nMem not used entries in aMem
-** nData length of pData not used
-** nZero extra zeros after pData not used
-**
-** This object is used to pass information into sqlite3BtreeInsert(). The
-** same information used to be passed as five separate parameters. But placing
-** the information into this object helps to keep the interface more
-** organized and understandable, and it also helps the resulting code to
-** run a little faster by using fewer registers for parameter passing.
- */
-type TBtreePayload1 = struct {
- FpKey uintptr
- FnKey Tsqlite3_int64
- FpData uintptr
- FaMem uintptr
- FnMem Tu16
- FnData int32
- FnZero int32
-}
-
-type BtreePayload1 = TBtreePayload1
-
/************** End of btree.h ***********************************************/
/************** Continuing where we left off in sqliteInt.h ******************/
/************** Include vdbe.h in the middle of sqliteInt.h ******************/
@@ -9123,16 +8271,6 @@ type TMem = struct {
type Mem = TMem
-// C documentation
-//
-// /*
-// ** The names of the following types declared in vdbeInt.h are required
-// ** for the VdbeOp definition.
-// */
-type Tsqlite3_value1 = TMem
-
-type sqlite3_value1 = Tsqlite3_value1
-
type TSubProgram = struct {
FaOp uintptr
FnOp int32
@@ -9156,38 +8294,11 @@ type TSubrtnSig = struct {
type SubrtnSig = TSubrtnSig
-/*
-** A signature for a reusable subroutine that materializes the RHS of
-** an IN operator.
- */
-type TSubrtnSig1 = struct {
- FselId int32
- FbComplete Tu8
- FzAff uintptr
- FiTable int32
- FiAddr int32
- FregReturn int32
-}
-
-type SubrtnSig1 = TSubrtnSig1
-
/*
** A single instruction of the virtual machine has an opcode
** and as many as three operands. The instruction is recorded
** as an instance of the following structure:
*/
-type TVdbeOp1 = struct {
- Fopcode Tu8
- Fp4type int8
- Fp5 Tu16
- Fp1 int32
- Fp2 int32
- Fp3 int32
- Fp4 Tp4union
-}
-
-type VdbeOp1 = TVdbeOp1
-
type TVdbeOp = struct {
Fopcode Tu8
Fp4type int8
@@ -9200,34 +8311,10 @@ type TVdbeOp = struct {
type VdbeOp = TVdbeOp
-/*
-** A sub-routine used to implement a trigger program.
- */
-type TSubProgram1 = struct {
- FaOp uintptr
- FnOp int32
- FnMem int32
- FnCsr int32
- FaOnce uintptr
- Ftoken uintptr
- FpNext uintptr
-}
-
-type SubProgram1 = TSubProgram1
-
/*
** A smaller version of VdbeOp used for the VdbeAddOpList() function because
** it takes up less space.
*/
-type TVdbeOpList1 = struct {
- Fopcode Tu8
- Fp1 int8
- Fp2 int8
- Fp3 int8
-}
-
-type VdbeOpList1 = TVdbeOpList1
-
type TVdbeOpList = struct {
Fopcode Tu8
Fp1 int8
@@ -9241,90 +8328,6 @@ type TRecordCompare = uintptr
type RecordCompare = TRecordCompare
-/* Use SQLITE_ENABLE_EXPLAIN_COMMENTS to enable generation of extra
-** comments on each VDBE opcode.
-**
-** Use the SQLITE_ENABLE_MODULE_COMMENTS macro to see some extra no-op
-** comments in VDBE programs that show key decision points in the code
-** generator.
- */
-
-/*
-** The VdbeCoverage macros are used to set a coverage testing point
-** for VDBE branch instructions. The coverage testing points are line
-** numbers in the sqlite3.c source file. VDBE branch coverage testing
-** only works with an amalgamation build. That's ok since a VDBE branch
-** coverage build designed for testing the test suite only. No application
-** should ever ship with VDBE branch coverage measuring turned on.
-**
-** VdbeCoverage(v) // Mark the previously coded instruction
-** // as a branch
-**
-** VdbeCoverageIf(v, conditional) // Mark previous if conditional true
-**
-** VdbeCoverageAlwaysTaken(v) // Previous branch is always taken
-**
-** VdbeCoverageNeverTaken(v) // Previous branch is never taken
-**
-** VdbeCoverageNeverNull(v) // Previous three-way branch is only
-** // taken on the first two ways. The
-** // NULL option is not possible
-**
-** VdbeCoverageEqNe(v) // Previous OP_Jump is only interested
-** // in distinguishing equal and not-equal.
-**
-** Every VDBE branch operation must be tagged with one of the macros above.
-** If not, then when "make test" is run with -DSQLITE_VDBE_COVERAGE and
-** -DSQLITE_DEBUG then an ALWAYS() will fail in the vdbeTakeBranch()
-** routine in vdbe.c, alerting the developer to the missed tag.
-**
-** During testing, the test application will invoke
-** sqlite3_test_control(SQLITE_TESTCTRL_VDBE_COVERAGE,...) to set a callback
-** routine that is invoked as each bytecode branch is taken. The callback
-** contains the sqlite3.c source line number of the VdbeCoverage macro and
-** flags to indicate whether or not the branch was taken. The test application
-** is responsible for keeping track of this and reporting byte-code branches
-** that are never taken.
-**
-** See the VdbeBranchTaken() macro and vdbeTakeBranch() function in the
-** vdbe.c source file for additional information.
- */
-
-/************** End of vdbe.h ************************************************/
-/************** Continuing where we left off in sqliteInt.h ******************/
-/************** Include pcache.h in the middle of sqliteInt.h ****************/
-/************** Begin file pcache.h ******************************************/
-/*
-** 2008 August 05
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This header file defines the interface that the sqlite page cache
-** subsystem.
- */
-
-type TPgHdr = struct {
- FpPage uintptr
- FpData uintptr
- FpExtra uintptr
- FpCache uintptr
- FpDirty uintptr
- FpPager uintptr
- Fpgno TPgno
- Fflags Tu16
- FnRef Ti64
- FpDirtyNext uintptr
- FpDirtyPrev uintptr
-}
-
-type PgHdr = TPgHdr
-
type TPCache = struct {
FpDirty uintptr
FpDirtyTail uintptr
@@ -9343,187 +8346,6 @@ type TPCache = struct {
type PCache = TPCache
-/************** End of mutex.h ***********************************************/
-/************** Continuing where we left off in sqliteInt.h ******************/
-
-/* The SQLITE_EXTRA_DURABLE compile-time option used to set the default
-** synchronous setting to EXTRA. It is no longer supported.
- */
-
-/*
-** Default synchronous levels.
-**
-** Note that (for historical reasons) the PAGER_SYNCHRONOUS_* macros differ
-** from the SQLITE_DEFAULT_SYNCHRONOUS value by 1.
-**
-** PAGER_SYNCHRONOUS DEFAULT_SYNCHRONOUS
-** OFF 1 0
-** NORMAL 2 1
-** FULL 3 2
-** EXTRA 4 3
-**
-** The "PRAGMA synchronous" statement also uses the zero-based numbers.
-** In other words, the zero-based numbers are used for all external interfaces
-** and the one-based values are used internally.
- */
-
-/*
-** Each database file to be accessed by the system is an instance
-** of the following structure. There are normally two of these structures
-** in the sqlite.aDb[] array. aDb[0] is the main database file and
-** aDb[1] is the database file used to hold temporary tables. Additional
-** databases may be attached.
- */
-type TDb1 = struct {
- FzDbSName uintptr
- FpBt uintptr
- Fsafety_level Tu8
- FbSyncSet Tu8
- FpSchema uintptr
-}
-
-type Db1 = TDb1
-
-/*
-** An instance of the following structure stores a database schema.
-**
-** Most Schema objects are associated with a Btree. The exception is
-** the Schema for the TEMP database (sqlite3.aDb[1]) which is free-standing.
-** In shared cache mode, a single Schema object can be shared by multiple
-** Btrees that refer to the same underlying BtShared object.
-**
-** Schema objects are automatically deallocated when the last Btree that
-** references them is destroyed. The TEMP Schema is manually freed by
-** sqlite3_close().
-*
-** A thread must be holding a mutex on the corresponding Btree in order
-** to access Schema content. This implies that the thread must also be
-** holding a mutex on the sqlite3 connection pointer that owns the Btree.
-** For a TEMP Schema, only the connection mutex is required.
- */
-type TSchema1 = struct {
- Fschema_cookie int32
- FiGeneration int32
- FtblHash THash
- FidxHash THash
- FtrigHash THash
- FfkeyHash THash
- FpSeqTab uintptr
- Ffile_format Tu8
- Fenc Tu8
- FschemaFlags Tu16
- Fcache_size int32
-}
-
-type Schema1 = TSchema1
-
-/*
-** These macros can be used to test, set, or clear bits in the
-** Db.pSchema->flags field.
- */
-
-/*
-** Allowed values for the DB.pSchema->flags field.
-**
-** The DB_SchemaLoaded flag is set after the database schema has been
-** read into internal hash tables.
-**
-** DB_UnresetViews means that one or more views have column names that
-** have been filled out. If the schema changes, these column names might
-** changes and so the view will need to be reset.
- */
-
-/*
-** The number of different kinds of things that can be limited
-** using the sqlite3_limit() interface.
- */
-
-/*
-** Lookaside malloc is a set of fixed-size buffers that can be used
-** to satisfy small transient memory allocation requests for objects
-** associated with a particular database connection. The use of
-** lookaside malloc provides a significant performance enhancement
-** (approx 10%) by avoiding numerous malloc/free requests while parsing
-** SQL statements.
-**
-** The Lookaside structure holds configuration information about the
-** lookaside malloc subsystem. Each available memory allocation in
-** the lookaside subsystem is stored on a linked list of LookasideSlot
-** objects.
-**
-** Lookaside allocations are only allowed for objects that are associated
-** with a particular database connection. Hence, schema information cannot
-** be stored in lookaside because in shared cache mode the schema information
-** is shared by multiple database connections. Therefore, while parsing
-** schema information, the Lookaside.bEnabled flag is cleared so that
-** lookaside allocations are not used to construct the schema objects.
-**
-** New lookaside allocations are only allowed if bDisable==0. When
-** bDisable is greater than zero, sz is set to zero which effectively
-** disables lookaside without adding a new test for the bDisable flag
-** in a performance-critical path. sz should be set by to szTrue whenever
-** bDisable changes back to zero.
-**
-** Lookaside buffers are initially held on the pInit list. As they are
-** used and freed, they are added back to the pFree list. New allocations
-** come off of pFree first, then pInit as a fallback. This dual-list
-** allows use to compute a high-water mark - the maximum number of allocations
-** outstanding at any point in the past - by subtracting the number of
-** allocations on the pInit list from the total number of allocations.
-**
-** Enhancement on 2019-12-12: Two-size-lookaside
-** The default lookaside configuration is 100 slots of 1200 bytes each.
-** The larger slot sizes are important for performance, but they waste
-** a lot of space, as most lookaside allocations are less than 128 bytes.
-** The two-size-lookaside enhancement breaks up the lookaside allocation
-** into two pools: One of 128-byte slots and the other of the default size
-** (1200-byte) slots. Allocations are filled from the small-pool first,
-** failing over to the full-size pool if that does not work. Thus more
-** lookaside slots are available while also using less memory.
-** This enhancement can be omitted by compiling with
-** SQLITE_OMIT_TWOSIZE_LOOKASIDE.
- */
-type TLookaside1 = struct {
- FbDisable Tu32
- Fsz Tu16
- FszTrue Tu16
- FbMalloced Tu8
- FnSlot Tu32
- FanStat [3]Tu32
- FpInit uintptr
- FpFree uintptr
- FpSmallInit uintptr
- FpSmallFree uintptr
- FpMiddle uintptr
- FpStart uintptr
- FpEnd uintptr
- FpTrueEnd uintptr
-}
-
-type Lookaside1 = TLookaside1
-
-type TLookasideSlot1 = struct {
- FpNext uintptr
-}
-
-type LookasideSlot1 = TLookasideSlot1
-
-/* Size of the smaller allocations in two-size lookaside */
-
-/*
-** A hash table for built-in function definitions. (Application-defined
-** functions use a regular table table from hash.h.)
-**
-** Hash each FuncDef structure into one of the FuncDefHash.a[] slots.
-** Collisions are on the FuncDef.u.pHash chain. Use the SQLITE_FUNC_HASH()
-** macro to compute a hash on the function name.
- */
-type TFuncDefHash1 = struct {
- Fa [23]uintptr
-}
-
-type FuncDefHash1 = TFuncDefHash1
-
// C documentation
//
// /*
@@ -9533,918 +8355,6 @@ type Tsqlite3_xauth = uintptr
type sqlite3_xauth = Tsqlite3_xauth
-/* This is an extra SQLITE_TRACE macro that indicates "legacy" tracing
-** in the style of sqlite3_trace()
- */
-
-/*
-** Maximum number of sqlite3.aDb[] entries. This is the number of attached
-** databases plus 2 for "main" and "temp".
- */
-
-/*
-** Each database connection is an instance of the following structure.
- */
-type Tsqlite31 = struct {
- FpVfs uintptr
- FpVdbe uintptr
- FpDfltColl uintptr
- Fmutex uintptr
- FaDb uintptr
- FnDb int32
- FmDbFlags Tu32
- Fflags Tu64
- FlastRowid Ti64
- FszMmap Ti64
- FnSchemaLock Tu32
- FopenFlags uint32
- FerrCode int32
- FerrByteOffset int32
- FerrMask int32
- FiSysErrno int32
- FdbOptFlags Tu32
- Fenc Tu8
- FautoCommit Tu8
- Ftemp_store Tu8
- FmallocFailed Tu8
- FbBenignMalloc Tu8
- FdfltLockMode Tu8
- FnextAutovac int8
- FsuppressErr Tu8
- FvtabOnConflict Tu8
- FisTransactionSavepoint Tu8
- FmTrace Tu8
- FnoSharedCache Tu8
- FnSqlExec Tu8
- FeOpenState Tu8
- FnextPagesize int32
- FnChange Ti64
- FnTotalChange Ti64
- FaLimit [12]int32
- FnMaxSorterMmap int32
- Finit1 Tsqlite3InitInfo
- FnVdbeActive int32
- FnVdbeRead int32
- FnVdbeWrite int32
- FnVdbeExec int32
- FnVDestroy int32
- FnExtension int32
- FaExtension uintptr
- Ftrace struct {
- FxV2 [0]uintptr
- FxLegacy uintptr
- }
- FpTraceArg uintptr
- FxProfile uintptr
- FpProfileArg uintptr
- FpCommitArg uintptr
- FxCommitCallback uintptr
- FpRollbackArg uintptr
- FxRollbackCallback uintptr
- FpUpdateArg uintptr
- FxUpdateCallback uintptr
- FpAutovacPagesArg uintptr
- FxAutovacDestr uintptr
- FxAutovacPages uintptr
- FpParse uintptr
- FpPreUpdateArg uintptr
- FxPreUpdateCallback uintptr
- FpPreUpdate uintptr
- FxWalCallback uintptr
- FpWalArg uintptr
- FxCollNeeded uintptr
- FxCollNeeded16 uintptr
- FpCollNeededArg uintptr
- FpErr uintptr
- Fu1 struct {
- FnotUsed1 [0]float64
- FisInterrupted int32
- F__ccgo_pad2 [4]byte
- }
- Flookaside TLookaside
- FxAuth Tsqlite3_xauth
- FpAuthArg uintptr
- FxProgress uintptr
- FpProgressArg uintptr
- FnProgressOps uint32
- FnVTrans int32
- FaModule THash
- FpVtabCtx uintptr
- FaVTrans uintptr
- FpDisconnect uintptr
- FaFunc THash
- FaCollSeq THash
- FbusyHandler TBusyHandler
- FaDbStatic [2]TDb
- FpSavepoint uintptr
- FnAnalysisLimit int32
- FbusyTimeout int32
- FnSavepoint int32
- FnStatement int32
- FnDeferredCons Ti64
- FnDeferredImmCons Ti64
- FpnBytesFreed uintptr
- FpDbData uintptr
- FpBlockingConnection uintptr
- FpUnlockConnection uintptr
- FpUnlockArg uintptr
- FxUnlockNotify uintptr
- FpNextBlocked uintptr
-}
-
-type sqlite31 = Tsqlite31
-
-/*
-** A macro to discover the encoding of a database.
- */
-
-/*
-** A u64 constant where the lower 32 bits are all zeros. Only the
-** upper 32 bits are included in the argument. Necessary because some
-** C-compilers still do not accept LL integer literals.
- */
-
-/*
-** Possible values for the sqlite3.flags.
-**
-** Value constraints (enforced via assert()):
-** SQLITE_FullFSync == PAGER_FULLFSYNC
-** SQLITE_CkptFullFSync == PAGER_CKPT_FULLFSYNC
-** SQLITE_CacheSpill == PAGER_CACHE_SPILL
- */
-/* result set is empty */
-/* DELETE, or UPDATE and return */
-/* the count using a callback. */
-
-/* Flags used only if debugging */
-
-/*
-** Allowed values for sqlite3.mDbFlags
- */
-
-/*
-** Bits of the sqlite3.dbOptFlags field that are used by the
-** sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS,...) interface to
-** selectively disable various optimizations.
- */
-/* TH3 expects this value ^^^^^^^^^^ to be 0x0000800. Don't change it */
-/* TH3 expects this value ^^^^^^^^^^ to be 0x40000. Coordinate any change */
-/* TH3 expects this value ^^^^^^^^^^ See flatten04.test */
-
-/*
-** Macros for testing whether or not optimizations are enabled or disabled.
- */
-
-/*
-** Return true if it OK to factor constant expressions into the initialization
-** code. The argument is a Parse object for the code generator.
- */
-
-/* Possible values for the sqlite3.eOpenState field.
-** The numbers are randomly selected such that a minimum of three bits must
-** change to convert any number to another or to zero
- */
-
-/*
-** Each SQL function is defined by an instance of the following
-** structure. For global built-in functions (ex: substr(), max(), count())
-** a pointer to this structure is held in the sqlite3BuiltinFunctions object.
-** For per-connection application-defined functions, a pointer to this
-** structure is held in the db->aHash hash table.
-**
-** The u.pHash field is used by the global built-ins. The u.pDestructor
-** field is used by per-connection app-def functions.
- */
-type TFuncDef1 = struct {
- FnArg Ti16
- FfuncFlags Tu32
- FpUserData uintptr
- FpNext uintptr
- FxSFunc uintptr
- FxFinalize uintptr
- FxValue uintptr
- FxInverse uintptr
- FzName uintptr
- Fu struct {
- FpDestructor [0]uintptr
- FpHash uintptr
- }
-}
-
-type FuncDef1 = TFuncDef1
-
-/*
-** This structure encapsulates a user-function destructor callback (as
-** configured using create_function_v2()) and a reference counter. When
-** create_function_v2() is called to create a function with a destructor,
-** a single object of this type is allocated. FuncDestructor.nRef is set to
-** the number of FuncDef objects created (either 1 or 3, depending on whether
-** or not the specified encoding is SQLITE_ANY). The FuncDef.pDestructor
-** member of each of the new FuncDef objects is set to point to the allocated
-** FuncDestructor.
-**
-** Thereafter, when one of the FuncDef objects is deleted, the reference
-** count on this object is decremented. When it reaches 0, the destructor
-** is invoked and the FuncDestructor structure freed.
- */
-type TFuncDestructor1 = struct {
- FnRef int32
- FxDestroy uintptr
- FpUserData uintptr
-}
-
-type FuncDestructor1 = TFuncDestructor1
-
-/*
-** Possible values for FuncDef.flags. Note that the _LENGTH and _TYPEOF
-** values must correspond to OPFLAG_LENGTHARG and OPFLAG_TYPEOFARG. And
-** SQLITE_FUNC_CONSTANT must be the same as SQLITE_DETERMINISTIC. There
-** are assert() statements in the code to verify this.
-**
-** Value constraints (enforced via assert()):
-** SQLITE_FUNC_MINMAX == NC_MinMaxAgg == SF_MinMaxAgg
-** SQLITE_FUNC_ANYORDER == NC_OrderAgg == SF_OrderByReqd
-** SQLITE_FUNC_LENGTH == OPFLAG_LENGTHARG
-** SQLITE_FUNC_TYPEOF == OPFLAG_TYPEOFARG
-** SQLITE_FUNC_BYTELEN == OPFLAG_BYTELENARG
-** SQLITE_FUNC_CONSTANT == SQLITE_DETERMINISTIC from the API
-** SQLITE_FUNC_DIRECT == SQLITE_DIRECTONLY from the API
-** SQLITE_FUNC_UNSAFE == SQLITE_INNOCUOUS -- opposite meanings!!!
-** SQLITE_FUNC_ENCMASK depends on SQLITE_UTF* macros in the API
-**
-** Note that even though SQLITE_FUNC_UNSAFE and SQLITE_INNOCUOUS have the
-** same bit value, their meanings are inverted. SQLITE_FUNC_UNSAFE is
-** used internally and if set means that the function has side effects.
-** SQLITE_INNOCUOUS is used by application code and means "not unsafe".
-** See multiple instances of tag-20230109-1.
- */
-/* 0x0200 -- available for reuse */
-/* SQLITE_SUBTYPE 0x00100000 // Consumer of subtypes */
-/* SQLITE_RESULT_SUBTYPE 0x01000000 // Generator of subtypes */
-
-/* Identifier numbers for each in-line function */
-
-/*
-** The following three macros, FUNCTION(), LIKEFUNC() and AGGREGATE() are
-** used to create the initializers for the FuncDef structures.
-**
-** FUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Used to create a scalar function definition of a function zName
-** implemented by C function xFunc that accepts nArg arguments. The
-** value passed as iArg is cast to a (void*) and made available
-** as the user-data (sqlite3_user_data()) for the function. If
-** argument bNC is true, then the SQLITE_FUNC_NEEDCOLL flag is set.
-**
-** VFUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Like FUNCTION except it omits the SQLITE_FUNC_CONSTANT flag.
-**
-** SFUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Like FUNCTION except it omits the SQLITE_FUNC_CONSTANT flag and
-** adds the SQLITE_DIRECTONLY flag.
-**
-** INLINE_FUNC(zName, nArg, iFuncId, mFlags)
-** zName is the name of a function that is implemented by in-line
-** byte code rather than by the usual callbacks. The iFuncId
-** parameter determines the function id. The mFlags parameter is
-** optional SQLITE_FUNC_ flags for this function.
-**
-** TEST_FUNC(zName, nArg, iFuncId, mFlags)
-** zName is the name of a test-only function implemented by in-line
-** byte code rather than by the usual callbacks. The iFuncId
-** parameter determines the function id. The mFlags parameter is
-** optional SQLITE_FUNC_ flags for this function.
-**
-** DFUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Like FUNCTION except it omits the SQLITE_FUNC_CONSTANT flag and
-** adds the SQLITE_FUNC_SLOCHNG flag. Used for date & time functions
-** and functions like sqlite_version() that can change, but not during
-** a single query. The iArg is ignored. The user-data is always set
-** to a NULL pointer. The bNC parameter is not used.
-**
-** MFUNCTION(zName, nArg, xPtr, xFunc)
-** For math-library functions. xPtr is an arbitrary pointer.
-**
-** PURE_DATE(zName, nArg, iArg, bNC, xFunc)
-** Used for "pure" date/time functions, this macro is like DFUNCTION
-** except that it does set the SQLITE_FUNC_CONSTANT flags. iArg is
-** ignored and the user-data for these functions is set to an
-** arbitrary non-NULL pointer. The bNC parameter is not used.
-**
-** AGGREGATE(zName, nArg, iArg, bNC, xStep, xFinal)
-** Used to create an aggregate function definition implemented by
-** the C functions xStep and xFinal. The first four parameters
-** are interpreted in the same way as the first 4 parameters to
-** FUNCTION().
-**
-** WAGGREGATE(zName, nArg, iArg, xStep, xFinal, xValue, xInverse)
-** Used to create an aggregate function definition implemented by
-** the C functions xStep and xFinal. The first four parameters
-** are interpreted in the same way as the first 4 parameters to
-** FUNCTION().
-**
-** LIKEFUNC(zName, nArg, pArg, flags)
-** Used to create a scalar function definition of a function zName
-** that accepts nArg arguments and is implemented by a call to C
-** function likeFunc. Argument pArg is cast to a (void *) and made
-** available as the function user-data (sqlite3_user_data()). The
-** FuncDef.flags variable is set to the value passed as the flags
-** parameter.
- */
-
-/*
-** All current savepoints are stored in a linked list starting at
-** sqlite3.pSavepoint. The first element in the list is the most recently
-** opened savepoint. Savepoints are added to the list by the vdbe
-** OP_Savepoint instruction.
- */
-type TSavepoint1 = struct {
- FzName uintptr
- FnDeferredCons Ti64
- FnDeferredImmCons Ti64
- FpNext uintptr
-}
-
-type Savepoint1 = TSavepoint1
-
-/*
-** The following are used as the second parameter to sqlite3Savepoint(),
-** and as the P1 argument to the OP_Savepoint instruction.
- */
-
-/*
-** Each SQLite module (virtual table definition) is defined by an
-** instance of the following structure, stored in the sqlite3.aModule
-** hash table.
- */
-type TModule1 = struct {
- FpModule uintptr
- FzName uintptr
- FnRefModule int32
- FpAux uintptr
- FxDestroy uintptr
- FpEpoTab uintptr
-}
-
-type Module1 = TModule1
-
-/*
-** Information about each column of an SQL table is held in an instance
-** of the Column structure, in the Table.aCol[] array.
-**
-** Definitions:
-**
-** "table column index" This is the index of the column in the
-** Table.aCol[] array, and also the index of
-** the column in the original CREATE TABLE stmt.
-**
-** "storage column index" This is the index of the column in the
-** record BLOB generated by the OP_MakeRecord
-** opcode. The storage column index is less than
-** or equal to the table column index. It is
-** equal if and only if there are no VIRTUAL
-** columns to the left.
-**
-** Notes on zCnName:
-** The zCnName field stores the name of the column, the datatype of the
-** column, and the collating sequence for the column, in that order, all in
-** a single allocation. Each string is 0x00 terminated. The datatype
-** is only included if the COLFLAG_HASTYPE bit of colFlags is set and the
-** collating sequence name is only included if the COLFLAG_HASCOLL bit is
-** set.
- */
-type TColumn1 = struct {
- FzCnName uintptr
- F__ccgo4 uint8
- Faffinity int8
- FszEst Tu8
- FhName Tu8
- FiDflt Tu16
- FcolFlags Tu16
-}
-
-type Column1 = TColumn1
-
-/* Allowed values for Column.eCType.
-**
-** Values must match entries in the global constant arrays
-** sqlite3StdTypeLen[] and sqlite3StdType[]. Each value is one more
-** than the offset into these arrays for the corresponding name.
-** Adjust the SQLITE_N_STDTYPE value if adding or removing entries.
- */
-
-/* Allowed values for Column.colFlags.
-**
-** Constraints:
-** TF_HasVirtual == COLFLAG_VIRTUAL
-** TF_HasStored == COLFLAG_STORED
-** TF_HasHidden == COLFLAG_HIDDEN
- */
-
-/*
-** A "Collating Sequence" is defined by an instance of the following
-** structure. Conceptually, a collating sequence consists of a name and
-** a comparison routine that defines the order of that sequence.
-**
-** If CollSeq.xCmp is NULL, it means that the
-** collating sequence is undefined. Indices built on an undefined
-** collating sequence may not be read or written.
- */
-type TCollSeq1 = struct {
- FzName uintptr
- Fenc Tu8
- FpUser uintptr
- FxCmp uintptr
- FxDel uintptr
-}
-
-type CollSeq1 = TCollSeq1
-
-/*
-** A sort order can be either ASC or DESC.
- */
-
-/*
-** Column affinity types.
-**
-** These used to have mnemonic name like 'i' for SQLITE_AFF_INTEGER and
-** 't' for SQLITE_AFF_TEXT. But we can save a little space and improve
-** the speed a little by numbering the values consecutively.
-**
-** But rather than start with 0 or 1, we begin with 'A'. That way,
-** when multiple affinity types are concatenated into a string and
-** used as the P4 operand, they will be more readable.
-**
-** Note also that the numeric types are grouped together so that testing
-** for a numeric type is a single comparison. And the BLOB type is first.
- */
-
-/*
-** The SQLITE_AFF_MASK values masks off the significant bits of an
-** affinity value.
- */
-
-/*
-** Additional bit values that can be ORed with an affinity without
-** changing the affinity.
-**
-** The SQLITE_NOTNULL flag is a combination of NULLEQ and JUMPIFNULL.
-** It causes an assert() to fire if either operand to a comparison
-** operator is NULL. It is added to certain comparison operators to
-** prove that the operands are always NOT NULL.
- */
-
-/*
-** An object of this type is created for each virtual table present in
-** the database schema.
-**
-** If the database schema is shared, then there is one instance of this
-** structure for each database connection (sqlite3*) that uses the shared
-** schema. This is because each database connection requires its own unique
-** instance of the sqlite3_vtab* handle used to access the virtual table
-** implementation. sqlite3_vtab* handles can not be shared between
-** database connections, even when the rest of the in-memory database
-** schema is shared, as the implementation often stores the database
-** connection handle passed to it via the xConnect() or xCreate() method
-** during initialization internally. This database connection handle may
-** then be used by the virtual table implementation to access real tables
-** within the database. So that they appear as part of the callers
-** transaction, these accesses need to be made via the same database
-** connection as that used to execute SQL operations on the virtual table.
-**
-** All VTable objects that correspond to a single table in a shared
-** database schema are initially stored in a linked-list pointed to by
-** the Table.pVTable member variable of the corresponding Table object.
-** When an sqlite3_prepare() operation is required to access the virtual
-** table, it searches the list for the VTable that corresponds to the
-** database connection doing the preparing so as to use the correct
-** sqlite3_vtab* handle in the compiled query.
-**
-** When an in-memory Table object is deleted (for example when the
-** schema is being reloaded for some reason), the VTable objects are not
-** deleted and the sqlite3_vtab* handles are not xDisconnect()ed
-** immediately. Instead, they are moved from the Table.pVTable list to
-** another linked list headed by the sqlite3.pDisconnect member of the
-** corresponding sqlite3 structure. They are then deleted/xDisconnected
-** next time a statement is prepared using said sqlite3*. This is done
-** to avoid deadlock issues involving multiple sqlite3.mutex mutexes.
-** Refer to comments above function sqlite3VtabUnlockList() for an
-** explanation as to why it is safe to add an entry to an sqlite3.pDisconnect
-** list without holding the corresponding sqlite3.mutex mutex.
-**
-** The memory for objects of this type is always allocated by
-** sqlite3DbMalloc(), using the connection handle stored in VTable.db as
-** the first argument.
- */
-type TVTable1 = struct {
- Fdb uintptr
- FpMod uintptr
- FpVtab uintptr
- FnRef int32
- FbConstraint Tu8
- FbAllSchemas Tu8
- FeVtabRisk Tu8
- FiSavepoint int32
- FpNext uintptr
-}
-
-type VTable1 = TVTable1
-
-/* Allowed values for VTable.eVtabRisk
- */
-
-/*
-** The schema for each SQL table, virtual table, and view is represented
-** in memory by an instance of the following structure.
- */
-type TTable1 = struct {
- FzName uintptr
- FaCol uintptr
- FpIndex uintptr
- FzColAff uintptr
- FpCheck uintptr
- Ftnum TPgno
- FnTabRef Tu32
- FtabFlags Tu32
- FiPKey Ti16
- FnCol Ti16
- FnNVCol Ti16
- FnRowLogEst TLogEst
- FszTabRow TLogEst
- FkeyConf Tu8
- FeTabType Tu8
- Fu struct {
- Fview [0]struct {
- FpSelect uintptr
- }
- Fvtab [0]struct {
- FnArg int32
- FazArg uintptr
- Fp uintptr
- }
- Ftab struct {
- FaddColOffset int32
- FpFKey uintptr
- FpDfltList uintptr
- }
- }
- FpTrigger uintptr
- FpSchema uintptr
- FaHx [16]Tu8
-}
-
-type Table1 = TTable1
-
-/*
-** Allowed values for Table.tabFlags.
-**
-** TF_OOOHidden applies to tables or view that have hidden columns that are
-** followed by non-hidden columns. Example: "CREATE VIRTUAL TABLE x USING
-** vtab1(a HIDDEN, b);". Since "b" is a non-hidden column but "a" is hidden,
-** the TF_OOOHidden attribute would apply in this case. Such tables require
-** special handling during INSERT processing. The "OOO" means "Out Of Order".
-**
-** Constraints:
-**
-** TF_HasVirtual == COLFLAG_VIRTUAL
-** TF_HasStored == COLFLAG_STORED
-** TF_HasHidden == COLFLAG_HIDDEN
- */
-
-/*
-** Allowed values for Table.eTabType
- */
-
-/*
-** Test to see whether or not a table is a virtual table. This is
-** done as a macro so that it will be optimized out when virtual
-** table support is omitted from the build.
- */
-
-/*
-** Macros to determine if a column is hidden. IsOrdinaryHiddenColumn()
-** only works for non-virtual tables (ordinary tables and views) and is
-** always false unless SQLITE_ENABLE_HIDDEN_COLUMNS is defined. The
-** IsHiddenColumn() macro is general purpose.
- */
-
-/* Does the table have a rowid */
-
-/* Macro is true if the SQLITE_ALLOW_ROWID_IN_VIEW (mis-)feature is
-** available. By default, this macro is false
- */
-
-/*
-** Each foreign key constraint is an instance of the following structure.
-**
-** A foreign key is associated with two tables. The "from" table is
-** the table that contains the REFERENCES clause that creates the foreign
-** key. The "to" table is the table that is named in the REFERENCES clause.
-** Consider this example:
-**
-** CREATE TABLE ex1(
-** a INTEGER PRIMARY KEY,
-** b INTEGER CONSTRAINT fk1 REFERENCES ex2(x)
-** );
-**
-** For foreign key "fk1", the from-table is "ex1" and the to-table is "ex2".
-** Equivalent names:
-**
-** from-table == child-table
-** to-table == parent-table
-**
-** Each REFERENCES clause generates an instance of the following structure
-** which is attached to the from-table. The to-table need not exist when
-** the from-table is created. The existence of the to-table is not checked.
-**
-** The list of all parents for child Table X is held at X.pFKey.
-**
-** A list of all children for a table named Z (which might not even exist)
-** is held in Schema.fkeyHash with a hash key of Z.
- */
-type TFKey1 = struct {
- FpFrom uintptr
- FpNextFrom uintptr
- FzTo uintptr
- FpNextTo uintptr
- FpPrevTo uintptr
- FnCol int32
- FisDeferred Tu8
- FaAction [2]Tu8
- FapTrigger [2]uintptr
-}
-
-type FKey1 = TFKey1
-
-/* The size (in bytes) of an FKey object holding N columns. The answer
-** does NOT include space to hold the zTo name. */
-
-/*
-** SQLite supports many different ways to resolve a constraint
-** error. ROLLBACK processing means that a constraint violation
-** causes the operation in process to fail and for the current transaction
-** to be rolled back. ABORT processing means the operation in process
-** fails and any prior changes from that one operation are backed out,
-** but the transaction is not rolled back. FAIL processing means that
-** the operation in progress stops and returns an error code. But prior
-** changes due to the same operation are not backed out and no rollback
-** occurs. IGNORE means that the particular row that caused the constraint
-** error is not inserted or updated. Processing continues and no error
-** is returned. REPLACE means that preexisting database rows that caused
-** a UNIQUE constraint violation are removed so that the new insert or
-** update can proceed. Processing continues and no error is reported.
-** UPDATE applies to insert operations only and means that the insert
-** is omitted and the DO UPDATE clause of an upsert is run instead.
-**
-** RESTRICT, SETNULL, SETDFLT, and CASCADE actions apply only to foreign keys.
-** RESTRICT is the same as ABORT for IMMEDIATE foreign keys and the
-** same as ROLLBACK for DEFERRED keys. SETNULL means that the foreign
-** key is set to NULL. SETDFLT means that the foreign key is set
-** to its default value. CASCADE means that a DELETE or UPDATE of the
-** referenced table row is propagated into the row that holds the
-** foreign key.
-**
-** The OE_Default value is a place holder that means to use whatever
-** conflict resolution algorithm is required from context.
-**
-** The following symbolic values are used to record which type
-** of conflict resolution action to take.
- */
-
-/*
-** An instance of the following structure is passed as the first
-** argument to sqlite3VdbeKeyCompare and is used to control the
-** comparison of the two index keys.
-**
-** Note that aSortOrder[] and aColl[] have nField+1 slots. There
-** are nField slots for the columns of an index then one extra slot
-** for the rowid at the end.
- */
-type TKeyInfo1 = struct {
- FnRef Tu32
- Fenc Tu8
- FnKeyField Tu16
- FnAllField Tu16
- Fdb uintptr
- FaSortFlags uintptr
-}
-
-type KeyInfo1 = TKeyInfo1
-
-/* The size (in bytes) of a KeyInfo object with up to N fields */
-
-/*
-** Allowed bit values for entries in the KeyInfo.aSortFlags[] array.
- */
-
-/*
-** This object holds a record which has been parsed out into individual
-** fields, for the purposes of doing a comparison.
-**
-** A record is an object that contains one or more fields of data.
-** Records are used to store the content of a table row and to store
-** the key of an index. A blob encoding of a record is created by
-** the OP_MakeRecord opcode of the VDBE and is disassembled by the
-** OP_Column opcode.
-**
-** An instance of this object serves as a "key" for doing a search on
-** an index b+tree. The goal of the search is to find the entry that
-** is closed to the key described by this object. This object might hold
-** just a prefix of the key. The number of fields is given by
-** pKeyInfo->nField.
-**
-** The r1 and r2 fields are the values to return if this key is less than
-** or greater than a key in the btree, respectively. These are normally
-** -1 and +1 respectively, but might be inverted to +1 and -1 if the b-tree
-** is in DESC order.
-**
-** The key comparison functions actually return default_rc when they find
-** an equals comparison. default_rc can be -1, 0, or +1. If there are
-** multiple entries in the b-tree with the same key (when only looking
-** at the first pKeyInfo->nFields,) then default_rc can be set to -1 to
-** cause the search to find the last match, or +1 to cause the search to
-** find the first match.
-**
-** The key comparison functions will set eqSeen to true if they ever
-** get and equal results when comparing this structure to a b-tree record.
-** When default_rc!=0, the search might end up on the record immediately
-** before the first match or immediately after the last match. The
-** eqSeen field will indicate whether or not an exact match exists in the
-** b-tree.
- */
-type TUnpackedRecord1 = struct {
- FpKeyInfo uintptr
- FaMem uintptr
- Fu struct {
- Fi [0]Ti64
- Fz uintptr
- F__ccgo_pad2 [4]byte
- }
- Fn int32
- FnField Tu16
- Fdefault_rc Ti8
- FerrCode Tu8
- Fr1 Ti8
- Fr2 Ti8
- FeqSeen Tu8
-}
-
-type UnpackedRecord1 = TUnpackedRecord1
-
-/*
-** Each SQL index is represented in memory by an
-** instance of the following structure.
-**
-** The columns of the table that are to be indexed are described
-** by the aiColumn[] field of this structure. For example, suppose
-** we have the following table and index:
-**
-** CREATE TABLE Ex1(c1 int, c2 int, c3 text);
-** CREATE INDEX Ex2 ON Ex1(c3,c1);
-**
-** In the Table structure describing Ex1, nCol==3 because there are
-** three columns in the table. In the Index structure describing
-** Ex2, nColumn==2 since 2 of the 3 columns of Ex1 are indexed.
-** The value of aiColumn is {2, 0}. aiColumn[0]==2 because the
-** first column to be indexed (c3) has an index of 2 in Ex1.aCol[].
-** The second column to be indexed (c1) has an index of 0 in
-** Ex1.aCol[], hence Ex2.aiColumn[1]==0.
-**
-** The Index.onError field determines whether or not the indexed columns
-** must be unique and what to do if they are not. When Index.onError=OE_None,
-** it means this is not a unique index. Otherwise it is a unique index
-** and the value of Index.onError indicates which conflict resolution
-** algorithm to employ when an attempt is made to insert a non-unique
-** element.
-**
-** The colNotIdxed bitmask is used in combination with SrcItem.colUsed
-** for a fast test to see if an index can serve as a covering index.
-** colNotIdxed has a 1 bit for every column of the original table that
-** is *not* available in the index. Thus the expression
-** "colUsed & colNotIdxed" will be non-zero if the index is not a
-** covering index. The most significant bit of of colNotIdxed will always
-** be true (note-20221022-a). If a column beyond the 63rd column of the
-** table is used, the "colUsed & colNotIdxed" test will always be non-zero
-** and we have to assume either that the index is not covering, or use
-** an alternative (slower) algorithm to determine whether or not
-** the index is covering.
-**
-** While parsing a CREATE TABLE or CREATE INDEX statement in order to
-** generate VDBE code (as opposed to parsing one read from an sqlite_schema
-** table as part of parsing an existing database schema), transient instances
-** of this structure may be created. In this case the Index.tnum variable is
-** used to store the address of a VDBE instruction, not a database page
-** number (it cannot - the database page is not allocated until the VDBE
-** program is executed). See convertToWithoutRowidTable() for details.
- */
-type TIndex1 = struct {
- FzName uintptr
- FaiColumn uintptr
- FaiRowLogEst uintptr
- FpTable uintptr
- FzColAff uintptr
- FpNext uintptr
- FpSchema uintptr
- FaSortOrder uintptr
- FazColl uintptr
- FpPartIdxWhere uintptr
- FaColExpr uintptr
- Ftnum TPgno
- FszIdxRow TLogEst
- FnKeyCol Tu16
- FnColumn Tu16
- FonError Tu8
- F__ccgo56 uint16
- FnSample int32
- FmxSample int32
- FnSampleCol int32
- FaAvgEq uintptr
- FaSample uintptr
- FaiRowEst uintptr
- FnRowEst0 TtRowcnt
- FcolNotIdxed TBitmask
-}
-
-type Index1 = TIndex1
-
-/*
-** Allowed values for Index.idxType
- */
-
-/* Return true if index X is a PRIMARY KEY index */
-
-/* Return true if index X is a UNIQUE index */
-
-/* The Index.aiColumn[] values are normally positive integer. But
-** there are some negative values that have special meaning:
- */
-
-/*
-** Each sample stored in the sqlite_stat4 table is represented in memory
-** using a structure of this type. See documentation at the top of the
-** analyze.c source file for additional information.
- */
-type TIndexSample1 = struct {
- Fp uintptr
- Fn int32
- FanEq uintptr
- FanLt uintptr
- FanDLt uintptr
-}
-
-type IndexSample1 = TIndexSample1
-
-/*
-** Possible values to use within the flags argument to sqlite3GetToken().
- */
-
-/*
-** Each token coming out of the lexer is an instance of
-** this structure. Tokens are also used as part of an expression.
-**
-** The memory that "z" points to is owned by other objects. Take care
-** that the owner of the "z" string does not deallocate the string before
-** the Token goes out of scope! Very often, the "z" points to some place
-** in the middle of the Parse.zSql text. But it might also point to a
-** static string.
- */
-type TToken1 = struct {
- Fz uintptr
- Fn uint32
-}
-
-type Token1 = TToken1
-
-/*
-** An instance of this structure contains information needed to generate
-** code for a SELECT that contains aggregate functions.
-**
-** If Expr.op==TK_AGG_COLUMN or TK_AGG_FUNCTION then Expr.pAggInfo is a
-** pointer to this structure. The Expr.iAgg field is the index in
-** AggInfo.aCol[] or AggInfo.aFunc[] of information needed to generate
-** code for that node.
-**
-** AggInfo.pGroupBy and AggInfo.aFunc.pExpr point to fields within the
-** original Select structure that describes the SELECT statement. These
-** fields do not need to be freed when deallocating the AggInfo structure.
- */
-type TAggInfo1 = struct {
- FdirectMode Tu8
- FuseSortingIdx Tu8
- FnSortingColumn Tu32
- FsortingIdx int32
- FsortingIdxPTab int32
- FiFirstReg int32
- FpGroupBy uintptr
- FaCol uintptr
- FnColumn int32
- FnAccumulator int32
- FaFunc uintptr
- FnFunc int32
- FselId Tu32
-}
-
-type AggInfo1 = TAggInfo1
-
/*
** Macros to compute aCol[] and aFunc[] register numbers.
**
@@ -10469,620 +8379,6 @@ type TynVar = int16
type ynVar = TynVar
-/*
-** Each node of an expression in the parse tree is an instance
-** of this structure.
-**
-** Expr.op is the opcode. The integer parser token codes are reused
-** as opcodes here. For example, the parser defines TK_GE to be an integer
-** code representing the ">=" operator. This same integer code is reused
-** to represent the greater-than-or-equal-to operator in the expression
-** tree.
-**
-** If the expression is an SQL literal (TK_INTEGER, TK_FLOAT, TK_BLOB,
-** or TK_STRING), then Expr.u.zToken contains the text of the SQL literal. If
-** the expression is a variable (TK_VARIABLE), then Expr.u.zToken contains the
-** variable name. Finally, if the expression is an SQL function (TK_FUNCTION),
-** then Expr.u.zToken contains the name of the function.
-**
-** Expr.pRight and Expr.pLeft are the left and right subexpressions of a
-** binary operator. Either or both may be NULL.
-**
-** Expr.x.pList is a list of arguments if the expression is an SQL function,
-** a CASE expression or an IN expression of the form " IN (, ...)".
-** Expr.x.pSelect is used if the expression is a sub-select or an expression of
-** the form " IN (SELECT ...)". If the EP_xIsSelect bit is set in the
-** Expr.flags mask, then Expr.x.pSelect is valid. Otherwise, Expr.x.pList is
-** valid.
-**
-** An expression of the form ID or ID.ID refers to a column in a table.
-** For such expressions, Expr.op is set to TK_COLUMN and Expr.iTable is
-** the integer cursor number of a VDBE cursor pointing to that table and
-** Expr.iColumn is the column number for the specific column. If the
-** expression is used as a result in an aggregate SELECT, then the
-** value is also stored in the Expr.iAgg column in the aggregate so that
-** it can be accessed after all aggregates are computed.
-**
-** If the expression is an unbound variable marker (a question mark
-** character '?' in the original SQL) then the Expr.iTable holds the index
-** number for that variable.
-**
-** If the expression is a subquery then Expr.iColumn holds an integer
-** register number containing the result of the subquery. If the
-** subquery gives a constant result, then iTable is -1. If the subquery
-** gives a different answer at different times during statement processing
-** then iTable is the address of a subroutine that computes the subquery.
-**
-** If the Expr is of type OP_Column, and the table it is selecting from
-** is a disk table or the "old.*" pseudo-table, then pTab points to the
-** corresponding table definition.
-**
-** ALLOCATION NOTES:
-**
-** Expr objects can use a lot of memory space in database schema. To
-** help reduce memory requirements, sometimes an Expr object will be
-** truncated. And to reduce the number of memory allocations, sometimes
-** two or more Expr objects will be stored in a single memory allocation,
-** together with Expr.u.zToken strings.
-**
-** If the EP_Reduced and EP_TokenOnly flags are set when
-** an Expr object is truncated. When EP_Reduced is set, then all
-** the child Expr objects in the Expr.pLeft and Expr.pRight subtrees
-** are contained within the same memory allocation. Note, however, that
-** the subtrees in Expr.x.pList or Expr.x.pSelect are always separately
-** allocated, regardless of whether or not EP_Reduced is set.
- */
-type TExpr1 = struct {
- Fop Tu8
- FaffExpr int8
- Fop2 Tu8
- Fflags Tu32
- Fu struct {
- FiValue [0]int32
- FzToken uintptr
- }
- FpLeft uintptr
- FpRight uintptr
- Fx struct {
- FpSelect [0]uintptr
- FpList uintptr
- }
- FnHeight int32
- FiTable int32
- FiColumn TynVar
- FiAgg Ti16
- Fw struct {
- FiOfst [0]int32
- FiJoin int32
- }
- FpAggInfo uintptr
- Fy struct {
- FpWin [0]uintptr
- Fsub [0]struct {
- FiAddr int32
- FregReturn int32
- }
- FpTab uintptr
- F__ccgo_pad3 [4]byte
- }
-}
-
-type Expr1 = TExpr1
-
-/* The following are the meanings of bits in the Expr.flags field.
-** Value restrictions:
-**
-** EP_Agg == NC_HasAgg == SF_HasAgg
-** EP_Win == NC_HasWin
- */
-
-/* The EP_Propagate mask is a set of properties that automatically propagate
-** upwards into parent nodes.
- */
-
-/* Macros can be used to test, set, or clear bits in the
-** Expr.flags field.
- */
-
-/* Macros used to ensure that the correct members of unions are accessed
-** in Expr.
- */
-
-/* Flags for use with Expr.vvaFlags
- */
-
-/* The ExprSetVVAProperty() macro is used for Verification, Validation,
-** and Accreditation only. It works like ExprSetProperty() during VVA
-** processes but is a no-op for delivery.
- */
-
-/*
-** Macros to determine the number of bytes required by a normal Expr
-** struct, an Expr struct with the EP_Reduced flag set in Expr.flags
-** and an Expr struct with the EP_TokenOnly flag set.
- */
-
-/*
-** Flags passed to the sqlite3ExprDup() function. See the header comment
-** above sqlite3ExprDup() for details.
- */
-
-/*
-** True if the expression passed as an argument was a function with
-** an OVER() clause (a window function).
- */
-
-/*
-** A list of expressions. Each expression may optionally have a
-** name. An expr/name combination can be used in several ways, such
-** as the list of "expr AS ID" fields following a "SELECT" or in the
-** list of "ID = expr" items in an UPDATE. A list of expressions can
-** also be used as the argument to a function, in which case the a.zName
-** field is not used.
-**
-** In order to try to keep memory usage down, the Expr.a.zEName field
-** is used for multiple purposes:
-**
-** eEName Usage
-** ---------- -------------------------
-** ENAME_NAME (1) the AS of result set column
-** (2) COLUMN= of an UPDATE
-**
-** ENAME_TAB DB.TABLE.NAME used to resolve names
-** of subqueries
-**
-** ENAME_SPAN Text of the original result set
-** expression.
- */
-type TExprList1 = struct {
- FnExpr int32
- FnAlloc int32
-}
-
-type ExprList1 = TExprList1
-
-/* The size (in bytes) of an ExprList object that is big enough to hold
-** as many as N expressions. */
-
-/*
-** Allowed values for Expr.a.eEName
- */
-
-/*
-** An instance of this structure can hold a simple list of identifiers,
-** such as the list "a,b,c" in the following statements:
-**
-** INSERT INTO t(a,b,c) VALUES ...;
-** CREATE INDEX idx ON t(a,b,c);
-** CREATE TRIGGER trig BEFORE UPDATE ON t(a,b,c) ...;
-**
-** The IdList.a.idx field is used when the IdList represents the list of
-** column names after a table name in an INSERT statement. In the statement
-**
-** INSERT INTO t(a,b,c) ...
-**
-** If "a" is the k-th column of table "t", then IdList.a[0].idx==k.
- */
-type TIdList1 = struct {
- FnId int32
-}
-
-type IdList1 = TIdList1
-
-/* The size (in bytes) of an IdList object that can hold up to N IDs. */
-
-/*
-** Allowed values for IdList.eType, which determines which value of the a.u4
-** is valid.
- */
-
-/*
-** Details of the implementation of a subquery.
- */
-type TSubquery1 = struct {
- FpSelect uintptr
- FaddrFillSub int32
- FregReturn int32
- FregResult int32
-}
-
-type Subquery1 = TSubquery1
-
-/*
-** The SrcItem object represents a single term in the FROM clause of a query.
-** The SrcList object is mostly an array of SrcItems.
-**
-** The jointype starts out showing the join type between the current table
-** and the next table on the list. The parser builds the list this way.
-** But sqlite3SrcListShiftJoinType() later shifts the jointypes so that each
-** jointype expresses the join between the table and the previous table.
-**
-** In the colUsed field, the high-order bit (bit 63) is set if the table
-** contains more than 63 columns and the 64-th or later column is used.
-**
-** Aggressive use of "union" helps keep the size of the object small. This
-** has been shown to boost performance, in addition to saving memory.
-** Access to union elements is gated by the following rules which should
-** always be checked, either by an if-statement or by an assert().
-**
-** Field Only access if this is true
-** --------------- -----------------------------------
-** u1.zIndexedBy fg.isIndexedBy
-** u1.pFuncArg fg.isTabFunc
-** u1.nRow !fg.isTabFunc && !fg.isIndexedBy
-**
-** u2.pIBIndex fg.isIndexedBy
-** u2.pCteUse fg.isCte
-**
-** u3.pOn !fg.isUsing
-** u3.pUsing fg.isUsing
-**
-** u4.zDatabase !fg.fixedSchema && !fg.isSubquery
-** u4.pSchema fg.fixedSchema
-** u4.pSubq fg.isSubquery
-**
-** See also the sqlite3SrcListDelete() routine for assert() statements that
-** check invariants on the fields of this object, especially the flags
-** inside the fg struct.
- */
-type TSrcItem1 = struct {
- FzName uintptr
- FzAlias uintptr
- FpSTab uintptr
- Ffg struct {
- Fjointype Tu8
- F__ccgo4 uint32
- }
- FiCursor int32
- FcolUsed TBitmask
- Fu1 struct {
- FpFuncArg [0]uintptr
- FnRow [0]Tu32
- FzIndexedBy uintptr
- }
- Fu2 struct {
- FpCteUse [0]uintptr
- FpIBIndex uintptr
- }
- Fu3 struct {
- FpUsing [0]uintptr
- FpOn uintptr
- }
- Fu4 struct {
- FzDatabase [0]uintptr
- FpSubq [0]uintptr
- FpSchema uintptr
- }
-}
-
-type SrcItem1 = TSrcItem1
-
-/*
-** The OnOrUsing object represents either an ON clause or a USING clause.
-** It can never be both at the same time, but it can be neither.
- */
-type TOnOrUsing1 = struct {
- FpOn uintptr
- FpUsing uintptr
-}
-
-type OnOrUsing1 = TOnOrUsing1
-
-/*
-** This object represents one or more tables that are the source of
-** content for an SQL statement. For example, a single SrcList object
-** is used to hold the FROM clause of a SELECT statement. SrcList also
-** represents the target tables for DELETE, INSERT, and UPDATE statements.
-**
- */
-type TSrcList1 = struct {
- FnSrc int32
- FnAlloc Tu32
-}
-
-type SrcList1 = TSrcList1
-
-/* Size (in bytes) of a SrcList object that can hold as many as N
-** SrcItem objects. */
-
-/* Size (in bytes( of a SrcList object that holds 1 SrcItem. This is a
-** special case of SZ_SRCITEM(1) that comes up often. */
-
-/*
-** Permitted values of the SrcList.a.jointype field
- */
-
-/*
-** Flags appropriate for the wctrlFlags parameter of sqlite3WhereBegin()
-** and the WhereInfo.wctrlFlags member.
-**
-** Value constraints (enforced via assert()):
-** WHERE_USE_LIMIT == SF_FixedLimit
- */
-/* 0x8000 not currently used */
-
-/* Allowed return values from sqlite3WhereIsDistinct()
- */
-
-/*
-** A NameContext defines a context in which to resolve table and column
-** names. The context consists of a list of tables (the pSrcList) field and
-** a list of named expression (pEList). The named expression list may
-** be NULL. The pSrc corresponds to the FROM clause of a SELECT or
-** to the table being operated on by INSERT, UPDATE, or DELETE. The
-** pEList corresponds to the result set of a SELECT and is NULL for
-** other statements.
-**
-** NameContexts can be nested. When resolving names, the inner-most
-** context is searched first. If no match is found, the next outer
-** context is checked. If there is still no match, the next context
-** is checked. This process continues until either a match is found
-** or all contexts are check. When a match is found, the nRef member of
-** the context containing the match is incremented.
-**
-** Each subquery gets a new NameContext. The pNext field points to the
-** NameContext in the parent query. Thus the process of scanning the
-** NameContext list corresponds to searching through successively outer
-** subqueries looking for a match.
- */
-type TNameContext1 = struct {
- FpParse uintptr
- FpSrcList uintptr
- FuNC struct {
- FpAggInfo [0]uintptr
- FpUpsert [0]uintptr
- FiBaseReg [0]int32
- FpEList uintptr
- }
- FpNext uintptr
- FnRef int32
- FnNcErr int32
- FncFlags int32
- FnNestedSelect Tu32
- FpWinSelect uintptr
-}
-
-type NameContext1 = TNameContext1
-
-/*
-** Allowed values for the NameContext, ncFlags field.
-**
-** Value constraints (all checked via assert()):
-** NC_HasAgg == SF_HasAgg == EP_Agg
-** NC_MinMaxAgg == SF_MinMaxAgg == SQLITE_FUNC_MINMAX
-** NC_OrderAgg == SF_OrderByReqd == SQLITE_FUNC_ANYORDER
-** NC_HasWin == EP_Win
-**
- */
-/* 0x002000 // available for reuse */
-
-/*
-** An instance of the following object describes a single ON CONFLICT
-** clause in an upsert.
-**
-** The pUpsertTarget field is only set if the ON CONFLICT clause includes
-** conflict-target clause. (In "ON CONFLICT(a,b)" the "(a,b)" is the
-** conflict-target clause.) The pUpsertTargetWhere is the optional
-** WHERE clause used to identify partial unique indexes.
-**
-** pUpsertSet is the list of column=expr terms of the UPDATE statement.
-** The pUpsertSet field is NULL for a ON CONFLICT DO NOTHING. The
-** pUpsertWhere is the WHERE clause for the UPDATE and is NULL if the
-** WHERE clause is omitted.
- */
-type TUpsert1 = struct {
- FpUpsertTarget uintptr
- FpUpsertTargetWhere uintptr
- FpUpsertSet uintptr
- FpUpsertWhere uintptr
- FpNextUpsert uintptr
- FisDoUpdate Tu8
- FisDup Tu8
- FpToFree uintptr
- FpUpsertIdx uintptr
- FpUpsertSrc uintptr
- FregData int32
- FiDataCur int32
- FiIdxCur int32
-}
-
-type Upsert1 = TUpsert1
-
-/*
-** An instance of the following structure contains all information
-** needed to generate code for a single SELECT statement.
-**
-** See the header comment on the computeLimitRegisters() routine for a
-** detailed description of the meaning of the iLimit and iOffset fields.
-**
-** addrOpenEphm[] entries contain the address of OP_OpenEphemeral opcodes.
-** These addresses must be stored so that we can go back and fill in
-** the P4_KEYINFO and P2 parameters later. Neither the KeyInfo nor
-** the number of columns in P2 can be computed at the same time
-** as the OP_OpenEphm instruction is coded because not
-** enough information about the compound query is known at that point.
-** The KeyInfo for addrOpenTran[0] and [1] contains collating sequences
-** for the result set. The KeyInfo for addrOpenEphm[2] contains collating
-** sequences for the ORDER BY clause.
- */
-type TSelect1 = struct {
- Fop Tu8
- FnSelectRow TLogEst
- FselFlags Tu32
- FiLimit int32
- FiOffset int32
- FselId Tu32
- FaddrOpenEphm [2]int32
- FpEList uintptr
- FpSrc uintptr
- FpWhere uintptr
- FpGroupBy uintptr
- FpHaving uintptr
- FpOrderBy uintptr
- FpPrior uintptr
- FpNext uintptr
- FpLimit uintptr
- FpWith uintptr
- FpWin uintptr
- FpWinDefn uintptr
-}
-
-type Select1 = TSelect1
-
-/*
-** Allowed values for Select.selFlags. The "SF" prefix stands for
-** "Select Flag".
-**
-** Value constraints (all checked via assert())
-** SF_HasAgg == NC_HasAgg
-** SF_MinMaxAgg == NC_MinMaxAgg == SQLITE_FUNC_MINMAX
-** SF_OrderByReqd == NC_OrderAgg == SQLITE_FUNC_ANYORDER
-** SF_FixedLimit == WHERE_USE_LIMIT
- */
-
-/* True if SrcItem X is a subquery that has SF_NestedFrom */
-
-/*
-** The results of a SELECT can be distributed in several ways, as defined
-** by one of the following macros. The "SRT" prefix means "SELECT Result
-** Type".
-**
-** SRT_Union Store results as a key in a temporary index
-** identified by pDest->iSDParm.
-**
-** SRT_Except Remove results from the temporary index pDest->iSDParm.
-**
-** SRT_Exists Store a 1 in memory cell pDest->iSDParm if the result
-** set is not empty.
-**
-** SRT_Discard Throw the results away. This is used by SELECT
-** statements within triggers whose only purpose is
-** the side-effects of functions.
-**
-** SRT_Output Generate a row of output (using the OP_ResultRow
-** opcode) for each row in the result set.
-**
-** SRT_Mem Only valid if the result is a single column.
-** Store the first column of the first result row
-** in register pDest->iSDParm then abandon the rest
-** of the query. This destination implies "LIMIT 1".
-**
-** SRT_Set The result must be a single column. Store each
-** row of result as the key in table pDest->iSDParm.
-** Apply the affinity pDest->affSdst before storing
-** results. if pDest->iSDParm2 is positive, then it is
-** a register holding a Bloom filter for the IN operator
-** that should be populated in addition to the
-** pDest->iSDParm table. This SRT is used to
-** implement "IN (SELECT ...)".
-**
-** SRT_EphemTab Create an temporary table pDest->iSDParm and store
-** the result there. The cursor is left open after
-** returning. This is like SRT_Table except that
-** this destination uses OP_OpenEphemeral to create
-** the table first.
-**
-** SRT_Coroutine Generate a co-routine that returns a new row of
-** results each time it is invoked. The entry point
-** of the co-routine is stored in register pDest->iSDParm
-** and the result row is stored in pDest->nDest registers
-** starting with pDest->iSdst.
-**
-** SRT_Table Store results in temporary table pDest->iSDParm.
-** SRT_Fifo This is like SRT_EphemTab except that the table
-** is assumed to already be open. SRT_Fifo has
-** the additional property of being able to ignore
-** the ORDER BY clause.
-**
-** SRT_DistFifo Store results in a temporary table pDest->iSDParm.
-** But also use temporary table pDest->iSDParm+1 as
-** a record of all prior results and ignore any duplicate
-** rows. Name means: "Distinct Fifo".
-**
-** SRT_Queue Store results in priority queue pDest->iSDParm (really
-** an index). Append a sequence number so that all entries
-** are distinct.
-**
-** SRT_DistQueue Store results in priority queue pDest->iSDParm only if
-** the same record has never been stored before. The
-** index at pDest->iSDParm+1 hold all prior stores.
-**
-** SRT_Upfrom Store results in the temporary table already opened by
-** pDest->iSDParm. If (pDest->iSDParm<0), then the temp
-** table is an intkey table - in this case the first
-** column returned by the SELECT is used as the integer
-** key. If (pDest->iSDParm>0), then the table is an index
-** table. (pDest->iSDParm) is the number of key columns in
-** each index record in this case.
- */
-
-/* The DISTINCT clause is ignored for all of the above. Not that
-** IgnorableDistinct() implies IgnorableOrderby() */
-
-/* The ORDER BY clause is ignored for all of the above */
-
-/*
-** An instance of this object describes where to put of the results of
-** a SELECT statement.
- */
-type TSelectDest1 = struct {
- FeDest Tu8
- FiSDParm int32
- FiSDParm2 int32
- FiSdst int32
- FnSdst int32
- FzAffSdst uintptr
- FpOrderBy uintptr
-}
-
-type SelectDest1 = TSelectDest1
-
-/*
-** During code generation of statements that do inserts into AUTOINCREMENT
-** tables, the following information is attached to the Table.u.autoInc.p
-** pointer of each autoincrement table to record some side information that
-** the code generator needs. We have to keep per-table autoincrement
-** information in case inserts are done within triggers. Triggers do not
-** normally coordinate their activities, but we do need to coordinate the
-** loading and saving of autoincrement information.
- */
-type TAutoincInfo1 = struct {
- FpNext uintptr
- FpTab uintptr
- FiDb int32
- FregCtr int32
-}
-
-type AutoincInfo1 = TAutoincInfo1
-
-/*
-** At least one instance of the following structure is created for each
-** trigger that may be fired while parsing an INSERT, UPDATE or DELETE
-** statement. All such objects are stored in the linked list headed at
-** Parse.pTriggerPrg and deleted once statement compilation has been
-** completed.
-**
-** A Vdbe sub-program that implements the body and WHEN clause of trigger
-** TriggerPrg.pTrigger, assuming a default ON CONFLICT clause of
-** TriggerPrg.orconf, is stored in the TriggerPrg.pProgram variable.
-** The Parse.pTriggerPrg list never contains two entries with the same
-** values for both pTrigger and orconf.
-**
-** The TriggerPrg.aColmask[0] variable is set to a mask of old.* columns
-** accessed (or set to 0 for triggers fired as a result of INSERT
-** statements). Similarly, the TriggerPrg.aColmask[1] variable is set to
-** a mask of new.* columns used by the program.
- */
-type TTriggerPrg1 = struct {
- FpTrigger uintptr
- FpNext uintptr
- FpProgram uintptr
- Forconf int32
- FaColmask [2]Tu32
-}
-
-type TriggerPrg1 = TTriggerPrg1
-
// C documentation
//
// /*
@@ -11092,318 +8388,6 @@ type TyDbMask = uint32
type yDbMask = TyDbMask
-/*
-** For each index X that has as one of its arguments either an expression
-** or the name of a virtual generated column, and if X is in scope such that
-** the value of the expression can simply be read from the index, then
-** there is an instance of this object on the Parse.pIdxExpr list.
-**
-** During code generation, while generating code to evaluate expressions,
-** this list is consulted and if a matching expression is found, the value
-** is read from the index rather than being recomputed.
- */
-type TIndexedExpr1 = struct {
- FpExpr uintptr
- FiDataCur int32
- FiIdxCur int32
- FiIdxCol int32
- FbMaybeNullRow Tu8
- Faff Tu8
- FpIENext uintptr
-}
-
-type IndexedExpr1 = TIndexedExpr1
-
-/*
-** An instance of the ParseCleanup object specifies an operation that
-** should be performed after parsing to deallocation resources obtained
-** during the parse and which are no longer needed.
- */
-type TParseCleanup1 = struct {
- FpNext uintptr
- FpPtr uintptr
- FxCleanup uintptr
-}
-
-type ParseCleanup1 = TParseCleanup1
-
-/*
-** An SQL parser context. A copy of this structure is passed through
-** the parser and down into all the parser action routine in order to
-** carry around information that is global to the entire parse.
-**
-** The structure is divided into two parts. When the parser and code
-** generate call themselves recursively, the first part of the structure
-** is constant but the second part is reset at the beginning and end of
-** each recursion.
-**
-** The nTableLock and aTableLock variables are only used if the shared-cache
-** feature is enabled (if sqlite3Tsd()->useSharedData is true). They are
-** used to store the set of table-locks required by the statement being
-** compiled. Function sqlite3TableLock() is used to add entries to the
-** list.
- */
-type TParse1 = struct {
- Fdb uintptr
- FzErrMsg uintptr
- FpVdbe uintptr
- Frc int32
- FnQueryLoop TLogEst
- Fnested Tu8
- FnTempReg Tu8
- FisMultiWrite Tu8
- FmayAbort Tu8
- FhasCompound Tu8
- FdisableLookaside Tu8
- FprepFlags Tu8
- FwithinRJSubrtn Tu8
- FmSubrtnSig Tu8
- FeTriggerOp Tu8
- FbReturning Tu8
- FeOrconf Tu8
- FdisableTriggers Tu8
- F__ccgo_align18 [1]byte
- F__ccgo32 uint8
- FnRangeReg int32
- FiRangeReg int32
- FnErr int32
- FnTab int32
- FnMem int32
- FszOpAlloc int32
- FiSelfTab int32
- FnLabel int32
- FnLabelAlloc int32
- FaLabel uintptr
- FpConstExpr uintptr
- FpIdxEpr uintptr
- FpIdxPartExpr uintptr
- FwriteMask TyDbMask
- FcookieMask TyDbMask
- FnMaxArg int32
- FnSelect int32
- FnProgressSteps Tu32
- FnTableLock int32
- FaTableLock uintptr
- FpAinc uintptr
- FpToplevel uintptr
- FpTriggerTab uintptr
- FpTriggerPrg uintptr
- FpCleanup uintptr
- FaTempReg [8]int32
- FpOuterParse uintptr
- FsNameToken TToken
- Foldmask Tu32
- Fnewmask Tu32
- Fu1 struct {
- Fd [0]struct {
- FpReturning uintptr
- }
- Fcr struct {
- FaddrCrTab int32
- FregRowid int32
- FregRoot int32
- FconstraintName TToken
- }
- }
- FsLastToken TToken
- FnVar TynVar
- FiPkSortOrder Tu8
- Fexplain Tu8
- FeParseMode Tu8
- FnVtabLock int32
- FnHeight int32
- FaddrExplain int32
- FpVList uintptr
- FpReprepare uintptr
- FzTail uintptr
- FpNewTable uintptr
- FpNewIndex uintptr
- FpNewTrigger uintptr
- FzAuthContext uintptr
- FsArg TToken
- FapVtabLock uintptr
- FpWith uintptr
- FpRename uintptr
-}
-
-type Parse1 = TParse1
-
-/* Allowed values for Parse.eParseMode
- */
-
-/*
-** Sizes and pointers of various parts of the Parse object.
- */
-
-/*
-** Return true if currently inside an sqlite3_declare_vtab() call.
- */
-
-/*
-** An instance of the following structure can be declared on a stack and used
-** to save the Parse.zAuthContext value so that it can be restored later.
- */
-type TAuthContext1 = struct {
- FzAuthContext uintptr
- FpParse uintptr
-}
-
-type AuthContext1 = TAuthContext1
-
-/*
-** Bitfield flags for P5 value in various opcodes.
-**
-** Value constraints (enforced via assert()):
-** OPFLAG_LENGTHARG == SQLITE_FUNC_LENGTH
-** OPFLAG_TYPEOFARG == SQLITE_FUNC_TYPEOF
-** OPFLAG_BULKCSR == BTREE_BULKLOAD
-** OPFLAG_SEEKEQ == BTREE_SEEK_EQ
-** OPFLAG_FORDELETE == BTREE_FORDELETE
-** OPFLAG_SAVEPOSITION == BTREE_SAVEPOSITION
-** OPFLAG_AUXDELETE == BTREE_AUXDELETE
- */
-/* Also used in P2 (not P5) of OP_Delete */
-
-/*
-** Each trigger present in the database schema is stored as an instance of
-** struct Trigger.
-**
-** Pointers to instances of struct Trigger are stored in two ways.
-** 1. In the "trigHash" hash table (part of the sqlite3* that represents the
-** database). This allows Trigger structures to be retrieved by name.
-** 2. All triggers associated with a single table form a linked list, using the
-** pNext member of struct Trigger. A pointer to the first element of the
-** linked list is stored as the "pTrigger" member of the associated
-** struct Table.
-**
-** The "step_list" member points to the first element of a linked list
-** containing the SQL statements specified as the trigger program.
- */
-type TTrigger1 = struct {
- FzName uintptr
- Ftable uintptr
- Fop Tu8
- Ftr_tm Tu8
- FbReturning Tu8
- FpWhen uintptr
- FpColumns uintptr
- FpSchema uintptr
- FpTabSchema uintptr
- Fstep_list uintptr
- FpNext uintptr
-}
-
-type Trigger1 = TTrigger1
-
-/*
-** A trigger is either a BEFORE or an AFTER trigger. The following constants
-** determine which.
-**
-** If there are multiple triggers, you might of some BEFORE and some AFTER.
-** In that cases, the constants below can be ORed together.
- */
-
-/*
-** An instance of struct TriggerStep is used to store a single SQL statement
-** that is a part of a trigger-program.
-**
-** Instances of struct TriggerStep are stored in a singly linked list (linked
-** using the "pNext" member) referenced by the "step_list" member of the
-** associated struct Trigger instance. The first element of the linked list is
-** the first step of the trigger-program.
-**
-** The "op" member indicates whether this is a "DELETE", "INSERT", "UPDATE" or
-** "SELECT" statement. The meanings of the other members is determined by the
-** value of "op" as follows:
-**
-** (op == TK_INSERT)
-** orconf -> stores the ON CONFLICT algorithm
-** pSelect -> The content to be inserted - either a SELECT statement or
-** a VALUES clause.
-** zTarget -> Dequoted name of the table to insert into.
-** pIdList -> If this is an INSERT INTO ... () VALUES ...
-** statement, then this stores the column-names to be
-** inserted into.
-** pUpsert -> The ON CONFLICT clauses for an Upsert
-**
-** (op == TK_DELETE)
-** zTarget -> Dequoted name of the table to delete from.
-** pWhere -> The WHERE clause of the DELETE statement if one is specified.
-** Otherwise NULL.
-**
-** (op == TK_UPDATE)
-** zTarget -> Dequoted name of the table to update.
-** pWhere -> The WHERE clause of the UPDATE statement if one is specified.
-** Otherwise NULL.
-** pExprList -> A list of the columns to update and the expressions to update
-** them to. See sqlite3Update() documentation of "pChanges"
-** argument.
-**
-** (op == TK_SELECT)
-** pSelect -> The SELECT statement
-**
-** (op == TK_RETURNING)
-** pExprList -> The list of expressions that follow the RETURNING keyword.
-**
- */
-type TTriggerStep1 = struct {
- Fop Tu8
- Forconf Tu8
- FpTrig uintptr
- FpSelect uintptr
- FzTarget uintptr
- FpFrom uintptr
- FpWhere uintptr
- FpExprList uintptr
- FpIdList uintptr
- FpUpsert uintptr
- FzSpan uintptr
- FpNext uintptr
- FpLast uintptr
-}
-
-type TriggerStep1 = TTriggerStep1
-
-/*
-** Information about a RETURNING clause
- */
-type TReturning1 = struct {
- FpParse uintptr
- FpReturnEL uintptr
- FretTrig TTrigger
- FretTStep TTriggerStep
- FiRetCur int32
- FnRetCol int32
- FiRetReg int32
- FzName [40]int8
-}
-
-type Returning1 = TReturning1
-
-/*
-** The following object is the header for an "RCStr" or "reference-counted
-** string". An RCStr is passed around and used like any other char*
-** that has been dynamically allocated. The important interface
-** differences:
-**
-** 1. RCStr strings are reference counted. They are deallocated
-** when the reference count reaches zero.
-**
-** 2. Use sqlite3RCStrUnref() to free an RCStr string rather than
-** sqlite3_free()
-**
-** 3. Make a (read-only) copy of a read-only RCStr string using
-** sqlite3RCStrRef().
-**
-** "String" is in the name, but an RCStr object can also be used to hold
-** binary data.
- */
-type TRCStr1 = struct {
- FnRCRef Tu64
-}
-
-type RCStr1 = TRCStr1
-
// C documentation
//
// /*
@@ -11489,232 +8473,6 @@ type TSqlite3Config = struct {
type Sqlite3Config = TSqlite3Config
-/*
-** This macro is used inside of assert() statements to indicate that
-** the assert is only valid on a well-formed database. Instead of:
-**
-** assert( X );
-**
-** One writes:
-**
-** assert( X || CORRUPT_DB );
-**
-** CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate
-** that the database is definitely corrupt, only that it might be corrupt.
-** For most test cases, CORRUPT_DB is set to false using a special
-** sqlite3_test_control(). This enables assert() statements to prove
-** things that are always true for well-formed databases.
- */
-
-/*
-** Context pointer passed down through the tree-walk.
- */
-type TWalker1 = struct {
- FpParse uintptr
- FxExprCallback uintptr
- FxSelectCallback uintptr
- FxSelectCallback2 uintptr
- FwalkerDepth int32
- FeCode Tu16
- FmWFlags Tu16
- Fu struct {
- Fn [0]int32
- FiCur [0]int32
- FpSrcList [0]uintptr
- FpCCurHint [0]uintptr
- FpRefSrcList [0]uintptr
- FaiCol [0]uintptr
- FpIdxCover [0]uintptr
- FpGroupBy [0]uintptr
- FpSelect [0]uintptr
- FpRewrite [0]uintptr
- FpConst [0]uintptr
- FpRename [0]uintptr
- FpTab [0]uintptr
- FpCovIdxCk [0]uintptr
- FpSrcItem [0]uintptr
- FpFix [0]uintptr
- FaMem [0]uintptr
- FpNC uintptr
- }
-}
-
-type Walker1 = TWalker1
-
-/*
-** The following structure contains information used by the sqliteFix...
-** routines as they walk the parse tree to make database references
-** explicit.
- */
-type TDbFixer1 = struct {
- FpParse uintptr
- Fw TWalker
- FpSchema uintptr
- FbTemp Tu8
- FzDb uintptr
- FzType uintptr
- FpName uintptr
-}
-
-type DbFixer1 = TDbFixer1
-
-/*
-** Return code from the parse-tree walking primitives and their
-** callbacks.
- */
-
-/*
-** A single common table expression
- */
-type TCte1 = struct {
- FzName uintptr
- FpCols uintptr
- FpSelect uintptr
- FzCteErr uintptr
- FpUse uintptr
- FeM10d Tu8
-}
-
-type Cte1 = TCte1
-
-/*
-** Allowed values for the materialized flag (eM10d):
- */
-
-/*
-** An instance of the With object represents a WITH clause containing
-** one or more CTEs (common table expressions).
- */
-type TWith1 = struct {
- FnCte int32
- FbView int32
- FpOuter uintptr
-}
-
-type With1 = TWith1
-
-/* The size (in bytes) of a With object that can hold as many
-** as N different CTEs. */
-
-/*
-** The Cte object is not guaranteed to persist for the entire duration
-** of code generation. (The query flattener or other parser tree
-** edits might delete it.) The following object records information
-** about each Common Table Expression that must be preserved for the
-** duration of the parse.
-**
-** The CteUse objects are freed using sqlite3ParserAddCleanup() rather
-** than sqlite3SelectDelete(), which is what enables them to persist
-** until the end of code generation.
- */
-type TCteUse1 = struct {
- FnUse int32
- FaddrM9e int32
- FregRtn int32
- FiCur int32
- FnRowEst TLogEst
- FeM10d Tu8
-}
-
-type CteUse1 = TCteUse1
-
-/* Client data associated with sqlite3_set_clientdata() and
-** sqlite3_get_clientdata().
- */
-type TDbClientData1 = struct {
- FpNext uintptr
- FpData uintptr
- FxDestructor uintptr
-}
-
-type DbClientData1 = TDbClientData1
-
-/* The size (in bytes) of a DbClientData object that can has a name
-** that is N bytes long, including the zero-terminator. */
-
-/*
-** This object is used in various ways, most (but not all) related to window
-** functions.
-**
-** (1) A single instance of this structure is attached to the
-** the Expr.y.pWin field for each window function in an expression tree.
-** This object holds the information contained in the OVER clause,
-** plus additional fields used during code generation.
-**
-** (2) All window functions in a single SELECT form a linked-list
-** attached to Select.pWin. The Window.pFunc and Window.pExpr
-** fields point back to the expression that is the window function.
-**
-** (3) The terms of the WINDOW clause of a SELECT are instances of this
-** object on a linked list attached to Select.pWinDefn.
-**
-** (4) For an aggregate function with a FILTER clause, an instance
-** of this object is stored in Expr.y.pWin with eFrmType set to
-** TK_FILTER. In this case the only field used is Window.pFilter.
-**
-** The uses (1) and (2) are really the same Window object that just happens
-** to be accessible in two different ways. Use case (3) are separate objects.
- */
-type TWindow1 = struct {
- FzName uintptr
- FzBase uintptr
- FpPartition uintptr
- FpOrderBy uintptr
- FeFrmType Tu8
- FeStart Tu8
- FeEnd Tu8
- FbImplicitFrame Tu8
- FeExclude Tu8
- FpStart uintptr
- FpEnd uintptr
- FppThis uintptr
- FpNextWin uintptr
- FpFilter uintptr
- FpWFunc uintptr
- FiEphCsr int32
- FregAccum int32
- FregResult int32
- FcsrApp int32
- FregApp int32
- FregPart int32
- FpOwner uintptr
- FnBufferCol int32
- FiArgCol int32
- FregOne int32
- FregStartRowid int32
- FregEndRowid int32
- FbExprArgs Tu8
-}
-
-type Window1 = TWindow1
-
-/*
-** An instance of the following structure holds information about SQL
-** functions arguments that are the parameters to the printf() function.
- */
-type TPrintfArguments1 = struct {
- FnArg int32
- FnUsed int32
- FapArg uintptr
-}
-
-type PrintfArguments1 = TPrintfArguments1
-
-/*
-** An instance of this object receives the decoding of a floating point
-** value into an approximate decimal representation.
- */
-type TFpDecode1 = struct {
- Fsign int8
- FisSpecial int8
- Fn int32
- FiDP int32
- Fz uintptr
- FzBuf [24]int8
-}
-
-type FpDecode1 = TFpDecode1
-
/************** End of sqliteInt.h *******************************************/
/************** Begin file os_common.h ***************************************/
/*
@@ -12878,72 +9636,6 @@ type TVdbeCursor = struct {
type VdbeCursor = TVdbeCursor
-type TVdbeCursor1 = struct {
- FeCurType Tu8
- FiDb Ti8
- FnullRow Tu8
- FdeferredMoveto Tu8
- FisTable Tu8
- F__ccgo_align5 [3]byte
- F__ccgo8 uint8
- FseekHit Tu16
- Fub struct {
- FaAltMap [0]uintptr
- FpBtx uintptr
- }
- FseqCount Ti64
- FcacheStatus Tu32
- FseekResult int32
- FpAltCursor uintptr
- Fuc struct {
- FpVCur [0]uintptr
- FpSorter [0]uintptr
- FpCursor uintptr
- }
- FpKeyInfo uintptr
- FiHdrOffset Tu32
- FpgnoRoot TPgno
- FnField Ti16
- FnHdrParsed Tu16
- FmovetoTarget Ti64
- FaOffset uintptr
- FaRow uintptr
- FpayloadSize Tu32
- FszRow Tu32
- FpCache uintptr
-}
-
-type VdbeCursor1 = TVdbeCursor1
-
-/*
-** The size (in bytes) of a VdbeCursor object that has an nField value of N
-** or less. The value of SZ_VDBECURSOR(n) is guaranteed to be a multiple
-** of 8.
- */
-
-/* Return true if P is a null-only cursor
- */
-
-/*
-** A value for VdbeCursor.cacheStatus that means the cache is always invalid.
- */
-
-/*
-** Large TEXT or BLOB values can be slow to load, so we want to avoid
-** loading them more than once. For that reason, large TEXT and BLOB values
-** can be stored in a cache defined by this object, and attached to the
-** VdbeCursor using the pCache field.
- */
-type TVdbeTxtBlbCache1 = struct {
- FpCValue uintptr
- FiOffset Ti64
- FiCol int32
- FcacheStatus Tu32
- FcolCacheCtr Tu32
-}
-
-type VdbeTxtBlbCache1 = TVdbeTxtBlbCache1
-
// C documentation
//
// /*
@@ -12989,152 +9681,6 @@ type TVdbeFrame = struct {
type VdbeFrame = TVdbeFrame
-type TVdbeFrame1 = struct {
- Fv uintptr
- FpParent uintptr
- FaOp uintptr
- FaMem uintptr
- FapCsr uintptr
- FaOnce uintptr
- Ftoken uintptr
- FlastRowid Ti64
- FpAuxData uintptr
- FnCursor int32
- Fpc int32
- FnOp int32
- FnMem int32
- FnChildMem int32
- FnChildCsr int32
- FnChange Ti64
- FnDbChange Ti64
-}
-
-type VdbeFrame1 = TVdbeFrame1
-
-/*
-** Size of struct Mem not including the Mem.zMalloc member or anything that
-** follows.
- */
-
-/* One or more of the following flags are set to indicate the
-** representations of the value stored in the Mem struct.
-**
-** * MEM_Null An SQL NULL value
-**
-** * MEM_Null|MEM_Zero An SQL NULL with the virtual table
-** UPDATE no-change flag set
-**
-** * MEM_Null|MEM_Term| An SQL NULL, but also contains a
-** MEM_Subtype pointer accessible using
-** sqlite3_value_pointer().
-**
-** * MEM_Null|MEM_Cleared Special SQL NULL that compares non-equal
-** to other NULLs even using the IS operator.
-**
-** * MEM_Str A string, stored in Mem.z with
-** length Mem.n. Zero-terminated if
-** MEM_Term is set. This flag is
-** incompatible with MEM_Blob and
-** MEM_Null, but can appear with MEM_Int,
-** MEM_Real, and MEM_IntReal.
-**
-** * MEM_Blob A blob, stored in Mem.z length Mem.n.
-** Incompatible with MEM_Str, MEM_Null,
-** MEM_Int, MEM_Real, and MEM_IntReal.
-**
-** * MEM_Blob|MEM_Zero A blob in Mem.z of length Mem.n plus
-** MEM.u.i extra 0x00 bytes at the end.
-**
-** * MEM_Int Integer stored in Mem.u.i.
-**
-** * MEM_Real Real stored in Mem.u.r.
-**
-** * MEM_IntReal Real stored as an integer in Mem.u.i.
-**
-** If the MEM_Null flag is set, then the value is an SQL NULL value.
-** For a pointer type created using sqlite3_bind_pointer() or
-** sqlite3_result_pointer() the MEM_Term and MEM_Subtype flags are also set.
-**
-** If the MEM_Str flag is set then Mem.z points at a string representation.
-** Usually this is encoded in the same unicode encoding as the main
-** database (see below for exceptions). If the MEM_Term flag is also
-** set, then the string is nul terminated. The MEM_Int and MEM_Real
-** flags may coexist with the MEM_Str flag.
- */
-
-/* Extra bits that modify the meanings of the core datatypes above
- */
-/* 0x0080 // Available */
-
-/* Bits that determine the storage for Mem.z for a string or blob or
-** aggregate accumulator.
- */
-
-/* Return TRUE if Mem X contains dynamically allocated content - anything
-** that needs to be deallocated to avoid a leak.
- */
-
-/*
-** Clear any existing type flags from a Mem and replace them with f
- */
-
-/*
-** True if Mem X is a NULL-nochng type.
- */
-
-/*
-** Return true if a memory cell has been initialized and is valid.
-** is for use inside assert() statements only.
-**
-** A Memory cell is initialized if at least one of the
-** MEM_Null, MEM_Str, MEM_Int, MEM_Real, MEM_Blob, or MEM_IntReal bits
-** is set. It is "undefined" if all those bits are zero.
- */
-
-/*
-** Each auxiliary data pointer stored by a user defined function
-** implementation calling sqlite3_set_auxdata() is stored in an instance
-** of this structure. All such structures associated with a single VM
-** are stored in a linked list headed at Vdbe.pAuxData. All are destroyed
-** when the VM is halted (if not before).
- */
-type TAuxData1 = struct {
- FiAuxOp int32
- FiAuxArg int32
- FpAux uintptr
- FxDeleteAux uintptr
- FpNextAux uintptr
-}
-
-type AuxData1 = TAuxData1
-
-/*
-** The "context" argument for an installable function. A pointer to an
-** instance of this structure is the first argument to the routines used
-** implement the SQL functions.
-**
-** There is a typedef for this structure in sqlite.h. So all routines,
-** even the public interface to SQLite, can use a pointer to this structure.
-** But this file is the only place where the internal details of this
-** structure are known.
-**
-** This structure is defined inside of vdbeInt.h because it uses substructures
-** (Mem) which are only defined there.
- */
-type Tsqlite3_context1 = struct {
- FpOut uintptr
- FpFunc uintptr
- FpMem uintptr
- FpVdbe uintptr
- FiOp int32
- FisError int32
- Fenc Tu8
- FskipFlag Tu8
- Fargc Tu16
-}
-
-type sqlite3_context1 = Tsqlite3_context1
-
/*
** The size (in bytes) of an sqlite3_context object that holds N
** argv[] arguments.
@@ -13165,18 +9711,6 @@ type TScanStatus = struct {
type ScanStatus = TScanStatus
-type TScanStatus1 = struct {
- FaddrExplain int32
- FaAddrRange [6]int32
- FaddrLoop int32
- FaddrVisit int32
- FiSelectID int32
- FnEst TLogEst
- FzName uintptr
-}
-
-type ScanStatus1 = TScanStatus1
-
// C documentation
//
// /* The DblquoteStr object holds the text of a double-quoted
@@ -13193,101 +9727,6 @@ type TDblquoteStr = struct {
type DblquoteStr = TDblquoteStr
-type TDblquoteStr1 = struct {
- FpNextStr uintptr
- Fz [8]int8
-}
-
-type DblquoteStr1 = TDblquoteStr1
-
-/*
-** An instance of the virtual machine. This structure contains the complete
-** state of the virtual machine.
-**
-** The "sqlite3_stmt" structure pointer that is returned by sqlite3_prepare()
-** is really a pointer to an instance of this structure.
- */
-type TVdbe1 = struct {
- Fdb uintptr
- FppVPrev uintptr
- FpVNext uintptr
- FpParse uintptr
- FnVar TynVar
- FnMem int32
- FnCursor int32
- FcacheCtr Tu32
- Fpc int32
- Frc int32
- FnChange Ti64
- FiStatement int32
- FiCurrentTime Ti64
- FnFkConstraint Ti64
- FnStmtDefCons Ti64
- FnStmtDefImmCons Ti64
- FaMem uintptr
- FapArg uintptr
- FapCsr uintptr
- FaVar uintptr
- FaOp uintptr
- FnOp int32
- FnOpAlloc int32
- FaColName uintptr
- FpResultRow uintptr
- FzErrMsg uintptr
- FpVList uintptr
- FstartTime Ti64
- FnResColumn Tu16
- FnResAlloc Tu16
- FerrorAction Tu8
- FminWriteFileFormat Tu8
- FprepFlags Tu8
- FeVdbeState Tu8
- F__ccgo144 uint16
- FbtreeMask TyDbMask
- FlockMask TyDbMask
- FaCounter [9]Tu32
- FzSql uintptr
- FpFree uintptr
- FpFrame uintptr
- FpDelFrame uintptr
- FnFrame int32
- Fexpmask Tu32
- FpProgram uintptr
- FpAuxData uintptr
-}
-
-type Vdbe1 = TVdbe1
-
-/*
-** The following are allowed values for Vdbe.eVdbeState
- */
-
-/*
-** Structure used to store the context required by the
-** sqlite3_preupdate_*() API functions.
- */
-type TPreUpdate1 = struct {
- Fv uintptr
- FpCsr uintptr
- Fop int32
- FaRecord uintptr
- FpKeyinfo uintptr
- FpUnpacked uintptr
- FpNewUnpacked uintptr
- FiNewReg int32
- FiBlobWrite int32
- FiKey1 Ti64
- FiKey2 Ti64
- Foldipk TMem
- FaNew uintptr
- FpTab uintptr
- FpPk uintptr
- FapDflt uintptr
- FkeyinfoSpace [20]Tu8
-}
-
-type PreUpdate1 = TPreUpdate1
-
// C documentation
//
// /*
@@ -13309,13 +9748,6 @@ type TValueList = struct {
type ValueList = TValueList
-type TValueList1 = struct {
- FpCsr uintptr
- FpOut uintptr
-}
-
-type ValueList1 = TValueList1
-
/************** End of vdbeInt.h *********************************************/
/************** Continuing where we left off in status.c *********************/
@@ -13335,14 +9767,7 @@ type Tsqlite3StatType = struct {
type sqlite3StatType = Tsqlite3StatType
-type Tsqlite3StatType1 = struct {
- FnowValue [10]Tsqlite3StatValueType
- FmxValue [10]Tsqlite3StatValueType
-}
-
-type sqlite3StatType1 = Tsqlite3StatType1
-
-var _sqlite3Stat = Tsqlite3StatType1{}
+var _sqlite3Stat = Tsqlite3StatType{}
// C documentation
//
@@ -13421,7 +9846,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
var pMutex, v1 uintptr
_, _ = pMutex, v1
if op < 0 || op >= libc.Int32FromUint32(libc.Uint32FromInt64(40)/libc.Uint32FromInt64(4)) {
- return _sqlite3MisuseError(tls, int32(24454))
+ return _sqlite3MisuseError(tls, int32(24456))
}
if _statMutex[op] != 0 {
v1 = _sqlite3Pcache1Mutex(tls)
@@ -13651,7 +10076,7 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p
goto _5
_5:
;
- pVdbe = (*TVdbe1)(unsafe.Pointer(pVdbe)).FpVNext
+ pVdbe = (*TVdbe)(unsafe.Pointer(pVdbe)).FpVNext
}
(*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FpEnd = (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FpTrueEnd
(*Tsqlite3)(unsafe.Pointer(db)).FpnBytesFreed = uintptr(0)
@@ -13787,24 +10212,6 @@ type TDateTime = struct {
type DateTime = TDateTime
-type TDateTime1 = struct {
- FiJD Tsqlite3_int64
- FY int32
- FM int32
- FD int32
- Fh int32
- Fm int32
- Ftz int32
- Fs float64
- FvalidJD int8
- FvalidYMD int8
- FvalidHMS int8
- FnFloor int8
- F__ccgo44 uint8
-}
-
-type DateTime1 = TDateTime1
-
// C documentation
//
// /*
@@ -15798,28 +12205,28 @@ func init() {
// */
func _sqlite3OsClose(tls *libc.TLS, pId uintptr) {
if (*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods != 0 {
- (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods)).FxClose})))(tls, pId)
+ (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods)).FxClose})))(tls, pId)
(*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = uintptr(0)
}
}
func _sqlite3OsRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Ti64) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxRead})))(tls, id, pBuf, amt, offset)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxRead})))(tls, id, pBuf, amt, offset)
}
func _sqlite3OsWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Ti64) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxWrite})))(tls, id, pBuf, amt, offset)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxWrite})))(tls, id, pBuf, amt, offset)
}
func _sqlite3OsTruncate(tls *libc.TLS, id uintptr, size Ti64) (r int32) {
- return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxTruncate})))(tls, id, size)
+ return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxTruncate})))(tls, id, size)
}
func _sqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) (r int32) {
var v1 int32
_ = v1
if flags != 0 {
- v1 = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSync})))(tls, id, flags)
+ v1 = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSync})))(tls, id, flags)
} else {
v1 = SQLITE_OK
}
@@ -15827,19 +12234,19 @@ func _sqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) (r int32) {
}
func _sqlite3OsFileSize(tls *libc.TLS, id uintptr, pSize uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileSize})))(tls, id, pSize)
+ return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileSize})))(tls, id, pSize)
}
func _sqlite3OsLock(tls *libc.TLS, id uintptr, lockType int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxLock})))(tls, id, lockType)
+ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxLock})))(tls, id, lockType)
}
func _sqlite3OsUnlock(tls *libc.TLS, id uintptr, lockType int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnlock})))(tls, id, lockType)
+ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnlock})))(tls, id, lockType)
}
func _sqlite3OsCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxCheckReservedLock})))(tls, id, pResOut)
+ return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxCheckReservedLock})))(tls, id, pResOut)
}
// C documentation
@@ -15856,12 +12263,12 @@ func _sqlite3OsFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) (r
if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods == uintptr(0) {
return int32(SQLITE_NOTFOUND)
}
- return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
+ return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
}
func _sqlite3OsFileControlHint(tls *libc.TLS, id uintptr, op int32, pArg uintptr) {
if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods != 0 {
- (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
+ (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
}
}
@@ -15869,7 +12276,7 @@ func _sqlite3OsSectorSize(tls *libc.TLS, id uintptr) (r int32) {
var xSectorSize uintptr
var v1 int32
_, _ = xSectorSize, v1
- xSectorSize = (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSectorSize
+ xSectorSize = (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSectorSize
if xSectorSize != 0 {
v1 = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xSectorSize})))(tls, id)
} else {
@@ -15882,34 +12289,34 @@ func _sqlite3OsDeviceCharacteristics(tls *libc.TLS, id uintptr) (r int32) {
if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods == uintptr(0) {
return 0
}
- return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxDeviceCharacteristics})))(tls, id)
+ return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxDeviceCharacteristics})))(tls, id)
}
func _sqlite3OsShmLock(tls *libc.TLS, id uintptr, offset int32, n int32, flags int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmLock})))(tls, id, offset, n, flags)
+ return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmLock})))(tls, id, offset, n, flags)
}
func _sqlite3OsShmBarrier(tls *libc.TLS, id uintptr) {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmBarrier})))(tls, id)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmBarrier})))(tls, id)
}
func _sqlite3OsShmUnmap(tls *libc.TLS, id uintptr, deleteFlag int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmUnmap})))(tls, id, deleteFlag)
+ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmUnmap})))(tls, id, deleteFlag)
}
func _sqlite3OsShmMap(tls *libc.TLS, id uintptr, iPage int32, pgsz int32, bExtend int32, pp uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmMap})))(tls, id, iPage, pgsz, bExtend, pp)
+ return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmMap})))(tls, id, iPage, pgsz, bExtend, pp)
}
// C documentation
//
// /* The real implementation of xFetch and xUnfetch */
func _sqlite3OsFetch(tls *libc.TLS, id uintptr, iOff Ti64, iAmt int32, pp uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFetch})))(tls, id, iOff, iAmt, pp)
+ return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFetch})))(tls, id, iOff, iAmt, pp)
}
func _sqlite3OsUnfetch(tls *libc.TLS, id uintptr, iOff Ti64, p uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnfetch})))(tls, id, iOff, p)
+ return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnfetch})))(tls, id, iOff, p)
}
// C documentation
@@ -16222,14 +12629,7 @@ type TBenignMallocHooks = struct {
type BenignMallocHooks = TBenignMallocHooks
-type TBenignMallocHooks1 = struct {
- FxBenignBegin uintptr
- FxBenignEnd uintptr
-}
-
-type BenignMallocHooks1 = TBenignMallocHooks1
-
-var _sqlite3Hooks = TBenignMallocHooks1{}
+var _sqlite3Hooks = TBenignMallocHooks{}
/* The "wsdHooks" macro will resolve to the appropriate BenignMallocHooks
** structure. If writable static data is unsupported on the target,
@@ -16244,9 +12644,9 @@ var _sqlite3Hooks = TBenignMallocHooks1{}
// ** Register hooks to call when sqlite3BeginBenignMalloc() and
// ** sqlite3EndBenignMalloc() are called, respectively.
// */
-func _sqlite3BenignMallocHooks(tls *libc.TLS, xBenignBegin uintptr, xBenignEnd uintptr) {
- _sqlite3Hooks.FxBenignBegin = xBenignBegin
- _sqlite3Hooks.FxBenignEnd = xBenignEnd
+func _sqlite3BenignMallocHooks(tls *libc.TLS, __ccgo_fp_xBenignBegin uintptr, __ccgo_fp_xBenignEnd uintptr) {
+ _sqlite3Hooks.FxBenignBegin = __ccgo_fp_xBenignBegin
+ _sqlite3Hooks.FxBenignEnd = __ccgo_fp_xBenignEnd
}
// C documentation
@@ -16991,27 +13391,6 @@ type t__ptcb = struct {
F__next uintptr
}
-type Tcpu_set_t1 = struct {
- F__bits [32]uint32
-}
-
-type cpu_set_t1 = Tcpu_set_t1
-
-/*
-** The sqlite3_mutex.id, sqlite3_mutex.nRef, and sqlite3_mutex.owner fields
-** are necessary under two conditions: (1) Debug builds and (2) using
-** home-grown mutexes. Encapsulate these conditions into a single #define.
- */
-
-/*
-** Each recursive mutex is an instance of the following structure.
- */
-type Tsqlite3_mutex1 = struct {
- Fmutex Tpthread_mutex_t
-}
-
-type sqlite3_mutex1 = Tsqlite3_mutex1
-
/*
** The sqlite3_mutex_held() and sqlite3_mutex_notheld() routine are
** intended for use only inside assert() statements. On some platforms,
@@ -17295,6 +13674,8 @@ func _sqlite3MallocMutex(tls *libc.TLS) (r uintptr) {
return _mem0.Fmutex
}
+type t__ccgo_fp__Xsqlite3_memory_alarm_0 = func(*libc.TLS, uintptr, int64, int32)
+
// C documentation
//
// /*
@@ -17302,8 +13683,8 @@ func _sqlite3MallocMutex(tls *libc.TLS) (r uintptr) {
// ** that was invoked when memory usage grew too large. Now it is a
// ** no-op.
// */
-func Xsqlite3_memory_alarm(tls *libc.TLS, xCallback uintptr, pArg uintptr, iThreshold Tsqlite3_int64) (r int32) {
- _ = xCallback
+func Xsqlite3_memory_alarm(tls *libc.TLS, __ccgo_fp_xCallback uintptr, pArg uintptr, iThreshold Tsqlite3_int64) (r int32) {
+ _ = __ccgo_fp_xCallback
_ = pArg
_ = iThreshold
return SQLITE_OK
@@ -20611,56 +16992,10 @@ func _sqlite3PrngRestoreState(tls *libc.TLS) {
libc.Xmemcpy(tls, uintptr(unsafe.Pointer(&_sqlite3Prng)), uintptr(unsafe.Pointer(&_sqlite3SavedPrng)), uint32(132))
}
-/************** End of random.c **********************************************/
-/************** Begin file threads.c *****************************************/
-/*
-** 2012 July 21
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
-** This file presents a simple cross-platform threading interface for
-** use internally by SQLite.
-**
-** A "thread" can be created using sqlite3ThreadCreate(). This thread
-** runs independently of its creator until it is joined using
-** sqlite3ThreadJoin(), at which point it terminates.
-**
-** Threads do not have to be real. It could be that the work of the
-** "thread" is done by the main thread at either the sqlite3ThreadCreate()
-** or sqlite3ThreadJoin() call. This is, in fact, what happens in
-** single threaded systems. Nothing in SQLite requires multiple threads.
-** This interface exists so that applications that want to take advantage
-** of multiple cores can do so, while also allowing applications to stay
-** single-threaded if desired.
- */
-/* #include "sqliteInt.h" */
-
-/********************************* Unix Pthreads ****************************/
-
-/* #include */
-
-/* A running thread */
-type TSQLiteThread1 = struct {
- Ftid Tpthread_t
- Fdone int32
- FpOut uintptr
- FxTask uintptr
- FpIn uintptr
-}
-
-type SQLiteThread1 = TSQLiteThread1
-
// C documentation
//
// /* Create a new thread */
-func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, xTask uintptr, pIn uintptr) (r int32) {
+func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, __ccgo_fp_xTask uintptr, pIn uintptr) (r int32) {
var p uintptr
var rc int32
_, _ = p, rc
@@ -20671,7 +17006,7 @@ func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, xTask uintptr, pIn ui
return int32(SQLITE_NOMEM)
}
libc.Xmemset(tls, p, 0, uint32(20))
- (*TSQLiteThread)(unsafe.Pointer(p)).FxTask = xTask
+ (*TSQLiteThread)(unsafe.Pointer(p)).FxTask = __ccgo_fp_xTask
(*TSQLiteThread)(unsafe.Pointer(p)).FpIn = pIn
/* If the SQLITE_TESTCTRL_FAULT_INSTALL callback is registered to a
** function that returns SQLITE_ERROR when passed the argument 200, that
@@ -20680,11 +17015,11 @@ func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, xTask uintptr, pIn ui
if _sqlite3FaultSim(tls, int32(200)) != 0 {
rc = int32(1)
} else {
- rc = libc.Xpthread_create(tls, p, uintptr(0), xTask, pIn)
+ rc = libc.Xpthread_create(tls, p, uintptr(0), __ccgo_fp_xTask, pIn)
}
if rc != 0 {
(*TSQLiteThread)(unsafe.Pointer(p)).Fdone = int32(1)
- (*TSQLiteThread)(unsafe.Pointer(p)).FpOut = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(&struct{ uintptr }{xTask})))(tls, pIn)
+ (*TSQLiteThread)(unsafe.Pointer(p)).FpOut = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xTask})))(tls, pIn)
}
*(*uintptr)(unsafe.Pointer(ppThread)) = p
return SQLITE_OK
@@ -24506,22 +20841,6 @@ type TUnixUnusedFd = struct {
type UnixUnusedFd = TUnixUnusedFd
-/* An unused file descriptor */
-
-/*
-** Sometimes, after a file handle is closed by SQLite, the file descriptor
-** cannot be closed immediately. In these cases, instances of the following
-** structure are used to store the file descriptor while waiting for an
-** opportunity to either close or reuse it.
- */
-type TUnixUnusedFd1 = struct {
- Ffd int32
- Fflags int32
- FpNext uintptr
-}
-
-type UnixUnusedFd1 = TUnixUnusedFd1
-
// C documentation
//
// /*
@@ -24552,30 +20871,6 @@ type TunixFile = struct {
type unixFile = TunixFile
-type TunixFile1 = struct {
- FpMethod uintptr
- FpVfs uintptr
- FpInode uintptr
- Fh int32
- FeFileLock uint8
- FctrlFlags uint16
- FlastErrno int32
- FlockingContext uintptr
- FpPreallocatedUnused uintptr
- FzPath uintptr
- FpShm uintptr
- FszChunk int32
- FnFetchOut int32
- FmmapSize Tsqlite3_int64
- FmmapSizeActual Tsqlite3_int64
- FmmapSizeMax Tsqlite3_int64
- FpMapRegion uintptr
- FsectorSize int32
- FdeviceCharacteristics int32
-}
-
-type unixFile1 = TunixFile1
-
// C documentation
//
// /* This variable holds the process id (pid) from when the xRandomness()
@@ -24802,7 +21097,7 @@ func _robustFchown(tls *libc.TLS, fd int32, uid Tuid_t, gid Tgid_t) (r int32) {
// ** system call pointer, or SQLITE_NOTFOUND if there is no configurable
// ** system call named zName.
// */
-func _unixSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, pNewFunc Tsqlite3_syscall_ptr) (r int32) {
+func _unixSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, __ccgo_fp_pNewFunc Tsqlite3_syscall_ptr) (r int32) {
var i uint32
var rc int32
_, _ = i, rc
@@ -24840,10 +21135,10 @@ func _unixSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, pNewFunc
_aSyscall[i].FpDefault = _aSyscall[i].FpCurrent
}
rc = SQLITE_OK
- if pNewFunc == uintptr(0) {
- pNewFunc = _aSyscall[i].FpDefault
+ if __ccgo_fp_pNewFunc == uintptr(0) {
+ __ccgo_fp_pNewFunc = _aSyscall[i].FpDefault
}
- _aSyscall[i].FpCurrent = pNewFunc
+ _aSyscall[i].FpCurrent = __ccgo_fp_pNewFunc
break
}
goto _2
@@ -25218,47 +21513,6 @@ type TunixFileId = struct {
type unixFileId = TunixFileId
-/*
-** An instance of the following structure is allocated for each open
-** inode.
-**
-** A single inode can have multiple file descriptors, so each unixFile
-** structure contains a pointer to an instance of this object and this
-** object keeps a count of the number of unixFile pointing to it.
-**
-** Mutex rules:
-**
-** (1) Only the pLockMutex mutex must be held in order to read or write
-** any of the locking fields:
-** nShared, nLock, eFileLock, bProcessLock, pUnused
-**
-** (2) When nRef>0, then the following fields are unchanging and can
-** be read (but not written) without holding any mutex:
-** fileId, pLockMutex
-**
-** (3) With the exceptions above, all the fields may only be read
-** or written while holding the global unixBigLock mutex.
-**
-** Deadlock prevention: The global unixBigLock mutex may not
-** be acquired while holding the pLockMutex mutex. If both unixBigLock
-** and pLockMutex are needed, then unixBigLock must be acquired first.
- */
-type TunixInodeInfo1 = struct {
- FfileId TunixFileId
- FpLockMutex uintptr
- FnShared int32
- FnLock int32
- FeFileLock uint8
- FbProcessLock uint8
- FpUnused uintptr
- FnRef int32
- FpShmNode uintptr
- FpNext uintptr
- FpPrev uintptr
-}
-
-type unixInodeInfo1 = TunixInodeInfo1
-
// C documentation
//
// /*
@@ -25359,7 +21613,7 @@ func _closePendingFds(tls *libc.TLS, pFile uintptr) {
break
}
pNext = (*TUnixUnusedFd)(unsafe.Pointer(p)).FpNext
- _robust_close(tls, pFile, (*TUnixUnusedFd)(unsafe.Pointer(p)).Ffd, int32(40205))
+ _robust_close(tls, pFile, (*TUnixUnusedFd)(unsafe.Pointer(p)).Ffd, int32(40207))
Xsqlite3_free(tls, p)
goto _1
_1:
@@ -25989,7 +22243,7 @@ func _closeUnixFile(tls *libc.TLS, id uintptr) (r int32) {
pFile = id
_unixUnmapfile(tls, pFile)
if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
- _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40996))
+ _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40998))
(*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1)
}
Xsqlite3_free(tls, (*TunixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused)
@@ -26620,7 +22874,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) {
if fd >= 0 {
return SQLITE_OK
}
- return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42577)), __ccgo_ts+3605, bp, int32(42577))
+ return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42579)), __ccgo_ts+3605, bp, int32(42579))
}
// C documentation
@@ -26657,7 +22911,7 @@ func _unixSync(tls *libc.TLS, id uintptr, flags int32) (r int32) {
rc = _full_fsync(tls, (*TunixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly)
if rc != 0 {
_storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
- return _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(4)<pShmMutex must
-** be held while accessing any read/write fields.
- */
-type TunixShm1 = struct {
- FpShmNode uintptr
- FpNext uintptr
- FhasMutex Tu8
- Fid Tu8
- FsharedMask Tu16
- FexclMask Tu16
-}
-
-type unixShm1 = TunixShm1
-
/*
** Constants used for locking
*/
@@ -27205,7 +23370,7 @@ func _unixShmPurge(tls *libc.TLS, pFd uintptr) {
}
Xsqlite3_free(tls, (*TunixShmNode)(unsafe.Pointer(p)).FapRegion)
if (*TunixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
- _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(43394))
+ _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(43396))
(*TunixShmNode)(unsafe.Pointer(p)).FhShm = -int32(1)
}
(*TunixInodeInfo)(unsafe.Pointer((*TunixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -27268,7 +23433,7 @@ func _unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) (r in
** help detect if a -shm file truncation is legitimate or is the work
** or a rogue process. */
if rc == SQLITE_OK && _robust_ftruncate(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
- rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(18)<pFirst. This must be done while holding the
** pShmNode->pShmMutex.
*/
- Xsqlite3_mutex_enter(tls, (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpShmMutex)
- (*TunixShm1)(unsafe.Pointer(p)).FpNext = (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpFirst
- (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpFirst = p
- Xsqlite3_mutex_leave(tls, (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpShmMutex)
+ Xsqlite3_mutex_enter(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpShmMutex)
+ (*TunixShm)(unsafe.Pointer(p)).FpNext = (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpFirst
+ (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpFirst = p
+ Xsqlite3_mutex_leave(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpShmMutex)
return rc
/* Jump here on any error */
goto shm_open_err
@@ -27501,7 +23666,7 @@ func _unixShmMap(tls *libc.TLS, fd uintptr, iRegion int32, szRegion int32, bExte
*(*int32)(unsafe.Pointer(bp + 144)) = 0
if _seekAndWriteFd(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(iPg*_pgsz+_pgsz-int32(1)), __ccgo_ts+1667, int32(1), bp+144) != int32(1) {
zFile = (*TunixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
- rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(19)<= 0 {
- _robust_close(tls, pNew, h, int32(44804))
+ _robust_close(tls, pNew, h, int32(44806))
}
} else {
(*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -28670,7 +24835,7 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags
}
}
if fd < 0 {
- rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45252)), __ccgo_ts+3488, zName, int32(45252))
+ rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45254)), __ccgo_ts+3488, zName, int32(45254))
if rc == SQLITE_OK {
rc = rc2
}
@@ -28747,7 +24912,7 @@ func _unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) (
if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(ENOENT) {
rc = libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(23)< int32(SQLITE_MAX_SYMLINK) {
- (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45503))
+ (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45505))
return
}
got = (*(*func(*libc.TLS, uintptr, uintptr, Tsize_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls, zIn, bp+144, libc.Uint32FromInt64(4098)-libc.Uint32FromInt32(2))
if got <= 0 || got >= libc.Int32FromInt64(4098)-libc.Int32FromInt32(2) {
- (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45508)), __ccgo_ts+3677, zIn, int32(45508))
+ (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45510)), __ccgo_ts+3677, zIn, int32(45510))
return
}
(*(*[4098]int8)(unsafe.Pointer(bp + 144)))[got] = 0
@@ -28945,14 +25100,14 @@ func _unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z
(*(*TDbPath)(unsafe.Pointer(bp))).FzOut = zOut
if int32(*(*int8)(unsafe.Pointer(zPath))) != int32('/') {
if (*(*func(*libc.TLS, uintptr, Tsize_t) uintptr)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(3)].FpCurrent})))(tls, bp+20, libc.Uint32FromInt64(4098)-libc.Uint32FromInt32(2)) == uintptr(0) {
- return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45566)), __ccgo_ts+3506, zPath, int32(45566))
+ return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45568)), __ccgo_ts+3506, zPath, int32(45568))
}
_appendAllPathElements(tls, bp, bp+20)
}
_appendAllPathElements(tls, bp, zPath)
*(*int8)(unsafe.Pointer(zOut + uintptr((*(*TDbPath)(unsafe.Pointer(bp))).FnUsed))) = 0
if (*(*TDbPath)(unsafe.Pointer(bp))).Frc != 0 || (*(*TDbPath)(unsafe.Pointer(bp))).FnUsed < int32(2) {
- return _sqlite3CantopenError(tls, int32(45572))
+ return _sqlite3CantopenError(tls, int32(45574))
}
if (*(*TDbPath)(unsafe.Pointer(bp))).FnSymlink != 0 {
return libc.Int32FromInt32(SQLITE_OK) | libc.Int32FromInt32(2)<BITVEC_NBIT and iDivisor==0 then Bitvec.u.aHash[] is
-** a hash table that will hold up to BITVEC_MXHASH distinct values.
-**
-** Otherwise, the value i is redirected into one of BITVEC_NPTR
-** sub-bitmaps pointed to by Bitvec.u.apSub[]. Each subbitmap
-** handles up to iDivisor separate values of i. apSub[0] holds
-** values between 1 and iDivisor. apSub[1] holds values between
-** iDivisor+1 and 2*iDivisor. apSub[N] holds values between
-** N*iDivisor+1 and (N+1)*iDivisor. Each subbitmap is normalized
-** to hold deal with values between 1 and iDivisor.
- */
-type TBitvec1 = struct {
- FiSize Tu32
- FnSet Tu32
- FiDivisor Tu32
- Fu struct {
- FaHash [0][125]Tu32
- FapSub [0][125]uintptr
- FaBitmap [500]Tu8
- }
-}
-
-type Bitvec1 = TBitvec1
-
// C documentation
//
// /*
@@ -31024,66 +27019,6 @@ bitvec_end:
return rc
}
-/************** End of bitvec.c **********************************************/
-/************** Begin file pcache.c ******************************************/
-/*
-** 2008 August 05
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file implements that page cache.
- */
-/* #include "sqliteInt.h" */
-
-/*
-** A complete page cache is an instance of this structure. Every
-** entry in the cache holds a single page of the database file. The
-** btree layer only operates on the cached copy of the database pages.
-**
-** A page cache entry is "clean" if it exactly matches what is currently
-** on disk. A page is "dirty" if it has been modified and needs to be
-** persisted to disk.
-**
-** pDirty, pDirtyTail, pSynced:
-** All dirty pages are linked into the doubly linked list using
-** PgHdr.pDirtyNext and pDirtyPrev. The list is maintained in LRU order
-** such that p was added to the list more recently than p->pDirtyNext.
-** PCache.pDirty points to the first (newest) element in the list and
-** pDirtyTail to the last (oldest).
-**
-** The PCache.pSynced variable is used to optimize searching for a dirty
-** page to eject from the cache mid-transaction. It is better to eject
-** a page that does not require a journal sync than one that does.
-** Therefore, pSynced is maintained so that it *almost* always points
-** to either the oldest page in the pDirty/pDirtyTail list that has a
-** clear PGHDR_NEED_SYNC flag or to a page that is older than this one
-** (so that the right page to eject can be found by following pDirtyPrev
-** pointers).
- */
-type TPCache2 = struct {
- FpDirty uintptr
- FpDirtyTail uintptr
- FpSynced uintptr
- FnRefSum Ti64
- FszCache int32
- FszSpill int32
- FszPage int32
- FszExtra int32
- FbPurgeable Tu8
- FeCreate Tu8
- FxStress uintptr
- FpStress uintptr
- FpCache uintptr
-}
-
-type PCache2 = TPCache2
-
/********************************** Test and Debug Logic **********************/
/*
** Debug tracing macros. Enable by by changing the "0" to "1" and
@@ -31257,14 +27192,14 @@ func _sqlite3PcacheSize(tls *libc.TLS) (r int32) {
// ** to this module, the extra space really ends up being the MemPage
// ** structure in the pager.
// */
-func _sqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) (r int32) {
+func _sqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, __ccgo_fp_xStress uintptr, pStress uintptr, p uintptr) (r int32) {
libc.Xmemset(tls, p, 0, uint32(52))
(*TPCache)(unsafe.Pointer(p)).FszPage = int32(1)
(*TPCache)(unsafe.Pointer(p)).FszExtra = szExtra
/* First 8 bytes will be zeroed */
(*TPCache)(unsafe.Pointer(p)).FbPurgeable = libc.Uint8FromInt32(bPurgeable)
(*TPCache)(unsafe.Pointer(p)).FeCreate = uint8(2)
- (*TPCache)(unsafe.Pointer(p)).FxStress = xStress
+ (*TPCache)(unsafe.Pointer(p)).FxStress = __ccgo_fp_xStress
(*TPCache)(unsafe.Pointer(p)).FpStress = pStress
(*TPCache)(unsafe.Pointer(p)).FszCache = int32(100)
(*TPCache)(unsafe.Pointer(p)).FszSpill = int32(1)
@@ -32080,123 +28015,6 @@ type TPGroup = struct {
type PGroup = TPGroup
-/*
-** Each cache entry is represented by an instance of the following
-** structure. A buffer of PgHdr1.pCache->szPage bytes is allocated
-** directly before this structure and is used to cache the page content.
-**
-** When reading a corrupt database file, it is possible that SQLite might
-** read a few bytes (no more than 16 bytes) past the end of the page buffer.
-** It will only read past the end of the page buffer, never write. This
-** object is positioned immediately after the page buffer to serve as an
-** overrun area, so that overreads are harmless.
-**
-** Variables isBulkLocal and isAnchor were once type "u8". That works,
-** but causes a 2-byte gap in the structure for most architectures (since
-** pointers must be either 4 or 8-byte aligned). As this structure is located
-** in memory directly after the associated page data, if the database is
-** corrupt, code at the b-tree layer may overread the page buffer and
-** read part of this structure before the corruption is detected. This
-** can cause a valgrind error if the uninitialized gap is accessed. Using u16
-** ensures there is no such gap, and therefore no bytes of uninitialized
-** memory in the structure.
-**
-** The pLruNext and pLruPrev pointers form a double-linked circular list
-** of all pages that are unpinned. The PGroup.lru element (which should be
-** the only element on the list with PgHdr1.isAnchor set to 1) forms the
-** beginning and the end of the list.
- */
-type TPgHdr11 = struct {
- Fpage Tsqlite3_pcache_page
- FiKey uint32
- FisBulkLocal Tu16
- FisAnchor Tu16
- FpNext uintptr
- FpCache uintptr
- FpLruNext uintptr
- FpLruPrev uintptr
-}
-
-type PgHdr11 = TPgHdr11
-
-/*
-** A page is pinned if it is not on the LRU list. To be "pinned" means
-** that the page is in active use and must not be deallocated.
- */
-
-/* Each page cache (or PCache) belongs to a PGroup. A PGroup is a set
-** of one or more PCaches that are able to recycle each other's unpinned
-** pages when they are under memory pressure. A PGroup is an instance of
-** the following object.
-**
-** This page cache implementation works in one of two modes:
-**
-** (1) Every PCache is the sole member of its own PGroup. There is
-** one PGroup per PCache.
-**
-** (2) There is a single global PGroup that all PCaches are a member
-** of.
-**
-** Mode 1 uses more memory (since PCache instances are not able to rob
-** unused pages from other PCaches) but it also operates without a mutex,
-** and is therefore often faster. Mode 2 requires a mutex in order to be
-** threadsafe, but recycles pages more efficiently.
-**
-** For mode (1), PGroup.mutex is NULL. For mode (2) there is only a single
-** PGroup which is the pcache1.grp global variable and its mutex is
-** SQLITE_MUTEX_STATIC_LRU.
- */
-type TPGroup1 = struct {
- Fmutex uintptr
- FnMaxPage uint32
- FnMinPage uint32
- FmxPinned uint32
- FnPurgeable uint32
- Flru TPgHdr1
-}
-
-type PGroup1 = TPGroup1
-
-/* Each page cache is an instance of the following object. Every
-** open database file (including each in-memory database and each
-** temporary or transient database) has a single page cache which
-** is an instance of this object.
-**
-** Pointers to structures of this type are cast and returned as
-** opaque sqlite3_pcache* handles.
- */
-type TPCache11 = struct {
- FpGroup uintptr
- FpnPurgeable uintptr
- FszPage int32
- FszExtra int32
- FszAlloc int32
- FbPurgeable int32
- FnMin uint32
- FnMax uint32
- Fn90pct uint32
- FiMaxKey uint32
- FnPurgeableDummy uint32
- FnRecyclable uint32
- FnPage uint32
- FnHash uint32
- FapHash uintptr
- FpFree uintptr
- FpBulk uintptr
-}
-
-type PCache11 = TPCache11
-
-/*
-** Free slots in the allocator used to divide up the global page cache
-** buffer provided using the SQLITE_CONFIG_PAGECACHE mechanism.
- */
-type TPgFreeslot1 = struct {
- FpNext uintptr
-}
-
-type PgFreeslot1 = TPgFreeslot1
-
// C documentation
//
// /*
@@ -33393,25 +29211,6 @@ type TRowSetChunk = struct {
type RowSetChunk = TRowSetChunk
-/*
-** A RowSet in an instance of the following structure.
-**
-** A typedef of this structure if found in sqliteInt.h.
- */
-type TRowSet1 = struct {
- FpChunk uintptr
- Fdb uintptr
- FpEntry uintptr
- FpLast uintptr
- FpFresh uintptr
- FpForest uintptr
- FnFresh Tu16
- FrsFlags Tu16
- FiBatch int32
-}
-
-type RowSet1 = TRowSet1
-
/*
** Allowed values for RowSet.rsFlags
*/
@@ -34373,258 +30172,6 @@ type TPagerSavepoint = struct {
type PagerSavepoint = TPagerSavepoint
-type TPagerSavepoint1 = struct {
- FiOffset Ti64
- FiHdrOffset Ti64
- FpInSavepoint uintptr
- FnOrig TPgno
- FiSubRec TPgno
- FbTruncateOnRelease int32
- FaWalData [4]Tu32
-}
-
-type PagerSavepoint1 = TPagerSavepoint1
-
-/*
-** Bits of the Pager.doNotSpill flag. See further description below.
- */
-
-/*
-** An open page cache is an instance of struct Pager. A description of
-** some of the more important member variables follows:
-**
-** eState
-**
-** The current 'state' of the pager object. See the comment and state
-** diagram above for a description of the pager state.
-**
-** eLock
-**
-** For a real on-disk database, the current lock held on the database file -
-** NO_LOCK, SHARED_LOCK, RESERVED_LOCK or EXCLUSIVE_LOCK.
-**
-** For a temporary or in-memory database (neither of which require any
-** locks), this variable is always set to EXCLUSIVE_LOCK. Since such
-** databases always have Pager.exclusiveMode==1, this tricks the pager
-** logic into thinking that it already has all the locks it will ever
-** need (and no reason to release them).
-**
-** In some (obscure) circumstances, this variable may also be set to
-** UNKNOWN_LOCK. See the comment above the #define of UNKNOWN_LOCK for
-** details.
-**
-** changeCountDone
-**
-** This boolean variable is used to make sure that the change-counter
-** (the 4-byte header field at byte offset 24 of the database file) is
-** not updated more often than necessary.
-**
-** It is set to true when the change-counter field is updated, which
-** can only happen if an exclusive lock is held on the database file.
-** It is cleared (set to false) whenever an exclusive lock is
-** relinquished on the database file. Each time a transaction is committed,
-** The changeCountDone flag is inspected. If it is true, the work of
-** updating the change-counter is omitted for the current transaction.
-**
-** This mechanism means that when running in exclusive mode, a connection
-** need only update the change-counter once, for the first transaction
-** committed.
-**
-** setSuper
-**
-** When PagerCommitPhaseOne() is called to commit a transaction, it may
-** (or may not) specify a super-journal name to be written into the
-** journal file before it is synced to disk.
-**
-** Whether or not a journal file contains a super-journal pointer affects
-** the way in which the journal file is finalized after the transaction is
-** committed or rolled back when running in "journal_mode=PERSIST" mode.
-** If a journal file does not contain a super-journal pointer, it is
-** finalized by overwriting the first journal header with zeroes. If
-** it does contain a super-journal pointer the journal file is finalized
-** by truncating it to zero bytes, just as if the connection were
-** running in "journal_mode=truncate" mode.
-**
-** Journal files that contain super-journal pointers cannot be finalized
-** simply by overwriting the first journal-header with zeroes, as the
-** super-journal pointer could interfere with hot-journal rollback of any
-** subsequently interrupted transaction that reuses the journal file.
-**
-** The flag is cleared as soon as the journal file is finalized (either
-** by PagerCommitPhaseTwo or PagerRollback). If an IO error prevents the
-** journal file from being successfully finalized, the setSuper flag
-** is cleared anyway (and the pager will move to ERROR state).
-**
-** doNotSpill
-**
-** This variables control the behavior of cache-spills (calls made by
-** the pcache module to the pagerStress() routine to write cached data
-** to the file-system in order to free up memory).
-**
-** When bits SPILLFLAG_OFF or SPILLFLAG_ROLLBACK of doNotSpill are set,
-** writing to the database from pagerStress() is disabled altogether.
-** The SPILLFLAG_ROLLBACK case is done in a very obscure case that
-** comes up during savepoint rollback that requires the pcache module
-** to allocate a new page to prevent the journal file from being written
-** while it is being traversed by code in pager_playback(). The SPILLFLAG_OFF
-** case is a user preference.
-**
-** If the SPILLFLAG_NOSYNC bit is set, writing to the database from
-** pagerStress() is permitted, but syncing the journal file is not.
-** This flag is set by sqlite3PagerWrite() when the file-system sector-size
-** is larger than the database page-size in order to prevent a journal sync
-** from happening in between the journalling of two pages on the same sector.
-**
-** subjInMemory
-**
-** This is a boolean variable. If true, then any required sub-journal
-** is opened as an in-memory journal file. If false, then in-memory
-** sub-journals are only used for in-memory pager files.
-**
-** This variable is updated by the upper layer each time a new
-** write-transaction is opened.
-**
-** dbSize, dbOrigSize, dbFileSize
-**
-** Variable dbSize is set to the number of pages in the database file.
-** It is valid in PAGER_READER and higher states (all states except for
-** OPEN and ERROR).
-**
-** dbSize is set based on the size of the database file, which may be
-** larger than the size of the database (the value stored at offset
-** 28 of the database header by the btree). If the size of the file
-** is not an integer multiple of the page-size, the value stored in
-** dbSize is rounded down (i.e. a 5KB file with 2K page-size has dbSize==2).
-** Except, any file that is greater than 0 bytes in size is considered
-** to have at least one page. (i.e. a 1KB file with 2K page-size leads
-** to dbSize==1).
-**
-** During a write-transaction, if pages with page-numbers greater than
-** dbSize are modified in the cache, dbSize is updated accordingly.
-** Similarly, if the database is truncated using PagerTruncateImage(),
-** dbSize is updated.
-**
-** Variables dbOrigSize and dbFileSize are valid in states
-** PAGER_WRITER_LOCKED and higher. dbOrigSize is a copy of the dbSize
-** variable at the start of the transaction. It is used during rollback,
-** and to determine whether or not pages need to be journalled before
-** being modified.
-**
-** Throughout a write-transaction, dbFileSize contains the size of
-** the file on disk in pages. It is set to a copy of dbSize when the
-** write-transaction is first opened, and updated when VFS calls are made
-** to write or truncate the database file on disk.
-**
-** The only reason the dbFileSize variable is required is to suppress
-** unnecessary calls to xTruncate() after committing a transaction. If,
-** when a transaction is committed, the dbFileSize variable indicates
-** that the database file is larger than the database image (Pager.dbSize),
-** pager_truncate() is called. The pager_truncate() call uses xFilesize()
-** to measure the database file on disk, and then truncates it if required.
-** dbFileSize is not used when rolling back a transaction. In this case
-** pager_truncate() is called unconditionally (which means there may be
-** a call to xFilesize() that is not strictly required). In either case,
-** pager_truncate() may cause the file to become smaller or larger.
-**
-** dbHintSize
-**
-** The dbHintSize variable is used to limit the number of calls made to
-** the VFS xFileControl(FCNTL_SIZE_HINT) method.
-**
-** dbHintSize is set to a copy of the dbSize variable when a
-** write-transaction is opened (at the same time as dbFileSize and
-** dbOrigSize). If the xFileControl(FCNTL_SIZE_HINT) method is called,
-** dbHintSize is increased to the number of pages that correspond to the
-** size-hint passed to the method call. See pager_write_pagelist() for
-** details.
-**
-** errCode
-**
-** The Pager.errCode variable is only ever used in PAGER_ERROR state. It
-** is set to zero in all other states. In PAGER_ERROR state, Pager.errCode
-** is always set to SQLITE_FULL, SQLITE_IOERR or one of the SQLITE_IOERR_XXX
-** sub-codes.
-**
-** syncFlags, walSyncFlags
-**
-** syncFlags is either SQLITE_SYNC_NORMAL (0x02) or SQLITE_SYNC_FULL (0x03).
-** syncFlags is used for rollback mode. walSyncFlags is used for WAL mode
-** and contains the flags used to sync the checkpoint operations in the
-** lower two bits, and sync flags used for transaction commits in the WAL
-** file in bits 0x04 and 0x08. In other words, to get the correct sync flags
-** for checkpoint operations, use (walSyncFlags&0x03) and to get the correct
-** sync flags for transaction commit, use ((walSyncFlags>>2)&0x03). Note
-** that with synchronous=NORMAL in WAL mode, transaction commit is not synced
-** meaning that the 0x04 and 0x08 bits are both zero.
- */
-type TPager1 = struct {
- FpVfs uintptr
- FexclusiveMode Tu8
- FjournalMode Tu8
- FuseJournal Tu8
- FnoSync Tu8
- FfullSync Tu8
- FextraSync Tu8
- FsyncFlags Tu8
- FwalSyncFlags Tu8
- FtempFile Tu8
- FnoLock Tu8
- FreadOnly Tu8
- FmemDb Tu8
- FmemVfs Tu8
- FeState Tu8
- FeLock Tu8
- FchangeCountDone Tu8
- FsetSuper Tu8
- FdoNotSpill Tu8
- FsubjInMemory Tu8
- FbUseFetch Tu8
- FhasHeldSharedLock Tu8
- FdbSize TPgno
- FdbOrigSize TPgno
- FdbFileSize TPgno
- FdbHintSize TPgno
- FerrCode int32
- FnRec int32
- FcksumInit Tu32
- FnSubRec Tu32
- FpInJournal uintptr
- Ffd uintptr
- Fjfd uintptr
- Fsjfd uintptr
- FjournalOff Ti64
- FjournalHdr Ti64
- FpBackup uintptr
- FaSavepoint uintptr
- FnSavepoint int32
- FiDataVersion Tu32
- FdbFileVers [16]int8
- FnMmapOut int32
- FszMmap Tsqlite3_int64
- FpMmapFreelist uintptr
- FnExtra Tu16
- FnReserve Ti16
- FvfsFlags Tu32
- FsectorSize Tu32
- FmxPgno TPgno
- FlckPgno TPgno
- FpageSize Ti64
- FjournalSizeLimit Ti64
- FzFilename uintptr
- FzJournal uintptr
- FxBusyHandler uintptr
- FpBusyHandlerArg uintptr
- FaStat [4]Tu32
- FxReiniter uintptr
- FxGet uintptr
- FpTmpSpace uintptr
- FpPCache uintptr
- FpWal uintptr
- FzWal uintptr
-}
-
-type Pager1 = TPager1
-
/*
** Indexes for use with Pager.aStat[]. The Pager.aStat[] array contains
** the values accessed by passing SQLITE_DBSTATUS_CACHE_HIT, CACHE_MISS
@@ -34723,7 +30270,7 @@ func _sqlite3PagerDirectReadOk(tls *libc.TLS, pPager uintptr, pgno TPgno) (r int
return 0
} /* Case (4) */
}
- if (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TPager)(unsafe.Pointer(pPager)).Ffd)).FpMethods)).FxDeviceCharacteristics})))(tls, (*TPager)(unsafe.Pointer(pPager)).Ffd)&int32(SQLITE_IOCAP_SUBPAGE_READ) == 0 {
+ if (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TPager)(unsafe.Pointer(pPager)).Ffd)).FpMethods)).FxDeviceCharacteristics})))(tls, (*TPager)(unsafe.Pointer(pPager)).Ffd)&int32(SQLITE_IOCAP_SUBPAGE_READ) == 0 {
return 0 /* Case (2) */
}
return int32(1)
@@ -37208,7 +32755,7 @@ func _pagerFixMaplimit(tls *libc.TLS, pPager uintptr) {
var _ /* sz at bp+0 */ Tsqlite3_int64
_ = fd
fd = (*TPager)(unsafe.Pointer(pPager)).Ffd
- if (*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods != uintptr(0) && (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FiVersion >= int32(3) {
+ if (*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods != uintptr(0) && (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FiVersion >= int32(3) {
*(*Tsqlite3_int64)(unsafe.Pointer(bp)) = (*TPager)(unsafe.Pointer(pPager)).FszMmap
(*TPager)(unsafe.Pointer(pPager)).FbUseFetch = libc.BoolUint8(*(*Tsqlite3_int64)(unsafe.Pointer(bp)) > libc.Int64FromInt32(0))
_setGetterMethod(tls, pPager)
@@ -37399,10 +32946,10 @@ func _pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32
// ** retried. If it returns zero, then the SQLITE_BUSY error is
// ** returned to the caller of the pager API function.
// */
-func _sqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) {
+func _sqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, __ccgo_fp_xBusyHandler uintptr, pBusyHandlerArg uintptr) {
var ap uintptr
_ = ap
- (*TPager)(unsafe.Pointer(pPager)).FxBusyHandler = xBusyHandler
+ (*TPager)(unsafe.Pointer(pPager)).FxBusyHandler = __ccgo_fp_xBusyHandler
(*TPager)(unsafe.Pointer(pPager)).FpBusyHandlerArg = pBusyHandlerArg
ap = pPager + 184
_sqlite3OsFileControlHint(tls, (*TPager)(unsafe.Pointer(pPager)).Ffd, int32(SQLITE_FCNTL_BUSYHANDLER), ap)
@@ -38303,7 +33850,7 @@ func _sqlite3PagerFlush(tls *libc.TLS, pPager uintptr) (r int32) {
// ** (sqlite3Malloc() is used to allocate memory), SQLITE_CANTOPEN or
// ** various SQLITE_IO_XXX errors.
// */
-func _sqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) (r int32) {
+func _sqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, __ccgo_fp_xReinit uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var iDc, journalFileSize, memDb, memJM, nPathname, nUriByte, pcacheSize, rc, readOnly, tempFile, useJournal, v4 int32
@@ -38378,7 +33925,7 @@ func _sqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename u
** as it will not be possible to open the journal file or even
** check for a hot-journal before reading.
*/
- rc = _sqlite3CantopenError(tls, int32(62857))
+ rc = _sqlite3CantopenError(tls, int32(62859))
}
if rc != SQLITE_OK {
_sqlite3DbFree(tls, uintptr(0), zPathname)
@@ -38600,7 +34147,7 @@ _3:
}
/* pPager->xBusyHandler = 0; */
/* pPager->pBusyHandlerArg = 0; */
- (*TPager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FxReiniter = xReinit
+ (*TPager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FxReiniter = __ccgo_fp_xReinit
_setGetterMethod(tls, *(*uintptr)(unsafe.Pointer(bp)))
/* memset(pPager->aHash, 0, sizeof(pPager->aHash)); */
/* pPager->szMmap = SQLITE_DEFAULT_MMAP_SIZE // will be set by btree.c */
@@ -38856,7 +34403,7 @@ func _sqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) (r int32) {
f = libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_MAIN_JOURNAL)
rc = _sqlite3OsOpen(tls, pVfs, (*TPager)(unsafe.Pointer(pPager)).FzJournal, (*TPager)(unsafe.Pointer(pPager)).Fjfd, f, bp+8)
if rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&int32(SQLITE_OPEN_READONLY) != 0 {
- rc = _sqlite3CantopenError(tls, int32(63378))
+ rc = _sqlite3CantopenError(tls, int32(63380))
_sqlite3OsClose(tls, (*TPager)(unsafe.Pointer(pPager)).Fjfd)
}
}
@@ -39031,7 +34578,7 @@ func _getPageNormal(tls *libc.TLS, pPager uintptr, pgno TPgno, ppPage uintptr, f
_, _, _, _ = noContent, pPg, rc, v1
rc = SQLITE_OK
if pgno == uint32(0) {
- return _sqlite3CorruptError(tls, int32(63591))
+ return _sqlite3CorruptError(tls, int32(63593))
}
*(*uintptr)(unsafe.Pointer(bp)) = _sqlite3PcacheFetch(tls, (*TPager)(unsafe.Pointer(pPager)).FpPCache, pgno, int32(3))
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
@@ -39062,7 +34609,7 @@ func _getPageNormal(tls *libc.TLS, pPager uintptr, pgno TPgno, ppPage uintptr, f
** (2) Never try to fetch the locking page
*/
if pgno == (*TPager)(unsafe.Pointer(pPager)).FlckPgno {
- rc = _sqlite3CorruptError(tls, int32(63623))
+ rc = _sqlite3CorruptError(tls, int32(63625))
goto pager_acquire_err
}
(*TPgHdr)(unsafe.Pointer(pPg)).FpPager = pPager
@@ -39134,7 +34681,7 @@ func _getPageMMap(tls *libc.TLS, pPager uintptr, pgno TPgno, ppPage uintptr, fla
** test in the previous statement, and avoid testing pgno==0 in the
** common case where pgno is large. */
if pgno <= uint32(1) && pgno == uint32(0) {
- return _sqlite3CorruptError(tls, int32(63706))
+ return _sqlite3CorruptError(tls, int32(63708))
}
if bMmapOk != 0 && (*TPager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
rc = _sqlite3WalFindFrame(tls, (*TPager)(unsafe.Pointer(pPager)).FpWal, pgno, bp+4)
@@ -40491,7 +36038,7 @@ func _sqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno TPgn
if pPgOld != 0 {
if (*TPgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
_sqlite3PagerUnrefNotNull(tls, pPgOld)
- return _sqlite3CorruptError(tls, int32(65272))
+ return _sqlite3CorruptError(tls, int32(65274))
}
p4 = pPg + 28
*(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) | libc.Int32FromUint16((*TPgHdr)(unsafe.Pointer(pPgOld)).Fflags)&libc.Int32FromInt32(PGHDR_NEED_SYNC))
@@ -41339,232 +36886,6 @@ type TWalCkptInfo = struct {
type WalCkptInfo = TWalCkptInfo
-/*
-** The following object holds a copy of the wal-index header content.
-**
-** The actual header in the wal-index consists of two copies of this
-** object followed by one instance of the WalCkptInfo object.
-** For all versions of SQLite through 3.10.0 and probably beyond,
-** the locking bytes (WalCkptInfo.aLock) start at offset 120 and
-** the total header size is 136 bytes.
-**
-** The szPage value can be any power of 2 between 512 and 32768, inclusive.
-** Or it can be 1 to represent a 65536-byte page. The latter case was
-** added in 3.7.1 when support for 64K pages was added.
- */
-type TWalIndexHdr1 = struct {
- FiVersion Tu32
- Funused Tu32
- FiChange Tu32
- FisInit Tu8
- FbigEndCksum Tu8
- FszPage Tu16
- FmxFrame Tu32
- FnPage Tu32
- FaFrameCksum [2]Tu32
- FaSalt [2]Tu32
- FaCksum [2]Tu32
-}
-
-type WalIndexHdr1 = TWalIndexHdr1
-
-/*
-** A copy of the following object occurs in the wal-index immediately
-** following the second copy of the WalIndexHdr. This object stores
-** information used by checkpoint.
-**
-** nBackfill is the number of frames in the WAL that have been written
-** back into the database. (We call the act of moving content from WAL to
-** database "backfilling".) The nBackfill number is never greater than
-** WalIndexHdr.mxFrame. nBackfill can only be increased by threads
-** holding the WAL_CKPT_LOCK lock (which includes a recovery thread).
-** However, a WAL_WRITE_LOCK thread can move the value of nBackfill from
-** mxFrame back to zero when the WAL is reset.
-**
-** nBackfillAttempted is the largest value of nBackfill that a checkpoint
-** has attempted to achieve. Normally nBackfill==nBackfillAtempted, however
-** the nBackfillAttempted is set before any backfilling is done and the
-** nBackfill is only set after all backfilling completes. So if a checkpoint
-** crashes, nBackfillAttempted might be larger than nBackfill. The
-** WalIndexHdr.mxFrame must never be less than nBackfillAttempted.
-**
-** The aLock[] field is a set of bytes used for locking. These bytes should
-** never be read or written.
-**
-** There is one entry in aReadMark[] for each reader lock. If a reader
-** holds read-lock K, then the value in aReadMark[K] is no greater than
-** the mxFrame for that reader. The value READMARK_NOT_USED (0xffffffff)
-** for any aReadMark[] means that entry is unused. aReadMark[0] is
-** a special case; its value is never used and it exists as a place-holder
-** to avoid having to offset aReadMark[] indexes by one. Readers holding
-** WAL_READ_LOCK(0) always ignore the entire WAL and read all content
-** directly from the database.
-**
-** The value of aReadMark[K] may only be changed by a thread that
-** is holding an exclusive lock on WAL_READ_LOCK(K). Thus, the value of
-** aReadMark[K] cannot changed while there is a reader is using that mark
-** since the reader will be holding a shared lock on WAL_READ_LOCK(K).
-**
-** The checkpointer may only transfer frames from WAL to database where
-** the frame numbers are less than or equal to every aReadMark[] that is
-** in use (that is, every aReadMark[j] for which there is a corresponding
-** WAL_READ_LOCK(j)). New readers (usually) pick the aReadMark[] with the
-** largest value and will increase an unused aReadMark[] to mxFrame if there
-** is not already an aReadMark[] equal to mxFrame. The exception to the
-** previous sentence is when nBackfill equals mxFrame (meaning that everything
-** in the WAL has been backfilled into the database) then new readers
-** will choose aReadMark[0] which has value 0 and hence such reader will
-** get all their all content directly from the database file and ignore
-** the WAL.
-**
-** Writers normally append new frames to the end of the WAL. However,
-** if nBackfill equals mxFrame (meaning that all WAL content has been
-** written back into the database) and if no readers are using the WAL
-** (in other words, if there are no WAL_READ_LOCK(i) where i>0) then
-** the writer will first "reset" the WAL back to the beginning and start
-** writing new content beginning at frame 1.
-**
-** We assume that 32-bit loads are atomic and so no locks are needed in
-** order to read from any aReadMark[] entries.
- */
-type TWalCkptInfo1 = struct {
- FnBackfill Tu32
- FaReadMark [5]Tu32
- FaLock [8]Tu8
- FnBackfillAttempted Tu32
- FnotUsed0 Tu32
-}
-
-type WalCkptInfo1 = TWalCkptInfo1
-
-/*
-** This is a schematic view of the complete 136-byte header of the
-** wal-index file (also known as the -shm file):
-**
-** +-----------------------------+
-** 0: | iVersion | ** +-----------------------------+ |
-** 4: | (unused padding) | |
-** +-----------------------------+ |
-** 8: | iChange | |
-** +-------+-------+-------------+ |
-** 12: | bInit | bBig | szPage | |
-** +-------+-------+-------------+ |
-** 16: | mxFrame | | First copy of the
-** +-----------------------------+ | WalIndexHdr object
-** 20: | nPage | |
-** +-----------------------------+ |
-** 24: | aFrameCksum | |
-** | | |
-** +-----------------------------+ |
-** 32: | aSalt | |
-** | | |
-** +-----------------------------+ |
-** 40: | aCksum | |
-** | | /
-** +-----------------------------+
-** 48: | iVersion | ** +-----------------------------+ |
-** 52: | (unused padding) | |
-** +-----------------------------+ |
-** 56: | iChange | |
-** +-------+-------+-------------+ |
-** 60: | bInit | bBig | szPage | |
-** +-------+-------+-------------+ | Second copy of the
-** 64: | mxFrame | | WalIndexHdr
-** +-----------------------------+ |
-** 68: | nPage | |
-** +-----------------------------+ |
-** 72: | aFrameCksum | |
-** | | |
-** +-----------------------------+ |
-** 80: | aSalt | |
-** | | |
-** +-----------------------------+ |
-** 88: | aCksum | |
-** | | /
-** +-----------------------------+
-** 96: | nBackfill |
-** +-----------------------------+
-** 100: | 5 read marks |
-** | |
-** | |
-** | |
-** | |
-** +-------+-------+------+------+
-** 120: | Write | Ckpt | Rcvr | Rd0 | ** +-------+-------+------+------+ ) 8 lock bytes
-** | Read1 | Read2 | Rd3 | Rd4 | /
-** +-------+-------+------+------+
-** 128: | nBackfillAttempted |
-** +-----------------------------+
-** 132: | (unused padding) |
-** +-----------------------------+
- */
-
-/* A block of WALINDEX_LOCK_RESERVED bytes beginning at
-** WALINDEX_LOCK_OFFSET is reserved for locks. Since some systems
-** only support mandatory file-locks, we do not read or write data
-** from the region of the file on which locks are applied.
- */
-
-/* Size of header before each frame in wal */
-
-/* Size of write ahead log header, including checksum. */
-
-/* WAL magic value. Either this value, or the same value with the least
-** significant bit also set (WAL_MAGIC | 0x00000001) is stored in 32-bit
-** big-endian format in the first 4 bytes of a WAL file.
-**
-** If the LSB is set, then the checksums for each frame within the WAL
-** file are calculated by treating all data as an array of 32-bit
-** big-endian words. Otherwise, they are calculated by interpreting
-** all data as 32-bit little-endian words.
- */
-
-/*
-** Return the offset of frame iFrame in the write-ahead log file,
-** assuming a database page size of szPage bytes. The offset returned
-** is to the start of the write-ahead log frame-header.
- */
-
-/*
-** An open write-ahead log file is represented by an instance of the
-** following object.
-**
-** writeLock:
-** This is usually set to 1 whenever the WRITER lock is held. However,
-** if it is set to 2, then the WRITER lock is held but must be released
-** by walHandleException() if a SEH exception is thrown.
- */
-type TWal1 = struct {
- FpVfs uintptr
- FpDbFd uintptr
- FpWalFd uintptr
- FiCallback Tu32
- FmxWalSize Ti64
- FnWiData int32
- FszFirstBlock int32
- FapWiData uintptr
- FszPage Tu32
- FreadLock Ti16
- FsyncFlags Tu8
- FexclusiveMode Tu8
- FwriteLock Tu8
- FckptLock Tu8
- FreadOnly Tu8
- FtruncateOnCommit Tu8
- FsyncHeader Tu8
- FpadToSectorBoundary Tu8
- FbShmUnreliable Tu8
- Fhdr TWalIndexHdr
- FminFrame Tu32
- FiReCksum Tu32
- FzWalName uintptr
- FnCkpt Tu32
- FpSnapshot uintptr
- FbGetSnapshot int32
-}
-
-type Wal1 = TWal1
-
/*
** Candidate values for Wal.exclusiveMode.
*/
@@ -41583,28 +36904,6 @@ type Tht_slot = uint16
type ht_slot = Tht_slot
-/*
-** This structure is used to implement an iterator that loops through
-** all frames in the WAL in database page order. Where two or more frames
-** correspond to the same database page, the iterator visits only the
-** frame most recently written to the WAL (in other words, the frame with
-** the largest index).
-**
-** The internals of this structure are only accessed by:
-**
-** walIteratorInit() - Create a new iterator,
-** walIteratorNext() - Step an iterator,
-** walIteratorFree() - Free an iterator.
-**
-** This functionality is used by the checkpoint code (see walCheckpoint()).
- */
-type TWalIterator1 = struct {
- FiPrior Tu32
- FnSegment int32
-}
-
-type WalIterator1 = TWalIterator1
-
/* Size (in bytes) of a WalIterator object suitable for N or fewer segments */
/*
@@ -42033,14 +37332,6 @@ type TWalHashLoc = struct {
type WalHashLoc = TWalHashLoc
-type TWalHashLoc1 = struct {
- FaHash uintptr
- FaPgno uintptr
- FiZero Tu32
-}
-
-type WalHashLoc1 = TWalHashLoc1
-
// C documentation
//
// /*
@@ -42207,7 +37498,7 @@ func _walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame Tu32, iPage Tu32) (r in
v2 = nCollide
nCollide--
if v2 == 0 {
- return _sqlite3CorruptError(tls, int32(67212))
+ return _sqlite3CorruptError(tls, int32(67214))
}
goto _1
_1:
@@ -42295,7 +37586,7 @@ func _walIndexRecover(tls *libc.TLS, pWal uintptr) (r int32) {
** are able to understand */
version = _sqlite3Get4byte(tls, bp+8+4)
if version != uint32(WAL_MAX_VERSION) {
- rc = _sqlite3CantopenError(tls, int32(67344))
+ rc = _sqlite3CantopenError(tls, int32(67346))
goto finished
}
/* Malloc a buffer to read frames into. */
@@ -42875,10 +38166,10 @@ func _walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill Tu32, pp uintptr) (
// ** busy-handler function. Invoke it and retry the lock until either the
// ** lock is successfully obtained or the busy-handler returns 0.
// */
-func _walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) (r int32) {
+func _walBusyLock(tls *libc.TLS, pWal uintptr, __ccgo_fp_xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) (r int32) {
var rc int32
_ = rc
- for cond := true; cond; cond = xBusy != 0 && rc == int32(SQLITE_BUSY) && (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xBusy})))(tls, pBusyArg) != 0 {
+ for cond := true; cond; cond = __ccgo_fp_xBusy != 0 && rc == int32(SQLITE_BUSY) && (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xBusy})))(tls, pBusyArg) != 0 {
rc = _walLockExclusive(tls, pWal, lockIdx, n)
}
return rc
@@ -42976,7 +38267,7 @@ func _walRestartHdr(tls *libc.TLS, pWal uintptr, _salt1 Tu32) {
// ** checkpoint is running (in any other thread or process) at the same
// ** time.
// */
-func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) (r int32) {
+func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, __ccgo_fp_xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) (r int32) {
bp := tls.Alloc(48)
defer tls.Free(48)
var i, rc, szPage, v3, v5 int32
@@ -43015,7 +38306,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
}
y = libc.AtomicLoadNUint32(pInfo+4+uintptr(i)*4, libc.Int32FromInt32(__ATOMIC_RELAXED))
if mxSafeFrame > y {
- rc = _walBusyLock(tls, pWal, xBusy, pBusyArg, int32(3)+i, int32(1))
+ rc = _walBusyLock(tls, pWal, __ccgo_fp_xBusy, pBusyArg, int32(3)+i, int32(1))
if rc == SQLITE_OK {
if i == int32(1) {
v2 = mxSafeFrame
@@ -43028,7 +38319,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
} else {
if rc == int32(SQLITE_BUSY) {
mxSafeFrame = y
- xBusy = uintptr(0)
+ __ccgo_fp_xBusy = uintptr(0)
} else {
goto walcheckpoint_out
}
@@ -43044,7 +38335,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
rc = _walIteratorInit(tls, pWal, (*TWalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill, bp)
}
if v4 = *(*uintptr)(unsafe.Pointer(bp)) != 0; v4 {
- v3 = _walBusyLock(tls, pWal, xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(0), int32(1))
+ v3 = _walBusyLock(tls, pWal, __ccgo_fp_xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(0), int32(1))
rc = v3
}
if v4 && v3 == SQLITE_OK {
@@ -43065,7 +38356,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
** database plus the amount of data in the wal file, plus the
** maximum size of the pending-byte page (65536 bytes), then
** must be corruption somewhere. */
- rc = _sqlite3CorruptError(tls, int32(68153))
+ rc = _sqlite3CorruptError(tls, int32(68155))
} else {
_sqlite3OsFileControlHint(tls, (*TWal)(unsafe.Pointer(pWal)).FpDbFd, int32(SQLITE_FCNTL_SIZE_HINT), bp+16)
}
@@ -43131,7 +38422,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
} else {
if eMode >= int32(SQLITE_CHECKPOINT_RESTART) {
Xsqlite3_randomness(tls, int32(4), bp+32)
- rc = _walBusyLock(tls, pWal, xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(1), libc.Int32FromInt32(SQLITE_SHM_NLOCK)-libc.Int32FromInt32(3)-libc.Int32FromInt32(1))
+ rc = _walBusyLock(tls, pWal, __ccgo_fp_xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(1), libc.Int32FromInt32(SQLITE_SHM_NLOCK)-libc.Int32FromInt32(3)-libc.Int32FromInt32(1))
if rc == SQLITE_OK {
if eMode == int32(SQLITE_CHECKPOINT_TRUNCATE) {
/* IMPLEMENTATION-OF: R-44699-57140 This mode works the same way as
@@ -43429,7 +38720,7 @@ func _walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) (r int32) {
** this version of SQLite cannot understand.
*/
if badHdr == 0 && (*TWal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != uint32(WALINDEX_MAX_VERSION) {
- rc = _sqlite3CantopenError(tls, int32(68604))
+ rc = _sqlite3CantopenError(tls, int32(68606))
}
if (*TWal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
if rc != SQLITE_OK {
@@ -44240,7 +39531,7 @@ func _walFindFrame(tls *libc.TLS, pWal uintptr, pgno TPgno, piRead uintptr) (r i
nCollide--
if v3 == 0 {
*(*Tu32)(unsafe.Pointer(piRead)) = uint32(0)
- return _sqlite3CorruptError(tls, int32(69454))
+ return _sqlite3CorruptError(tls, int32(69456))
}
iKey = _walNextHash(tls, iKey)
}
@@ -44386,7 +39677,7 @@ func _sqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) (r int32) {
// ** Otherwise, if the callback function does not return an error, this
// ** function returns SQLITE_OK.
// */
-func _sqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) (r int32) {
+func _sqlite3WalUndo(tls *libc.TLS, pWal uintptr, __ccgo_fp_xUndo uintptr, pUndoCtx uintptr) (r int32) {
var iFrame, iMax TPgno
var rc int32
_, _, _ = iFrame, iMax, rc
@@ -44413,7 +39704,7 @@ func _sqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt
** page 1 is never written to the log until the transaction is
** committed. As a result, the call to xUndo may not fail.
*/
- rc = (*(*func(*libc.TLS, uintptr, TPgno) int32)(unsafe.Pointer(&struct{ uintptr }{xUndo})))(tls, pUndoCtx, _walFramePgno(tls, pWal, iFrame))
+ rc = (*(*func(*libc.TLS, uintptr, TPgno) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xUndo})))(tls, pUndoCtx, _walFramePgno(tls, pWal, iFrame))
goto _1
_1:
;
@@ -44741,7 +40032,7 @@ func _walFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTrunc
}
}
if libc.Int32FromUint32((*TWal)(unsafe.Pointer(pWal)).FszPage) != szPage {
- return _sqlite3CorruptError(tls, int32(69981)) /* TH3 test case: cov1/corrupt155.test */
+ return _sqlite3CorruptError(tls, int32(69983)) /* TH3 test case: cov1/corrupt155.test */
}
/* Setup information needed to write frames into the WAL */
(*(*TWalWriter)(unsafe.Pointer(bp))).FpWal = pWal
@@ -44922,7 +40213,7 @@ func _sqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr,
// ** If parameter xBusy is not NULL, it is a pointer to a busy-handler
// ** callback. In this case this function runs a blocking checkpoint.
// */
-func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) (r int32) {
+func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, __ccgo_fp_xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var eMode2, rc, v1 int32
@@ -44931,7 +40222,7 @@ func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
_, _, _, _ = eMode2, rc, xBusy2, v1 /* Return code */
*(*int32)(unsafe.Pointer(bp)) = 0 /* True if a new wal-index header is loaded */
eMode2 = eMode /* Mode to pass to walCheckpoint() */
- xBusy2 = xBusy /* Busy handler for eMode2 */
+ xBusy2 = __ccgo_fp_xBusy /* Busy handler for eMode2 */
/* EVIDENCE-OF: R-62920-47450 The busy-handler callback is never invoked
** in the SQLITE_CHECKPOINT_PASSIVE mode. */
if (*TWal)(unsafe.Pointer(pWal)).FreadOnly != 0 {
@@ -44983,14 +40274,14 @@ func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
rc = _walIndexReadHdr(tls, pWal, bp)
if eMode2 != SQLITE_CHECKPOINT_PASSIVE {
}
- if *(*int32)(unsafe.Pointer(bp)) != 0 && (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TWal)(unsafe.Pointer(pWal)).FpDbFd)).FpMethods)).FiVersion >= int32(3) {
+ if *(*int32)(unsafe.Pointer(bp)) != 0 && (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TWal)(unsafe.Pointer(pWal)).FpDbFd)).FpMethods)).FiVersion >= int32(3) {
_sqlite3OsUnfetch(tls, (*TWal)(unsafe.Pointer(pWal)).FpDbFd, 0, uintptr(0))
}
}
/* Copy data from the log to the database file. */
if rc == SQLITE_OK {
if (*TWal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && _walPagesize(tls, pWal) != nBuf {
- rc = _sqlite3CorruptError(tls, int32(70241))
+ rc = _sqlite3CorruptError(tls, int32(70243))
} else {
rc = _walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
}
@@ -45536,288 +40827,6 @@ type TCellInfo = struct {
type CellInfo = TCellInfo
-/*
-** This is a magic string that appears at the beginning of every
-** SQLite database in order to identify the file as a real database.
-**
-** You can change this value at compile-time by specifying a
-** -DSQLITE_FILE_HEADER="..." on the compiler command-line. The
-** header must be exactly 16 bytes including the zero-terminator so
-** the string itself should be 15 characters long. If you change
-** the header, then your custom library will not be able to read
-** databases generated by the standard tools and the standard tools
-** will not be able to read databases created by your custom library.
- */
-
-/*
-** Page type flags. An ORed combination of these flags appear as the
-** first byte of on-disk image of every BTree page.
- */
-
-/*
-** An instance of this object stores information about each a single database
-** page that has been loaded into memory. The information in this object
-** is derived from the raw on-disk page content.
-**
-** As each database page is loaded into memory, the pager allocates an
-** instance of this object and zeros the first 8 bytes. (This is the
-** "extra" information associated with each page of the pager.)
-**
-** Access to all fields of this structure is controlled by the mutex
-** stored in MemPage.pBt->mutex.
- */
-type TMemPage1 = struct {
- FisInit Tu8
- FintKey Tu8
- FintKeyLeaf Tu8
- Fpgno TPgno
- Fleaf Tu8
- FhdrOffset Tu8
- FchildPtrSize Tu8
- Fmax1bytePayload Tu8
- FnOverflow Tu8
- FmaxLocal Tu16
- FminLocal Tu16
- FcellOffset Tu16
- FnFree int32
- FnCell Tu16
- FmaskPage Tu16
- FaiOvfl [4]Tu16
- FapOvfl [4]uintptr
- FpBt uintptr
- FaData uintptr
- FaDataEnd uintptr
- FaCellIdx uintptr
- FaDataOfst uintptr
- FpDbPage uintptr
- FxCellSize uintptr
- FxParseCell uintptr
-}
-
-type MemPage1 = TMemPage1
-
-/*
-** A linked list of the following structures is stored at BtShared.pLock.
-** Locks are added (or upgraded from READ_LOCK to WRITE_LOCK) when a cursor
-** is opened on the table with root page BtShared.iTable. Locks are removed
-** from this list when a transaction is committed or rolled back, or when
-** a btree handle is closed.
- */
-type TBtLock1 = struct {
- FpBtree uintptr
- FiTable TPgno
- FeLock Tu8
- FpNext uintptr
-}
-
-type BtLock1 = TBtLock1
-
-/* Candidate values for BtLock.eLock */
-
-/* A Btree handle
-**
-** A database connection contains a pointer to an instance of
-** this object for every database file that it has open. This structure
-** is opaque to the database connection. The database connection cannot
-** see the internals of this structure and only deals with pointers to
-** this structure.
-**
-** For some database files, the same underlying database cache might be
-** shared between multiple connections. In that case, each connection
-** has it own instance of this object. But each instance of this object
-** points to the same BtShared object. The database cache and the
-** schema associated with the database file are all contained within
-** the BtShared object.
-**
-** All fields in this structure are accessed under sqlite3.mutex.
-** The pBt pointer itself may not be changed while there exists cursors
-** in the referenced BtShared that point back to this Btree since those
-** cursors have to go through this Btree to find their BtShared and
-** they often do so without holding sqlite3.mutex.
- */
-type TBtree1 = struct {
- Fdb uintptr
- FpBt uintptr
- FinTrans Tu8
- Fsharable Tu8
- Flocked Tu8
- FhasIncrblobCur Tu8
- FwantToLock int32
- FnBackup int32
- FiBDataVersion Tu32
- FpNext uintptr
- FpPrev uintptr
- Flock TBtLock
-}
-
-type Btree1 = TBtree1
-
-/*
-** Btree.inTrans may take one of the following values.
-**
-** If the shared-data extension is enabled, there may be multiple users
-** of the Btree structure. At most one of these may open a write transaction,
-** but any number may have active read transactions.
-**
-** These values must match SQLITE_TXN_NONE, SQLITE_TXN_READ, and
-** SQLITE_TXN_WRITE
- */
-
-/*
-** An instance of this object represents a single database file.
-**
-** A single database file can be in use at the same time by two
-** or more database connections. When two or more connections are
-** sharing the same database file, each connection has it own
-** private Btree object for the file and each of those Btrees points
-** to this one BtShared object. BtShared.nRef is the number of
-** connections currently sharing this database file.
-**
-** Fields in this structure are accessed under the BtShared.mutex
-** mutex, except for nRef and pNext which are accessed under the
-** global SQLITE_MUTEX_STATIC_MAIN mutex. The pPager field
-** may not be modified once it is initially set as long as nRef>0.
-** The pSchema field may be set once under BtShared.mutex and
-** thereafter is unchanged as long as nRef>0.
-**
-** isPending:
-**
-** If a BtShared client fails to obtain a write-lock on a database
-** table (because there exists one or more read-locks on the table),
-** the shared-cache enters 'pending-lock' state and isPending is
-** set to true.
-**
-** The shared-cache leaves the 'pending lock' state when either of
-** the following occur:
-**
-** 1) The current writer (BtShared.pWriter) concludes its transaction, OR
-** 2) The number of locks held by other connections drops to zero.
-**
-** while in the 'pending-lock' state, no connection may start a new
-** transaction.
-**
-** This feature is included to help prevent writer-starvation.
- */
-type TBtShared1 = struct {
- FpPager uintptr
- Fdb uintptr
- FpCursor uintptr
- FpPage1 uintptr
- FopenFlags Tu8
- FautoVacuum Tu8
- FincrVacuum Tu8
- FbDoTruncate Tu8
- FinTransaction Tu8
- Fmax1bytePayload Tu8
- FnReserveWanted Tu8
- FbtsFlags Tu16
- FmaxLocal Tu16
- FminLocal Tu16
- FmaxLeaf Tu16
- FminLeaf Tu16
- FpageSize Tu32
- FusableSize Tu32
- FnTransaction int32
- FnPage Tu32
- FpSchema uintptr
- FxFreeSchema uintptr
- Fmutex uintptr
- FpHasContent uintptr
- FnRef int32
- FpNext uintptr
- FpLock uintptr
- FpWriter uintptr
- FpTmpSpace uintptr
- FnPreformatSize int32
-}
-
-type BtShared1 = TBtShared1
-
-/*
-** Allowed values for BtShared.btsFlags
- */
-
-/*
-** An instance of the following structure is used to hold information
-** about a cell. The parseCellPtr() function fills in this structure
-** based on information extract from the raw disk page.
- */
-type TCellInfo1 = struct {
- FnKey Ti64
- FpPayload uintptr
- FnPayload Tu32
- FnLocal Tu16
- FnSize Tu16
-}
-
-type CellInfo1 = TCellInfo1
-
-/*
-** Maximum depth of an SQLite B-Tree structure. Any B-Tree deeper than
-** this will be declared corrupt. This value is calculated based on a
-** maximum database size of 2^31 pages a minimum fanout of 2 for a
-** root-node and 3 for all other internal nodes.
-**
-** If a tree that appears to be taller than this is encountered, it is
-** assumed that the database is corrupt.
- */
-
-/*
-** Maximum amount of storage local to a database page, regardless of
-** page size.
- */
-
-/*
-** A cursor is a pointer to a particular entry within a particular
-** b-tree within a database file.
-**
-** The entry is identified by its MemPage and the index in
-** MemPage.aCell[] of the entry.
-**
-** A single database file can be shared by two more database connections,
-** but cursors cannot be shared. Each cursor is associated with a
-** particular database connection identified BtCursor.pBtree.db.
-**
-** Fields in this structure are accessed under the BtShared.mutex
-** found at self->pBt->mutex.
-**
-** skipNext meaning:
-** The meaning of skipNext depends on the value of eState:
-**
-** eState Meaning of skipNext
-** VALID skipNext is meaningless and is ignored
-** INVALID skipNext is meaningless and is ignored
-** SKIPNEXT sqlite3BtreeNext() is a no-op if skipNext>0 and
-** sqlite3BtreePrevious() is no-op if skipNext<0.
-** REQUIRESEEK restoreCursorPosition() restores the cursor to
-** eState=SKIPNEXT if skipNext!=0
-** FAULT skipNext holds the cursor fault error code.
- */
-type TBtCursor1 = struct {
- FeState Tu8
- FcurFlags Tu8
- FcurPagerFlags Tu8
- Fhints Tu8
- FskipNext int32
- FpBtree uintptr
- FaOverflow uintptr
- FpKey uintptr
- FpBt uintptr
- FpNext uintptr
- Finfo TCellInfo
- FnKey Ti64
- FpgnoRoot TPgno
- FiPage Ti8
- FcurIntKey Tu8
- Fix Tu16
- FaiIdx [19]Tu16
- FpKeyInfo uintptr
- FpPage uintptr
- FapPage [19]uintptr
-}
-
-type BtCursor1 = TBtCursor1
-
/*
** Legal values for BtCursor.curFlags
*/
@@ -45950,27 +40959,6 @@ type TIntegrityCk = struct {
type IntegrityCk = TIntegrityCk
-type TIntegrityCk1 = struct {
- FpBt uintptr
- FpPager uintptr
- FaPgRef uintptr
- FnCkPage TPgno
- FmxErr int32
- FnErr int32
- Frc int32
- FnStep Tu32
- FzPfx uintptr
- Fv0 TPgno
- Fv1 TPgno
- Fv2 int32
- FerrMsg TStrAccum
- Fheap uintptr
- Fdb uintptr
- FnRow Ti64
-}
-
-type IntegrityCk1 = TIntegrityCk1
-
/*
** Routines to read or write a two- and four-byte big-endian integer values.
*/
@@ -46853,11 +41841,11 @@ func _btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey Ti64, bias int
}
_sqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
if libc.Int32FromUint16((*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || libc.Int32FromUint16((*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > libc.Int32FromUint16((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
- rc = _sqlite3CorruptError(tls, int32(72429))
+ rc = _sqlite3CorruptError(tls, int32(72431))
} else {
rc = _sqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
}
- _sqlite3DbFree(tls, (*TKeyInfo1)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo)).Fdb, pIdxKey)
+ _sqlite3DbFree(tls, (*TKeyInfo)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo)).Fdb, pIdxKey)
} else {
pIdxKey = uintptr(0)
rc = _sqlite3BtreeTableMoveto(tls, pCur, nKey, bias, pRes)
@@ -47031,7 +42019,7 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno,
}
/* The super-journal page number must never be used as a pointer map page */
if key == uint32(0) {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72627))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72629))
return
}
iPtrmap = _ptrmapPageno(tls, pBt, key)
@@ -47044,12 +42032,12 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno,
/* The first byte of the extra data is the MemPage.isInit byte.
** If that byte is set, it means this page is also being used
** as a btree page. */
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72640))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72642))
goto ptrmap_exit
}
offset = libc.Int32FromUint32(libc.Uint32FromInt32(5) * (key - iPtrmap - libc.Uint32FromInt32(1)))
if offset < 0 {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72645))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72647))
goto ptrmap_exit
}
pPtrmap = _sqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp)))
@@ -47093,7 +42081,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin
offset = libc.Int32FromUint32(libc.Uint32FromInt32(5) * (key - libc.Uint32FromInt32(iPtrmap) - libc.Uint32FromInt32(1)))
if offset < 0 {
_sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
- return _sqlite3CorruptError(tls, int32(72690))
+ return _sqlite3CorruptError(tls, int32(72692))
}
*(*Tu8)(unsafe.Pointer(pEType)) = *(*Tu8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
if pPgno != 0 {
@@ -47101,7 +42089,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin
}
_sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(pEType))) < int32(1) || libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(pEType))) > int32(5) {
- return _sqlite3CorruptError(tls, int32(72698))
+ return _sqlite3CorruptError(tls, int32(72700))
}
return SQLITE_OK
}
@@ -47521,7 +42509,7 @@ func _ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr
(*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp)
if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload {
if uint32(pCell) < uint32((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) && uint32(pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal)) > uint32((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(73143))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(73145))
return
}
ovfl = _sqlite3Get4byte(tls, pCell+uintptr(libc.Int32FromUint16((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-int32(4)))
@@ -47561,12 +42549,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) <= nMaxFrag {
iFree = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(1)))))< usableSize-int32(4) {
- return _sqlite3CorruptError(tls, int32(73201))
+ return _sqlite3CorruptError(tls, int32(73203))
}
if iFree != 0 {
iFree2 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree))))< usableSize-int32(4) {
- return _sqlite3CorruptError(tls, int32(73204))
+ return _sqlite3CorruptError(tls, int32(73206))
}
if 0 == iFree2 || libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2)))) == 0 && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(1))))) == 0 {
pEnd = data + uintptr(cellOffset+nCell*int32(2))
@@ -47574,21 +42562,21 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
sz = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree+int32(2)))))<= iFree {
- return _sqlite3CorruptError(tls, int32(73212))
+ return _sqlite3CorruptError(tls, int32(73214))
}
if iFree2 != 0 {
if iFree+sz > iFree2 {
- return _sqlite3CorruptError(tls, int32(73215))
+ return _sqlite3CorruptError(tls, int32(73217))
}
sz2 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree2+int32(2)))))< usableSize {
- return _sqlite3CorruptError(tls, int32(73217))
+ return _sqlite3CorruptError(tls, int32(73219))
}
libc.Xmemmove(tls, data+uintptr(iFree+sz+sz2), data+uintptr(iFree+sz), libc.Uint32FromInt32(iFree2-(iFree+sz)))
sz += sz2
} else {
if iFree+sz > usableSize {
- return _sqlite3CorruptError(tls, int32(73221))
+ return _sqlite3CorruptError(tls, int32(73223))
}
}
cbrk = top + sz
@@ -47635,12 +42623,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
** if PRAGMA cell_size_check=ON.
*/
if pc > iCellLast {
- return _sqlite3CorruptError(tls, int32(73254))
+ return _sqlite3CorruptError(tls, int32(73256))
}
size = libc.Int32FromUint16((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, src+uintptr(pc)))
cbrk -= size
if cbrk < iCellStart || pc+size > usableSize {
- return _sqlite3CorruptError(tls, int32(73260))
+ return _sqlite3CorruptError(tls, int32(73262))
}
*(*Tu8)(unsafe.Pointer(pAddr1)) = libc.Uint8FromInt32(cbrk >> libc.Int32FromInt32(8))
*(*Tu8)(unsafe.Pointer(pAddr1 + 1)) = libc.Uint8FromInt32(cbrk)
@@ -47656,7 +42644,7 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
defragment_out:
;
if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7)))))+cbrk-iCellFirst != (*TMemPage)(unsafe.Pointer(pPage)).FnFree {
- return _sqlite3CorruptError(tls, int32(73274))
+ return _sqlite3CorruptError(tls, int32(73276))
}
*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)))) = libc.Uint8FromInt32(cbrk >> libc.Int32FromInt32(8))
*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(5)) + 1)) = libc.Uint8FromInt32(cbrk)
@@ -47716,7 +42704,7 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint
} else {
if x+pc > maxPC {
/* This slot extends off the end of the usable part of the page */
- *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73331))
+ *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73333))
return uintptr(0)
} else {
/* The slot remains on the free-list. Reduce its size to account
@@ -47733,14 +42721,14 @@ func _pageFindSlot(tls *libc.TLS, pPg uintptr, nByte int32, pRc uintptr) (r uint
if pc <= iAddr {
if pc != 0 {
/* The next slot in the chain comes before the current slot */
- *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73346))
+ *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73348))
}
return uintptr(0)
}
}
if pc > maxPC+nByte-int32(4) {
/* The free slot chain extends off the end of the page */
- *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73353))
+ *(*int32)(unsafe.Pointer(pRc)) = _sqlite3CorruptError(tls, int32(73355))
}
return uintptr(0)
}
@@ -47783,11 +42771,11 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r
if top == 0 && (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize == uint32(65536) {
top = int32(65536)
} else {
- return _sqlite3CorruptError(tls, int32(73401))
+ return _sqlite3CorruptError(tls, int32(73403))
}
} else {
if top > libc.Int32FromUint32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(73404))
+ return _sqlite3CorruptError(tls, int32(73406))
}
}
/* If there is enough space between gap and top for one more cell pointer,
@@ -47801,7 +42789,7 @@ func _allocateSpace(tls *libc.TLS, pPage uintptr, nByte int32, pIdx uintptr) (r
g2 = v1
*(*int32)(unsafe.Pointer(pIdx)) = v1
if g2 <= gap {
- return _sqlite3CorruptError(tls, int32(73421))
+ return _sqlite3CorruptError(tls, int32(73423))
} else {
return SQLITE_OK
}
@@ -47882,12 +42870,12 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
if iFreeBlk == 0 {
break
} /* TH3: corrupt082.100 */
- return _sqlite3CorruptError(tls, int32(73500))
+ return _sqlite3CorruptError(tls, int32(73502))
}
iPtr = iFreeBlk
}
if iFreeBlk > libc.Int32FromUint32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize)-int32(4) { /* TH3: corrupt081.100 */
- return _sqlite3CorruptError(tls, int32(73505))
+ return _sqlite3CorruptError(tls, int32(73507))
}
/* At this point:
** iFreeBlk: First freeblock after iStart, or zero if none
@@ -47898,11 +42886,11 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
if iFreeBlk != 0 && iEnd+int32(3) >= iFreeBlk {
nFrag = iFreeBlk - iEnd
if iEnd > iFreeBlk {
- return _sqlite3CorruptError(tls, int32(73517))
+ return _sqlite3CorruptError(tls, int32(73519))
}
iEnd = iFreeBlk + (libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk+int32(2)))))< libc.Int32FromUint32((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(73520))
+ return _sqlite3CorruptError(tls, int32(73522))
}
iSize = iEnd - iStart
iFreeBlk = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFreeBlk))))<= iStart {
if iPtrEnd > iStart {
- return _sqlite3CorruptError(tls, int32(73533))
+ return _sqlite3CorruptError(tls, int32(73535))
}
nFrag += iStart - iPtrEnd
iSize = iEnd - iPtr
@@ -47923,7 +42911,7 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
}
}
if nFrag > libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(libc.Int32FromUint8(hdr)+int32(7))))) {
- return _sqlite3CorruptError(tls, int32(73539))
+ return _sqlite3CorruptError(tls, int32(73541))
}
p2 = data + uintptr(libc.Int32FromUint8(hdr)+int32(7))
*(*uint8)(unsafe.Pointer(p2)) = uint8(int32(*(*uint8)(unsafe.Pointer(p2))) - libc.Int32FromUint8(libc.Uint8FromInt32(nFrag)))
@@ -47940,10 +42928,10 @@ func _freeSpace(tls *libc.TLS, pPage uintptr, iStart int32, iSize int32) (r int3
** so just extend the cell content area rather than create another
** freelist entry */
if iStart < x {
- return _sqlite3CorruptError(tls, int32(73553))
+ return _sqlite3CorruptError(tls, int32(73555))
}
if iPtr != libc.Int32FromUint8(hdr)+int32(1) {
- return _sqlite3CorruptError(tls, int32(73554))
+ return _sqlite3CorruptError(tls, int32(73556))
}
*(*uint8)(unsafe.Pointer(data + uintptr(libc.Int32FromUint8(hdr)+int32(1)))) = libc.Uint8FromInt32(iFreeBlk >> libc.Int32FromInt32(8))
*(*uint8)(unsafe.Pointer(data + uintptr(libc.Int32FromUint8(hdr)+int32(1)) + 1)) = libc.Uint8FromInt32(iFreeBlk)
@@ -48004,7 +42992,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0)
(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtrIdxLeaf)
(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex)
- return _sqlite3CorruptError(tls, int32(73609))
+ return _sqlite3CorruptError(tls, int32(73611))
}
}
} else {
@@ -48030,7 +43018,7 @@ func _decodeFlags(tls *libc.TLS, pPage uintptr, flagByte int32) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FintKeyLeaf = uint8(0)
(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize = __ccgo_fp(_cellSizePtr)
(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell = __ccgo_fp(_btreeParseCellPtrIndex)
- return _sqlite3CorruptError(tls, int32(73633))
+ return _sqlite3CorruptError(tls, int32(73635))
}
}
}
@@ -48069,12 +43057,12 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) {
/* EVIDENCE-OF: R-55530-52930 In a well-formed b-tree page, there will
** always be at least one cell before the first freeblock.
*/
- return _sqlite3CorruptError(tls, int32(73684))
+ return _sqlite3CorruptError(tls, int32(73686))
}
for int32(1) != 0 {
if pc > iCellLast {
/* Freeblock off the end of the page */
- return _sqlite3CorruptError(tls, int32(73689))
+ return _sqlite3CorruptError(tls, int32(73691))
}
next = libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(data + uintptr(pc))))< uint32(0) {
/* Freeblock not in ascending order */
- return _sqlite3CorruptError(tls, int32(73699))
+ return _sqlite3CorruptError(tls, int32(73701))
}
if libc.Uint32FromInt32(pc)+size > libc.Uint32FromInt32(usableSize) {
/* Last freeblock extends past page end */
- return _sqlite3CorruptError(tls, int32(73703))
+ return _sqlite3CorruptError(tls, int32(73705))
}
}
/* At this point, nFree contains the sum of the offset to the start
@@ -48101,7 +43089,7 @@ func _btreeComputeFreeSpace(tls *libc.TLS, pPage uintptr) (r int32) {
** area, according to the page header, lies within the page.
*/
if nFree > usableSize || nFree < iCellFirst {
- return _sqlite3CorruptError(tls, int32(73715))
+ return _sqlite3CorruptError(tls, int32(73717))
}
(*TMemPage)(unsafe.Pointer(pPage)).FnFree = libc.Int32FromUint16(libc.Uint16FromInt32(nFree - iCellFirst))
return SQLITE_OK
@@ -48132,11 +43120,11 @@ func _btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) (r int32) {
}
pc = libc.Int32FromUint16(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer(data + uintptr(cellOffset+i*int32(2))))))
if pc < iCellFirst || pc > iCellLast {
- return _sqlite3CorruptError(tls, int32(73746))
+ return _sqlite3CorruptError(tls, int32(73748))
}
sz = libc.Int32FromUint16((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxCellSize})))(tls, pPage, data+uintptr(pc)))
if pc+sz > usableSize {
- return _sqlite3CorruptError(tls, int32(73751))
+ return _sqlite3CorruptError(tls, int32(73753))
}
goto _1
_1:
@@ -48165,7 +43153,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) {
/* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating
** the b-tree page type. */
if _decodeFlags(tls, pPage, libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(data)))) != 0 {
- return _sqlite3CorruptError(tls, int32(73783))
+ return _sqlite3CorruptError(tls, int32(73785))
}
(*TMemPage)(unsafe.Pointer(pPage)).FmaskPage = uint16((*TBtShared)(unsafe.Pointer(pBt)).FpageSize - libc.Uint32FromInt32(1))
(*TMemPage)(unsafe.Pointer(pPage)).FnOverflow = uint8(0)
@@ -48178,7 +43166,7 @@ func _btreeInitPage(tls *libc.TLS, pPage uintptr) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FnCell = libc.Uint16FromInt32(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(data + 3)))< ((*TBtShared)(unsafe.Pointer(pBt)).FpageSize-uint32(8))/uint32(6) {
/* To many cells for a single page. The page must be corrupt */
- return _sqlite3CorruptError(tls, int32(73797))
+ return _sqlite3CorruptError(tls, int32(73799))
}
/* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only
** possible for a root page of a table that contains no rows) then the
@@ -48329,7 +43317,7 @@ func _getAndInitPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr, bRe
_, _ = pPage, rc
if pgno > _btreePagecount(tls, pBt) {
*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
- return _sqlite3CorruptError(tls, int32(73940))
+ return _sqlite3CorruptError(tls, int32(73942))
}
rc = _sqlite3PagerGet(tls, (*TBtShared)(unsafe.Pointer(pBt)).FpPager, pgno, bp, bReadOnly)
if rc != 0 {
@@ -48391,7 +43379,7 @@ func _btreeGetUnusedPage(tls *libc.TLS, pBt uintptr, pgno TPgno, ppPage uintptr,
if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FpDbPage) > int32(1) {
_releasePage(tls, *(*uintptr)(unsafe.Pointer(ppPage)))
*(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0)
- return _sqlite3CorruptError(tls, int32(74012))
+ return _sqlite3CorruptError(tls, int32(74014))
}
(*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppPage)))).FisInit = uint8(0)
} else {
@@ -49303,7 +44291,7 @@ func _lockBtree(tls *libc.TLS, pBt uintptr) (r int32) {
}
if nPage > *(*Tu32)(unsafe.Pointer(bp + 4)) {
if _sqlite3WritableSchema(tls, (*TBtShared)(unsafe.Pointer(pBt)).Fdb) == 0 {
- rc = _sqlite3CorruptError(tls, int32(74950))
+ rc = _sqlite3CorruptError(tls, int32(74952))
goto page1_init_failed
} else {
nPage = *(*Tu32)(unsafe.Pointer(bp + 4))
@@ -49744,7 +44732,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
if libc.Int32FromUint8(eType) == int32(PTRMAP_OVERFLOW2) {
/* The pointer is always the first 4 bytes of the page in this case. */
if _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData) != iFrom {
- return _sqlite3CorruptError(tls, int32(75405))
+ return _sqlite3CorruptError(tls, int32(75407))
}
_sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData, iTo)
} else {
@@ -49768,7 +44756,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
(*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp)
if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload {
if pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(75424))
+ return _sqlite3CorruptError(tls, int32(75426))
}
if iFrom == _sqlite3Get4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4)) {
_sqlite3Put4byte(tls, pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-uintptr(4), iTo)
@@ -49777,7 +44765,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
}
} else {
if pCell+uintptr(4) > (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize) {
- return _sqlite3CorruptError(tls, int32(75433))
+ return _sqlite3CorruptError(tls, int32(75435))
}
if _sqlite3Get4byte(tls, pCell) == iFrom {
_sqlite3Put4byte(tls, pCell, iTo)
@@ -49791,7 +44779,7 @@ func _modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom TPgno, iTo TPgno, eT
}
if i == nCell {
if libc.Int32FromUint8(eType) != int32(PTRMAP_BTREE) || _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8))) != iFrom {
- return _sqlite3CorruptError(tls, int32(75445))
+ return _sqlite3CorruptError(tls, int32(75447))
}
_sqlite3Put4byte(tls, (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr(libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+int32(8)), iTo)
}
@@ -49821,7 +44809,7 @@ func _relocatePage(tls *libc.TLS, pBt uintptr, pDbPage uintptr, eType Tu8, iPtrP
iDbPage = (*TMemPage)(unsafe.Pointer(pDbPage)).Fpgno
pPager = (*TBtShared)(unsafe.Pointer(pBt)).FpPager
if iDbPage < uint32(3) {
- return _sqlite3CorruptError(tls, int32(75480))
+ return _sqlite3CorruptError(tls, int32(75482))
}
/* Move page iDbPage from its current location to page number iFreePage */
*(*int32)(unsafe.Pointer(bp + 4)) = _sqlite3PagerMovepage(tls, pPager, (*TMemPage)(unsafe.Pointer(pDbPage)).FpDbPage, iFreePage, isCommit)
@@ -49917,7 +44905,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom
return rc
}
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_ROOTPAGE) {
- return _sqlite3CorruptError(tls, int32(75578))
+ return _sqlite3CorruptError(tls, int32(75580))
}
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp))) == int32(PTRMAP_FREEPAGE) {
if bCommit == 0 {
@@ -49955,7 +44943,7 @@ func _incrVacuumStep(tls *libc.TLS, pBt uintptr, nFin TPgno, iLastPg TPgno, bCom
_releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
if *(*TPgno)(unsafe.Pointer(bp + 16)) > dbSize {
_releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 20)))
- return _sqlite3CorruptError(tls, int32(75630))
+ return _sqlite3CorruptError(tls, int32(75632))
}
}
rc = _relocatePage(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 20)), *(*Tu8)(unsafe.Pointer(bp)), *(*TPgno)(unsafe.Pointer(bp + 4)), *(*TPgno)(unsafe.Pointer(bp + 16)), bCommit)
@@ -50022,7 +45010,7 @@ func _sqlite3BtreeIncrVacuum(tls *libc.TLS, p uintptr) (r int32) {
nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
nFin = _finalDbSize(tls, pBt, nOrig, nFree)
if nOrig < nFin || nFree >= nOrig {
- rc = _sqlite3CorruptError(tls, int32(75698))
+ rc = _sqlite3CorruptError(tls, int32(75700))
} else {
if nFree > uint32(0) {
rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -50065,7 +45053,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) {
** is either a pointer-map page or the pending-byte page. If one
** is encountered, this indicates corruption.
*/
- return _sqlite3CorruptError(tls, int32(75749))
+ return _sqlite3CorruptError(tls, int32(75751))
}
nFree = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer((*TBtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36)
db = (*TBtree)(unsafe.Pointer(p)).Fdb
@@ -50095,7 +45083,7 @@ func _autoVacuumCommit(tls *libc.TLS, p uintptr) (r int32) {
}
nFin = _finalDbSize(tls, pBt, nOrig, nVac)
if nFin > nOrig {
- return _sqlite3CorruptError(tls, int32(75776))
+ return _sqlite3CorruptError(tls, int32(75778))
}
if nFin < nOrig {
rc = _saveAllCursors(tls, pBt, uint32(0), uintptr(0))
@@ -50561,7 +45549,7 @@ func _btreeCursor(tls *libc.TLS, p uintptr, iTable TPgno, wrFlag int32, pKeyInfo
/* Assert that the caller has opened the required transaction. */
if iTable <= uint32(1) {
if iTable < uint32(1) {
- return _sqlite3CorruptError(tls, int32(76240))
+ return _sqlite3CorruptError(tls, int32(76242))
} else {
if _btreePagecount(tls, pBt) == uint32(0) {
iTable = uint32(0)
@@ -50953,7 +45941,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
pBt = (*TBtCursor)(unsafe.Pointer(pCur)).FpBt /* Btree this cursor belongs to */
pBufStart = pBuf /* Start of original out buffer */
if libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Fix) >= libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) {
- return _sqlite3CorruptError(tls, int32(76664))
+ return _sqlite3CorruptError(tls, int32(76666))
}
_getCellInfo(tls, pCur)
aPayload = (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload
@@ -50963,7 +45951,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize]
** but is recast into its current form to avoid integer overflow problems
*/
- return _sqlite3CorruptError(tls, int32(76679))
+ return _sqlite3CorruptError(tls, int32(76681))
}
/* Check if data must be read/written to/from the btree page itself. */
if offset < uint32((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) {
@@ -51020,7 +46008,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
for *(*TPgno)(unsafe.Pointer(bp)) != 0 {
/* If required, populate the overflow page-list cache. */
if *(*TPgno)(unsafe.Pointer(bp)) > (*TBtShared)(unsafe.Pointer(pBt)).FnPage {
- return _sqlite3CorruptError(tls, int32(76750))
+ return _sqlite3CorruptError(tls, int32(76752))
}
*(*TPgno)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FaOverflow + uintptr(iIdx)*4)) = *(*TPgno)(unsafe.Pointer(bp))
if offset >= ovflSize {
@@ -51094,7 +46082,7 @@ func _accessPayload(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32, pBuf uin
}
if rc == SQLITE_OK && amt > uint32(0) {
/* Overflow chain ends prematurely */
- return _sqlite3CorruptError(tls, int32(76834))
+ return _sqlite3CorruptError(tls, int32(76836))
}
return rc
}
@@ -51229,7 +46217,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) {
var v3, p1 uintptr
_, _, _, _ = rc, v2, v3, p1
if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) {
- return _sqlite3CorruptError(tls, int32(76972))
+ return _sqlite3CorruptError(tls, int32(76974))
}
(*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0)
p1 = pCur + 1
@@ -51241,7 +46229,7 @@ func _moveToChild(tls *libc.TLS, pCur uintptr, newPgno Tu32) (r int32) {
rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, newPgno, pCur+108, libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags))
if rc == SQLITE_OK && (libc.Int32FromUint16((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || libc.Int32FromUint8((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) {
_releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage)
- rc = _sqlite3CorruptError(tls, int32(76986))
+ rc = _sqlite3CorruptError(tls, int32(76988))
}
if rc != 0 {
v3 = pCur + 60
@@ -51357,7 +46345,7 @@ func _moveToRoot(tls *libc.TLS, pCur uintptr) (r int32) {
** in such a way that page pRoot is linked into a second b-tree table
** (or the freelist). */
if libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pRoot)).FisInit) == 0 || libc.BoolInt32((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo == uintptr(0)) != libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pRoot)).FintKey) {
- return _sqlite3CorruptError(tls, int32(77121))
+ return _sqlite3CorruptError(tls, int32(77123))
}
goto skip_init
skip_init:
@@ -51371,7 +46359,7 @@ skip_init:
} else {
if !((*TMemPage)(unsafe.Pointer(pRoot)).Fleaf != 0) {
if (*TMemPage)(unsafe.Pointer(pRoot)).Fpgno != uint32(1) {
- return _sqlite3CorruptError(tls, int32(77133))
+ return _sqlite3CorruptError(tls, int32(77135))
}
subpage = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pRoot)).FaData+uintptr(libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pRoot)).FhdrOffset)+int32(8)))
(*TBtCursor)(unsafe.Pointer(pCur)).FeState = uint8(CURSOR_VALID)
@@ -51605,7 +46593,7 @@ func _sqlite3BtreeTableMoveto(tls *libc.TLS, pCur uintptr, intKey Ti64, biasRigh
break
}
if pCell >= (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(77382))
+ return _sqlite3CorruptError(tls, int32(77384))
}
}
}
@@ -51689,7 +46677,7 @@ moveto_table_finish:
// ** This routine is part of an optimization. It is always safe to return
// ** a positive value as that will cause the optimization to be skipped.
// */
-func _indexCellCompare(tls *libc.TLS, pCur uintptr, idx int32, pIdxKey uintptr, xRecordCompare TRecordCompare) (r int32) {
+func _indexCellCompare(tls *libc.TLS, pCur uintptr, idx int32, pIdxKey uintptr, __ccgo_fp_xRecordCompare TRecordCompare) (r int32) {
var c, nCell, v1 int32
var pCell, pPage uintptr
var v2 bool
@@ -51701,7 +46689,7 @@ func _indexCellCompare(tls *libc.TLS, pCur uintptr, idx int32, pIdxKey uintptr,
/* This branch runs if the record-size field of the cell is a
** single byte varint and the record fits entirely on the main
** b-tree page. */
- c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xRecordCompare})))(tls, nCell, pCell+1, pIdxKey)
+ c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xRecordCompare})))(tls, nCell, pCell+1, pIdxKey)
} else {
if v2 = !(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(pCell + 1)))&libc.Int32FromInt32(0x80) != 0); v2 {
v1 = nCell&libc.Int32FromInt32(0x7f)< (*TBtShared)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpBt)).FnPage {
- rc = _sqlite3CorruptError(tls, int32(77665))
+ rc = _sqlite3CorruptError(tls, int32(77667))
goto moveto_index_finish
}
pCellKey = _sqlite3Malloc(tls, libc.Uint64FromInt32(nCell)+libc.Uint64FromInt32(nOverrun))
@@ -51903,7 +46891,7 @@ bypass_moveto_root:
rc = SQLITE_OK
(*TBtCursor)(unsafe.Pointer(pCur)).Fix = libc.Uint16FromInt32(idx)
if (*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FerrCode != 0 {
- rc = _sqlite3CorruptError(tls, int32(77697))
+ rc = _sqlite3CorruptError(tls, int32(77699))
}
goto moveto_index_finish
}
@@ -51936,7 +46924,7 @@ bypass_moveto_root:
p9 = pCur + 1
*(*Tu8)(unsafe.Pointer(p9)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p9))) & ^(libc.Int32FromInt32(BTCF_ValidNKey) | libc.Int32FromInt32(BTCF_ValidOvfl)))
if int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage) >= libc.Int32FromInt32(BTCURSOR_MAX_DEPTH)-libc.Int32FromInt32(1) {
- return _sqlite3CorruptError(tls, int32(77728))
+ return _sqlite3CorruptError(tls, int32(77730))
}
*(*Tu16)(unsafe.Pointer(pCur + 64 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*2)) = libc.Uint16FromInt32(lwr)
*(*uintptr)(unsafe.Pointer(pCur + 112 + uintptr((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)*4)) = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage
@@ -51945,7 +46933,7 @@ bypass_moveto_root:
rc = _getAndInitPage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpBt, chldPg, pCur+108, libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurPagerFlags))
if rc == SQLITE_OK && (libc.Int32FromUint16((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FnCell) < int32(1) || libc.Int32FromUint8((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpPage)).FintKey) != libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FcurIntKey)) {
_releasePage(tls, (*TBtCursor)(unsafe.Pointer(pCur)).FpPage)
- rc = _sqlite3CorruptError(tls, int32(77739))
+ rc = _sqlite3CorruptError(tls, int32(77741))
}
if rc != 0 {
v11 = pCur + 60
@@ -52074,7 +47062,7 @@ func _btreeNext(tls *libc.TLS, pCur uintptr) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0)
}
if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) {
- return _sqlite3CorruptError(tls, int32(77840))
+ return _sqlite3CorruptError(tls, int32(77842))
}
if idx >= libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) {
if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) {
@@ -52184,7 +47172,7 @@ func _btreePrevious(tls *libc.TLS, pCur uintptr) (r int32) {
(*TMemPage)(unsafe.Pointer(pPage)).FisInit = uint8(0)
}
if !((*TMemPage)(unsafe.Pointer(pPage)).FisInit != 0) {
- return _sqlite3CorruptError(tls, int32(77933))
+ return _sqlite3CorruptError(tls, int32(77935))
}
if !((*TMemPage)(unsafe.Pointer(pPage)).Fleaf != 0) {
idx = libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Fix)
@@ -52272,7 +47260,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
** stores the total number of pages on the freelist. */
n = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+36)
if n >= mxPage {
- return _sqlite3CorruptError(tls, int32(78023))
+ return _sqlite3CorruptError(tls, int32(78025))
}
if n > uint32(0) {
searchList = uint8(0) /* If the free-list must be searched for 'nearby' */
@@ -52327,7 +47315,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
nSearch++
}
if v2 || v1 > n {
- rc = _sqlite3CorruptError(tls, int32(78079))
+ rc = _sqlite3CorruptError(tls, int32(78081))
} else {
rc = _btreeGetUnusedPage(tls, pBt, iTrunk, bp, 0)
}
@@ -52353,7 +47341,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
} else {
if k > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/libc.Uint32FromInt32(4)-libc.Uint32FromInt32(2) {
/* Value of k is out of range. Database corruption */
- rc = _sqlite3CorruptError(tls, int32(78108))
+ rc = _sqlite3CorruptError(tls, int32(78110))
goto end_allocate_page
} else {
if searchList != 0 && (nearby == iTrunk || iTrunk < nearby && libc.Int32FromUint8(eMode) == int32(BTALLOC_LE)) {
@@ -52380,7 +47368,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
} else {
iNewTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+8)
if iNewTrunk > mxPage {
- rc = _sqlite3CorruptError(tls, int32(78142))
+ rc = _sqlite3CorruptError(tls, int32(78144))
goto end_allocate_page
}
rc = _btreeGetUnusedPage(tls, pBt, iNewTrunk, bp+8, 0)
@@ -52451,7 +47439,7 @@ func _allocateBtreePage(tls *libc.TLS, pBt uintptr, ppPage uintptr, pPgno uintpt
}
iPage = _sqlite3Get4byte(tls, aData+uintptr(uint32(8)+closest*uint32(4)))
if iPage > mxPage || iPage < uint32(2) {
- rc = _sqlite3CorruptError(tls, int32(78207))
+ rc = _sqlite3CorruptError(tls, int32(78209))
goto end_allocate_page
}
if !(searchList != 0) || (iPage == nearby || iPage < nearby && libc.Int32FromUint8(eMode) == int32(BTALLOC_LE)) {
@@ -52589,7 +47577,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in
iTrunk = uint32(0) /* Page number of free-list trunk page */
pPage1 = (*TBtShared)(unsafe.Pointer(pBt)).FpPage1 /* Initial number of pages on free-list */
if iPage < uint32(2) || iPage > (*TBtShared)(unsafe.Pointer(pBt)).FnPage {
- return _sqlite3CorruptError(tls, int32(78334))
+ return _sqlite3CorruptError(tls, int32(78336))
}
if pMemPage != 0 {
*(*uintptr)(unsafe.Pointer(bp + 4)) = pMemPage
@@ -52640,7 +47628,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in
if nFree != uint32(0) { /* Initial number of leaf cells on trunk page */
iTrunk = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(pPage1)).FaData+32)
if iTrunk > _btreePagecount(tls, pBt) {
- *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(78381))
+ *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(78383))
goto freepage_out
}
*(*int32)(unsafe.Pointer(bp + 8)) = _btreeGetPage(tls, pBt, iTrunk, bp, 0)
@@ -52649,7 +47637,7 @@ func _freePage2(tls *libc.TLS, pBt uintptr, pMemPage uintptr, iPage TPgno) (r in
}
nLeaf = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData+4)
if nLeaf > (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(2) {
- *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(78392))
+ *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(78394))
goto freepage_out
}
if nLeaf < (*TBtShared)(unsafe.Pointer(pBt)).FusableSize/uint32(4)-uint32(8) {
@@ -52739,7 +47727,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp
_, _, _, _, _, _, _, _ = nOvfl, ovflPageSize, ovflPgno, pBt, rc, v1, v2, v3
if pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd {
/* Cell extends past end of page */
- return _sqlite3CorruptError(tls, int32(78481))
+ return _sqlite3CorruptError(tls, int32(78483))
}
ovflPgno = _sqlite3Get4byte(tls, pCell+uintptr((*TCellInfo)(unsafe.Pointer(pInfo)).FnSize)-uintptr(4))
pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt
@@ -52757,7 +47745,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp
/* 0 is not a legal page number and page 1 cannot be an
** overflow page. Therefore if ovflPgno<2 or past the end of the
** file the database must be corrupt. */
- return _sqlite3CorruptError(tls, int32(78498))
+ return _sqlite3CorruptError(tls, int32(78500))
}
if nOvfl != 0 {
rc = _getOverflowPage(tls, pBt, ovflPgno, bp+4, bp)
@@ -52780,7 +47768,7 @@ func _clearCellOverflow(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintp
** caller is iterating through or using in some other way, this
** can be problematic.
*/
- rc = _sqlite3CorruptError(tls, int32(78518))
+ rc = _sqlite3CorruptError(tls, int32(78520))
} else {
rc = _freePage2(tls, pBt, *(*uintptr)(unsafe.Pointer(bp + 4)), ovflPgno)
}
@@ -53001,7 +47989,7 @@ func _dropCell(tls *libc.TLS, pPage uintptr, idx int32, sz int32, pRC uintptr) {
pc = libc.Uint32FromInt32(libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(ptr)))< (*TBtShared)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(78774))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(78776))
return
}
rc = _freeSpace(tls, pPage, libc.Int32FromUint32(pc), sz)
@@ -53295,17 +48283,6 @@ type TCellArray = struct {
type CellArray = TCellArray
-type TCellArray1 = struct {
- FnCell int32
- FpRef uintptr
- FapCell uintptr
- FszCell uintptr
- FapEnd [6]uintptr
- FixNx [6]int32
-}
-
-type CellArray1 = TCellArray1
-
// C documentation
//
// /*
@@ -53395,12 +48372,12 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
sz = *(*Tu16)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FszCell + uintptr(i)*2))
if uint32(pCell) >= uint32(aData+uintptr(j)) && uint32(pCell) < uint32(pEnd) {
if uint32(pCell+uintptr(sz)) > uint32(pEnd) {
- return _sqlite3CorruptError(tls, int32(79164))
+ return _sqlite3CorruptError(tls, int32(79166))
}
pCell = pTmp + uintptr(int32(pCell)-int32(aData))
} else {
if uint32(pCell+uintptr(sz)) > uint32(pSrcEnd) && uint32(pCell) < uint32(pSrcEnd) {
- return _sqlite3CorruptError(tls, int32(79169))
+ return _sqlite3CorruptError(tls, int32(79171))
}
}
pData -= uintptr(sz)
@@ -53408,7 +48385,7 @@ func _rebuildPage(tls *libc.TLS, pCArray uintptr, iFirst int32, nCell int32, pPg
*(*Tu8)(unsafe.Pointer(pCellptr + 1)) = libc.Uint8FromInt32(int32(pData) - int32(aData))
pCellptr += uintptr(2)
if pData < pCellptr {
- return _sqlite3CorruptError(tls, int32(79175))
+ return _sqlite3CorruptError(tls, int32(79177))
}
libc.Xmemmove(tls, pData, pCell, uint32(sz))
i++
@@ -53503,7 +48480,7 @@ func _pageInsertArray(tls *libc.TLS, pPg uintptr, pBegin uintptr, ppData uintptr
** database. But they might for a corrupt database. Hence use memmove()
** since memcpy() sends SIGABORT with overlapping buffers on OpenBSD */
if uint32(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))+uintptr(sz)) > uint32(pEnd) && uint32(*(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4))) < uint32(pEnd) {
- _sqlite3CorruptError(tls, int32(79262))
+ _sqlite3CorruptError(tls, int32(79264))
return int32(1)
}
libc.Xmemmove(tls, pSlot, *(*uintptr)(unsafe.Pointer((*TCellArray)(unsafe.Pointer(pCArray)).FapCell + uintptr(i)*4)), libc.Uint32FromInt32(sz))
@@ -53651,7 +48628,7 @@ func _editPage(tls *libc.TLS, pPg uintptr, iOld int32, iNew int32, nNew int32, p
if iOld < iNew {
nShift = _pageFreeArray(tls, pPg, iOld, iNew-iOld, pCArray)
if nShift > nCell {
- return _sqlite3CorruptError(tls, int32(79384))
+ return _sqlite3CorruptError(tls, int32(79386))
}
libc.Xmemmove(tls, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx, (*TMemPage)(unsafe.Pointer(pPg)).FaCellIdx+uintptr(nShift*int32(2)), libc.Uint32FromInt32(nCell*int32(2)))
nCell -= nShift
@@ -53722,7 +48699,7 @@ editpage_fail:
;
/* Unable to edit this page. Rebuild it from scratch instead. */
if nNew < int32(1) {
- return _sqlite3CorruptError(tls, int32(79462))
+ return _sqlite3CorruptError(tls, int32(79464))
}
_populateCellCache(tls, pCArray, iNew, nNew)
return _rebuildPage(tls, pCArray, iNew, nNew, pPg)
@@ -53767,7 +48744,7 @@ func _balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintpt
_, _, _, _, _, _, _ = pBt, pOut, pStop, v1, v2, v3, v4
pBt = (*TMemPage)(unsafe.Pointer(pPage)).FpBt /* Page number of pNew */
if libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) == 0 {
- return _sqlite3CorruptError(tls, int32(79502))
+ return _sqlite3CorruptError(tls, int32(79504))
} /* dbfuzz001.test */
/* Allocate a new page. This page will become the right-sibling of
** pPage. Make the parent page writable, so that the new divider cell
@@ -54131,7 +49108,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
** table-interior, index-leaf, or index-interior).
*/
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pOld)).FaData))) != libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer((*TMemPage)(unsafe.Pointer((*(*[3]uintptr)(unsafe.Pointer(bp + 4)))[0])).FaData))) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79926))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79928))
goto balance_cleanup
}
/* Load b.apCell[] with pointers to all cells in pOld. If pOld
@@ -54154,7 +49131,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
libc.Xmemset(tls, (*(*TCellArray)(unsafe.Pointer(bp + 68))).FszCell+uintptr((*(*TCellArray)(unsafe.Pointer(bp + 68))).FnCell)*2, 0, uint32(2)*libc.Uint32FromInt32(limit+libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow)))
if libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(pOld)).FnOverflow) > 0 {
if limit < libc.Int32FromUint16(*(*Tu16)(unsafe.Pointer(pOld + 28))) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79950))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(79952))
goto balance_cleanup
}
limit = libc.Int32FromUint16(*(*Tu16)(unsafe.Pointer(pOld + 28)))
@@ -54285,7 +49262,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
if i+int32(1) >= k {
k = i + int32(2)
if k > libc.Int32FromInt32(NB)+libc.Int32FromInt32(2) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80051))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80053))
goto balance_cleanup
}
(*(*[5]int32)(unsafe.Pointer(bp + 36)))[k-int32(1)] = 0
@@ -54328,7 +49305,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
v10 = 0
}
if cntNew[i] <= v10 {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80084))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80086))
goto balance_cleanup
}
}
@@ -54387,7 +49364,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
v15 = 0
}
if cntNew[i-int32(1)] <= v15 {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80128))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80130))
goto balance_cleanup
}
goto _11
@@ -54419,7 +49396,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
*(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 132)))).FpDbPage)
nNew++
if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 132)))).FpDbPage) != int32(1)+libc.BoolInt32(i == iParentIdx-nxDiv) && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80161))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80163))
}
if *(*int32)(unsafe.Pointer(bp)) != 0 {
goto balance_cleanup
@@ -54649,7 +49626,7 @@ func _balance_nonroot(tls *libc.TLS, pParent uintptr, iParentIdx int32, aOvflSpa
}
pSrcEnd = *(*uintptr)(unsafe.Pointer(bp + 68 + 16 + uintptr(k)*4))
if uint32(pCell1) < uint32(pSrcEnd) && uint32(pCell1+uintptr(sz2)) > uint32(pSrcEnd) {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80362))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(80364))
goto balance_cleanup
}
*(*int32)(unsafe.Pointer(bp)) = _insertCell(tls, pParent, nxDiv+i, pCell1, sz2, pTemp1, (*TMemPage)(unsafe.Pointer(pNew2)).Fpgno)
@@ -54895,7 +49872,7 @@ func _anotherValidCursor(tls *libc.TLS, pCur uintptr) (r int32) {
break
}
if pOther != pCur && libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pOther)).FeState) == CURSOR_VALID && (*TBtCursor)(unsafe.Pointer(pOther)).FpPage == (*TBtCursor)(unsafe.Pointer(pCur)).FpPage {
- return _sqlite3CorruptError(tls, int32(80594))
+ return _sqlite3CorruptError(tls, int32(80596))
}
goto _1
_1:
@@ -54968,7 +49945,7 @@ func _balance(tls *libc.TLS, pCur uintptr) (r int32) {
/* The page being written is not a root page, and there is currently
** more than one reference to it. This only happens if the page is one
** of its own ancestor pages. Corruption. */
- rc = _sqlite3CorruptError(tls, int32(80654))
+ rc = _sqlite3CorruptError(tls, int32(80656))
} else {
pParent = *(*uintptr)(unsafe.Pointer(pCur + 112 + uintptr(iPage-int32(1))*4))
iIdx = libc.Int32FromUint16(*(*Tu16)(unsafe.Pointer(pCur + 64 + uintptr(iPage-int32(1))*2)))
@@ -55127,7 +50104,7 @@ func _btreeOverwriteOverflowCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int
return rc
}
if _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1) || (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FisInit != 0 {
- rc = _sqlite3CorruptError(tls, int32(80818))
+ rc = _sqlite3CorruptError(tls, int32(80820))
} else {
if libc.Uint32FromInt32(iOffset)+ovflPageSize < libc.Uint32FromInt32(nTotal) {
ovflPgno = _sqlite3Get4byte(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FaData)
@@ -55158,7 +50135,7 @@ func _btreeOverwriteCell(tls *libc.TLS, pCur uintptr, pX uintptr) (r int32) {
nTotal = (*TBtreePayload)(unsafe.Pointer(pX)).FnData + (*TBtreePayload)(unsafe.Pointer(pX)).FnZero /* Total bytes of to write */
pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage /* Page being written */
if (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload+uintptr((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd || (*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FpPayload < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FcellOffset) {
- return _sqlite3CorruptError(tls, int32(80846))
+ return _sqlite3CorruptError(tls, int32(80848))
}
if libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnLocal) == nTotal {
/* The entire cell is local */
@@ -55243,7 +50220,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
** Which can only happen if the SQLITE_NoSchemaError flag was set when
** the schema was loaded. This cannot be asserted though, as a user might
** set the flag, load the schema, and then unset the flag. */
- return _sqlite3CorruptError(tls, int32(80927))
+ return _sqlite3CorruptError(tls, int32(80929))
}
}
/* Ensure that the cursor is not in the CURSOR_FAULT state and that it
@@ -55335,7 +50312,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 {
if libc.Int32FromUint8((*TBtCursor)(unsafe.Pointer(pCur)).FeState) > int32(CURSOR_INVALID) {
/* ^^^^^--- due to the moveToRoot() call above */
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(81050))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(81052))
} else {
*(*int32)(unsafe.Pointer(bp)) = _btreeComputeFreeSpace(tls, pPage)
}
@@ -55371,7 +50348,7 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
(*TBtCursor)(unsafe.Pointer(pCur)).Finfo.FnSize = uint16(0)
if *(*int32)(unsafe.Pointer(bp + 4)) == 0 {
if idx >= libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) {
- return _sqlite3CorruptError(tls, int32(81092))
+ return _sqlite3CorruptError(tls, int32(81094))
}
*(*int32)(unsafe.Pointer(bp)) = _sqlite3PagerWrite(tls, (*TMemPage)(unsafe.Pointer(pPage)).FpDbPage)
if *(*int32)(unsafe.Pointer(bp)) != 0 {
@@ -55401,10 +50378,10 @@ func _sqlite3BtreeInsert(tls *libc.TLS, pCur uintptr, pX uintptr, flags int32, s
** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */
/* clearCell never fails when nLocal==nPayload */
if oldCell < (*TMemPage)(unsafe.Pointer(pPage)).FaData+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FhdrOffset)+uintptr(10) {
- return _sqlite3CorruptError(tls, int32(81119))
+ return _sqlite3CorruptError(tls, int32(81121))
}
if oldCell+uintptr(*(*int32)(unsafe.Pointer(bp + 8))) > (*TMemPage)(unsafe.Pointer(pPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(81122))
+ return _sqlite3CorruptError(tls, int32(81124))
}
libc.Xmemcpy(tls, oldCell, newCell, libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(bp + 8))))
return SQLITE_OK
@@ -55522,7 +50499,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T
nIn = uint32((*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnLocal)
aIn = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload
if aIn+uintptr(nIn) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(81224))
+ return _sqlite3CorruptError(tls, int32(81226))
}
nRem = (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FnPayload
if nIn == nRem && nIn < uint32((*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pDest)).FpPage)).FmaxLocal) {
@@ -55544,7 +50521,7 @@ func _sqlite3BtreeTransferRow(tls *libc.TLS, pDest uintptr, pSrc uintptr, iKey T
}
if nRem > nIn {
if aIn+uintptr(nIn)+uintptr(4) > (*TMemPage)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pSrc)).FpPage)).FaDataEnd {
- return _sqlite3CorruptError(tls, int32(81249))
+ return _sqlite3CorruptError(tls, int32(81251))
}
ovflIn = _sqlite3Get4byte(tls, (*TBtCursor)(unsafe.Pointer(pSrc)).Finfo.FpPayload+uintptr(nIn))
}
@@ -55644,21 +50621,21 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) {
return *(*int32)(unsafe.Pointer(bp))
}
} else {
- return _sqlite3CorruptError(tls, int32(81345))
+ return _sqlite3CorruptError(tls, int32(81347))
}
}
iCellDepth = int32((*TBtCursor)(unsafe.Pointer(pCur)).FiPage)
iCellIdx = libc.Int32FromUint16((*TBtCursor)(unsafe.Pointer(pCur)).Fix)
pPage = (*TBtCursor)(unsafe.Pointer(pCur)).FpPage
if libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FnCell) <= iCellIdx {
- return _sqlite3CorruptError(tls, int32(81354))
+ return _sqlite3CorruptError(tls, int32(81356))
}
pCell = (*TMemPage)(unsafe.Pointer(pPage)).FaData + uintptr(libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pPage)).FmaskPage)&libc.Int32FromUint16(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx + uintptr(int32(2)*iCellIdx))))))
if (*TMemPage)(unsafe.Pointer(pPage)).FnFree < 0 && _btreeComputeFreeSpace(tls, pPage) != 0 {
- return _sqlite3CorruptError(tls, int32(81358))
+ return _sqlite3CorruptError(tls, int32(81360))
}
if pCell < (*TMemPage)(unsafe.Pointer(pPage)).FaCellIdx+uintptr((*TMemPage)(unsafe.Pointer(pPage)).FnCell) {
- return _sqlite3CorruptError(tls, int32(81361))
+ return _sqlite3CorruptError(tls, int32(81363))
}
/* If the BTREE_SAVEPOSITION bit is on, then the cursor position must
** be preserved following this delete operation. If the current delete
@@ -55752,7 +50729,7 @@ func _sqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags Tu8) (r int32) {
}
pCell = (*TMemPage)(unsafe.Pointer(pLeaf)).FaData + uintptr(libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pLeaf)).FmaskPage)&libc.Int32FromUint16(libc.X__builtin_bswap16(tls, *(*Tu16)(unsafe.Pointer((*TMemPage)(unsafe.Pointer(pLeaf)).FaCellIdx + uintptr(int32(2)*(libc.Int32FromUint16((*TMemPage)(unsafe.Pointer(pLeaf)).FnCell)-int32(1))))))))
if pCell < (*TMemPage)(unsafe.Pointer(pLeaf)).FaData+4 {
- return _sqlite3CorruptError(tls, int32(81452))
+ return _sqlite3CorruptError(tls, int32(81454))
}
nCell = libc.Int32FromUint16((*(*func(*libc.TLS, uintptr, uintptr) Tu16)(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pLeaf)).FxCellSize})))(tls, pLeaf, pCell))
pTmp = (*TBtShared)(unsafe.Pointer(pBt)).FpTmpSpace
@@ -55862,7 +50839,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
*/
_sqlite3BtreeGetMeta(tls, p, int32(BTREE_LARGEST_ROOT_PAGE), bp+4)
if *(*TPgno)(unsafe.Pointer(bp + 4)) > _btreePagecount(tls, pBt) {
- return _sqlite3CorruptError(tls, int32(81568))
+ return _sqlite3CorruptError(tls, int32(81570))
}
*(*TPgno)(unsafe.Pointer(bp + 4))++
/* The new root-page may not be allocated on a pointer-map page, or the
@@ -55903,7 +50880,7 @@ func _btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags
}
*(*int32)(unsafe.Pointer(bp + 8)) = _ptrmapGet(tls, pBt, *(*TPgno)(unsafe.Pointer(bp + 4)), bp+20, bp+24)
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp + 20))) == int32(PTRMAP_ROOTPAGE) || libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(bp + 20))) == int32(PTRMAP_FREEPAGE) {
- *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(81616))
+ *(*int32)(unsafe.Pointer(bp + 8)) = _sqlite3CorruptError(tls, int32(81618))
}
if *(*int32)(unsafe.Pointer(bp + 8)) != SQLITE_OK {
_releasePage(tls, *(*uintptr)(unsafe.Pointer(bp)))
@@ -55984,14 +50961,14 @@ func _clearDatabasePage(tls *libc.TLS, pBt uintptr, pgno TPgno, freePageFlag int
var _ /* rc at bp+4 */ int32
_, _, _, _ = hdr, i, pCell, v2
if pgno > _btreePagecount(tls, pBt) {
- return _sqlite3CorruptError(tls, int32(81706))
+ return _sqlite3CorruptError(tls, int32(81708))
}
*(*int32)(unsafe.Pointer(bp + 4)) = _getAndInitPage(tls, pBt, pgno, bp, 0)
if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
return *(*int32)(unsafe.Pointer(bp + 4))
}
if libc.Int32FromUint8((*TBtShared)(unsafe.Pointer(pBt)).FopenFlags)&int32(BTREE_SINGLE) == 0 && _sqlite3PagerPageRefcount(tls, (*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpDbPage) != int32(1)+libc.BoolInt32(pgno == uint32(1)) {
- *(*int32)(unsafe.Pointer(bp + 4)) = _sqlite3CorruptError(tls, int32(81713))
+ *(*int32)(unsafe.Pointer(bp + 4)) = _sqlite3CorruptError(tls, int32(81715))
goto cleardatabasepage_out
}
hdr = libc.Int32FromUint8((*TMemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FhdrOffset)
@@ -56128,7 +51105,7 @@ func _btreeDropTable(tls *libc.TLS, p uintptr, iTable TPgno, piMoved uintptr) (r
*(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0)
pBt = (*TBtree)(unsafe.Pointer(p)).FpBt
if iTable > _btreePagecount(tls, pBt) {
- return _sqlite3CorruptError(tls, int32(81817))
+ return _sqlite3CorruptError(tls, int32(81819))
}
*(*int32)(unsafe.Pointer(bp)) = _sqlite3BtreeClearTable(tls, p, libc.Int32FromUint32(iTable), uintptr(0))
if *(*int32)(unsafe.Pointer(bp)) != 0 {
@@ -57180,14 +52157,14 @@ func _sqlite3BtreeIsInBackup(tls *libc.TLS, p uintptr) (r int32) {
// ** blob of allocated memory. The xFree function should not call sqlite3_free()
// ** on the memory, the btree layer does that.
// */
-func _sqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, xFree uintptr) (r uintptr) {
+func _sqlite3BtreeSchema(tls *libc.TLS, p uintptr, nBytes int32, __ccgo_fp_xFree uintptr) (r uintptr) {
var pBt uintptr
_ = pBt
pBt = (*TBtree)(unsafe.Pointer(p)).FpBt
_sqlite3BtreeEnter(tls, p)
if !((*TBtShared)(unsafe.Pointer(pBt)).FpSchema != 0) && nBytes != 0 {
(*TBtShared)(unsafe.Pointer(pBt)).FpSchema = _sqlite3DbMallocZero(tls, uintptr(0), libc.Uint64FromInt32(nBytes))
- (*TBtShared)(unsafe.Pointer(pBt)).FxFreeSchema = xFree
+ (*TBtShared)(unsafe.Pointer(pBt)).FxFreeSchema = __ccgo_fp_xFree
}
_sqlite3BtreeLeave(tls, p)
return (*TBtShared)(unsafe.Pointer(pBt)).FpSchema
@@ -57398,45 +52375,6 @@ func _sqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) (r int32) {
return (*TBtShared)(unsafe.Pointer((*TBtree)(unsafe.Pointer(p)).FpBt)).FnRef
}
-/************** End of btree.c ***********************************************/
-/************** Begin file backup.c ******************************************/
-/*
-** 2009 January 28
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains the implementation of the sqlite3_backup_XXX()
-** API functions and the related features.
- */
-/* #include "sqliteInt.h" */
-/* #include "btreeInt.h" */
-
-/*
-** Structure allocated for each backup operation.
- */
-type Tsqlite3_backup1 = struct {
- FpDestDb uintptr
- FpDest uintptr
- FiDestSchema Tu32
- FbDestLocked int32
- FiNext TPgno
- FpSrcDb uintptr
- FpSrc uintptr
- Frc int32
- FnRemaining TPgno
- FnPagecount TPgno
- FisAttached int32
- FpNext uintptr
-}
-
-type sqlite3_backup1 = Tsqlite3_backup1
-
/*
** THREAD SAFETY NOTES:
**
@@ -59038,7 +53976,7 @@ func _sqlite3NoopDestructor(tls *libc.TLS, p uintptr) {
// ** Set the value stored in *pMem should already be a NULL.
// ** Also store a pointer to go with it.
// */
-func _sqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) {
+func _sqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType uintptr, __ccgo_fp_xDestructor uintptr) {
var v1, v2 uintptr
_, _ = v1, v2
_vdbeMemClear(tls, pMem)
@@ -59051,8 +53989,8 @@ func _sqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType
(*TMem)(unsafe.Pointer(pMem)).Fz = pPtr
(*TMem)(unsafe.Pointer(pMem)).Fflags = libc.Uint16FromInt32(libc.Int32FromInt32(MEM_Null) | libc.Int32FromInt32(MEM_Dyn) | libc.Int32FromInt32(MEM_Subtype) | libc.Int32FromInt32(MEM_Term))
(*TMem)(unsafe.Pointer(pMem)).FeSubtype = uint8('p')
- if xDestructor != 0 {
- v2 = xDestructor
+ if __ccgo_fp_xDestructor != 0 {
+ v2 = __ccgo_fp_xDestructor
} else {
v2 = __ccgo_fp(_sqlite3NoopDestructor)
}
@@ -59211,7 +54149,7 @@ func _sqlite3VdbeMemMove(tls *libc.TLS, pTo uintptr, pFrom uintptr) {
// ** excluding the first zero character. The n parameter must be
// ** non-negative for blobs.
// */
-func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc Tu8, xDel uintptr) (r int32) {
+func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc Tu8, __ccgo_fp_xDel uintptr) (r int32) {
var flags Tu16
var iLimit, v2, v4 int32
var nAlloc, nByte Ti64
@@ -59253,11 +54191,11 @@ func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc T
}
}
if nByte > int64(iLimit) {
- if xDel != 0 && xDel != uintptr(-libc.Int32FromInt32(1)) {
- if xDel == __ccgo_fp(_sqlite3OomClear) {
+ if __ccgo_fp_xDel != 0 && __ccgo_fp_xDel != uintptr(-libc.Int32FromInt32(1)) {
+ if __ccgo_fp_xDel == __ccgo_fp(_sqlite3OomClear) {
_sqlite3DbFree(tls, (*TMem)(unsafe.Pointer(pMem)).Fdb, z)
} else {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDel})))(tls, z)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDel})))(tls, z)
}
}
_sqlite3VdbeMemSetNull(tls, pMem)
@@ -59267,7 +54205,7 @@ func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc T
** also sets a flag in local variable "flags" to indicate the memory
** management (one of MEM_Dyn or MEM_Static).
*/
- if xDel == uintptr(-libc.Int32FromInt32(1)) {
+ if __ccgo_fp_xDel == uintptr(-libc.Int32FromInt32(1)) {
nAlloc = nByte
if libc.Int32FromUint16(flags)&int32(MEM_Term) != 0 {
if libc.Int32FromUint8(enc) == int32(SQLITE_UTF8) {
@@ -59289,12 +54227,12 @@ func _sqlite3VdbeMemSetStr(tls *libc.TLS, pMem uintptr, z uintptr, n Ti64, enc T
} else {
_sqlite3VdbeMemRelease(tls, pMem)
(*TMem)(unsafe.Pointer(pMem)).Fz = z
- if xDel == __ccgo_fp(_sqlite3OomClear) {
+ if __ccgo_fp_xDel == __ccgo_fp(_sqlite3OomClear) {
(*TMem)(unsafe.Pointer(pMem)).FzMalloc = (*TMem)(unsafe.Pointer(pMem)).Fz
(*TMem)(unsafe.Pointer(pMem)).FszMalloc = _sqlite3DbMallocSize(tls, (*TMem)(unsafe.Pointer(pMem)).Fdb, (*TMem)(unsafe.Pointer(pMem)).FzMalloc)
} else {
- (*TMem)(unsafe.Pointer(pMem)).FxDel = xDel
- if xDel == libc.UintptrFromInt32(0) {
+ (*TMem)(unsafe.Pointer(pMem)).FxDel = __ccgo_fp_xDel
+ if __ccgo_fp_xDel == libc.UintptrFromInt32(0) {
v4 = int32(MEM_Static)
} else {
v4 = int32(MEM_Dyn)
@@ -59333,7 +54271,7 @@ func _sqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset Tu32, amt Tu32
_, _ = rc, v1
(*TMem)(unsafe.Pointer(pMem)).Fflags = uint16(MEM_Null)
if _sqlite3BtreeMaxRecordSize(tls, pCur) < libc.Int64FromUint32(offset+amt) {
- return _sqlite3CorruptError(tls, int32(85115))
+ return _sqlite3CorruptError(tls, int32(85117))
}
v1 = _sqlite3VdbeMemClearAndResize(tls, pMem, libc.Int32FromUint32(amt+uint32(1)))
rc = v1
@@ -59445,8 +54383,8 @@ func _sqlite3ValueText(tls *libc.TLS, pVal uintptr, enc Tu8) (r uintptr) {
// ** TODO: Maybe someday promote this interface into a published API so
// ** that third-party extensions can get access to it?
// */
-func _sqlite3ValueIsOfClass(tls *libc.TLS, pVal uintptr, xFree uintptr) (r int32) {
- if pVal != uintptr(0) && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(libc.Int32FromInt32(MEM_Str)|libc.Int32FromInt32(MEM_Blob)) != 0 && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) != 0 && (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel == xFree {
+func _sqlite3ValueIsOfClass(tls *libc.TLS, pVal uintptr, __ccgo_fp_xFree uintptr) (r int32) {
+ if pVal != uintptr(0) && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&(libc.Int32FromInt32(MEM_Str)|libc.Int32FromInt32(MEM_Blob)) != 0 && libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) != 0 && (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel == __ccgo_fp_xFree {
return int32(1)
} else {
return 0
@@ -60036,7 +54974,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
}
iHdr = uint32(libc.Uint8FromInt32(v1))
if *(*Tu32)(unsafe.Pointer(bp + 4)) > libc.Uint32FromInt32(nRec) || iHdr >= *(*Tu32)(unsafe.Pointer(bp + 4)) {
- return _sqlite3CorruptError(tls, int32(85801))
+ return _sqlite3CorruptError(tls, int32(85803))
}
iField = libc.Int64FromUint32(*(*Tu32)(unsafe.Pointer(bp + 4)))
i = 0
@@ -60052,7 +54990,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
}
iHdr += uint32(libc.Uint8FromInt32(v3))
if iHdr > *(*Tu32)(unsafe.Pointer(bp + 4)) {
- return _sqlite3CorruptError(tls, int32(85807))
+ return _sqlite3CorruptError(tls, int32(85809))
}
szField = _sqlite3VdbeSerialTypeLen(tls, *(*Tu32)(unsafe.Pointer(bp)))
iField += libc.Int64FromUint32(szField)
@@ -60062,7 +55000,7 @@ func _sqlite3Stat4Column(tls *libc.TLS, db uintptr, pRec uintptr, nRec int32, iC
i++
}
if iField > int64(nRec) {
- return _sqlite3CorruptError(tls, int32(85813))
+ return _sqlite3CorruptError(tls, int32(85815))
}
if pMem == uintptr(0) {
v4 = _sqlite3ValueNew(tls, db)
@@ -60113,9 +55051,9 @@ func _sqlite3Stat4ProbeFree(tls *libc.TLS, pRec uintptr) {
// /*
// ** Change the string value of an sqlite3_value object
// */
-func _sqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc Tu8, xDel uintptr) {
+func _sqlite3ValueSetStr(tls *libc.TLS, v uintptr, n int32, z uintptr, enc Tu8, __ccgo_fp_xDel uintptr) {
if v != 0 {
- _sqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, xDel)
+ _sqlite3VdbeMemSetStr(tls, v, z, int64(n), enc, __ccgo_fp_xDel)
}
}
@@ -60189,7 +55127,7 @@ func _sqlite3VdbeCreate(tls *libc.TLS, pParse uintptr) (r uintptr) {
libc.Xmemset(tls, p+100, 0, libc.Uint32FromInt64(224)-uint32(libc.UintptrFromInt32(0)+100))
(*TVdbe)(unsafe.Pointer(p)).Fdb = db
if (*Tsqlite3)(unsafe.Pointer(db)).FpVdbe != 0 {
- (*TVdbe1)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpVdbe)).FppVPrev = p + 8
+ (*TVdbe)(unsafe.Pointer((*Tsqlite3)(unsafe.Pointer(db)).FpVdbe)).FppVPrev = p + 8
}
(*TVdbe)(unsafe.Pointer(p)).FpVNext = (*Tsqlite3)(unsafe.Pointer(db)).FpVdbe
(*TVdbe)(unsafe.Pointer(p)).FppVPrev = db + 4
@@ -62313,7 +57251,7 @@ func _sqlite3VdbeSetNumCols(tls *libc.TLS, p uintptr, nResColumn int32) {
// ** or SQLITE_TRANSIENT. If it is SQLITE_DYNAMIC, then the buffer pointed
// ** to by zName will be freed by sqlite3DbFree() when the vdbe is destroyed.
// */
-func _sqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, xDel uintptr) (r int32) {
+func _sqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zName uintptr, __ccgo_fp_xDel uintptr) (r int32) {
var pColName uintptr
var rc int32
_, _ = pColName, rc
@@ -62321,7 +57259,7 @@ func _sqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zNa
return int32(SQLITE_NOMEM)
}
pColName = (*TVdbe)(unsafe.Pointer(p)).FaColName + uintptr(idx+var1*libc.Int32FromUint16((*TVdbe)(unsafe.Pointer(p)).FnResAlloc))*40
- rc = _sqlite3VdbeMemSetStr(tls, pColName, zName, int64(-int32(1)), uint8(SQLITE_UTF8), xDel)
+ rc = _sqlite3VdbeMemSetStr(tls, pColName, zName, int64(-int32(1)), uint8(SQLITE_UTF8), __ccgo_fp_xDel)
return rc
}
@@ -63148,7 +58086,7 @@ func _sqlite3VdbeFinishMoveto(tls *libc.TLS, p uintptr) (r int32) {
return rc
}
if *(*int32)(unsafe.Pointer(bp)) != 0 {
- return _sqlite3CorruptError(tls, int32(89694))
+ return _sqlite3CorruptError(tls, int32(89696))
}
(*TVdbeCursor)(unsafe.Pointer(p)).FdeferredMoveto = uint8(0)
(*TVdbeCursor)(unsafe.Pointer(p)).FcacheStatus = uint32(CACHE_STALE)
@@ -63996,7 +58934,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
i = 0
}
if d1 > libc.Uint32FromInt32(nKey1) {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90653)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90655)))
return 0 /* Corruption */
}
/* Only needed by assert() statements */
@@ -64086,7 +59024,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
pKeyInfo = v4
}
if v5 || libc.Int32FromUint16((*TKeyInfo)(unsafe.Pointer(v4)).FnAllField) <= i {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90734)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90736)))
return 0 /* Corruption */
} else {
if *(*uintptr)(unsafe.Pointer(pKeyInfo + 20 + uintptr(i)*4)) != 0 {
@@ -64121,7 +59059,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
} else {
nStr = libc.Int32FromUint32((*(*Tu32)(unsafe.Pointer(bp + 48)) - uint32(12)) / uint32(2))
if d1+libc.Uint32FromInt32(nStr) > libc.Uint32FromInt32(nKey1) {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90764)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90766)))
return 0 /* Corruption */
} else {
if libc.Int32FromUint16((*TMem)(unsafe.Pointer(pRhs)).Fflags)&int32(MEM_Zero) != 0 {
@@ -64175,7 +59113,7 @@ func _sqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr
}
idx1 += libc.Uint32FromInt32(_sqlite3VarintLen(tls, uint64(*(*Tu32)(unsafe.Pointer(bp + 48)))))
if idx1 >= *(*Tu32)(unsafe.Pointer(bp)) {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90815)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90817)))
return 0 /* Corrupt index */
}
}
@@ -64307,7 +59245,7 @@ vrcs_restart:
szHdr = libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(aKey1)))
nStr = (*(*int32)(unsafe.Pointer(bp)) - int32(12)) / int32(2)
if szHdr+nStr > nKey1 {
- (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90978)))
+ (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).FerrCode = libc.Uint8FromInt32(_sqlite3CorruptError(tls, int32(90980)))
return 0 /* Corruption */
}
if (*TUnpackedRecord)(unsafe.Pointer(pPKey2)).Fn < nStr {
@@ -64459,7 +59397,7 @@ func _sqlite3VdbeIdxRowid(tls *libc.TLS, db uintptr, pCur uintptr, rowid uintptr
idx_rowid_corruption:
;
_sqlite3VdbeMemReleaseMalloc(tls, bp+8)
- return _sqlite3CorruptError(tls, int32(91136))
+ return _sqlite3CorruptError(tls, int32(91138))
}
// C documentation
@@ -64490,7 +59428,7 @@ func _sqlite3VdbeIdxKeyCompare(tls *libc.TLS, db uintptr, pC uintptr, pUnpacked
** that btreeParseCellPtr() and sqlite3GetVarint32() are implemented */
if nCellKey <= 0 || nCellKey > int64(0x7fffffff) {
*(*int32)(unsafe.Pointer(res)) = 0
- return _sqlite3CorruptError(tls, int32(91169))
+ return _sqlite3CorruptError(tls, int32(91171))
}
_sqlite3VdbeMemInit(tls, bp, db, uint16(0))
rc = _sqlite3VdbeMemFromBtreeZeroOffset(tls, pCur, libc.Uint32FromInt64(nCellKey), bp)
@@ -64907,7 +59845,7 @@ func Xsqlite3_finalize(tls *libc.TLS, pStmt uintptr) (r int32) {
v = pStmt
db = (*TVdbe)(unsafe.Pointer(v)).Fdb
if _vdbeSafety(tls, v) != 0 {
- return _sqlite3MisuseError(tls, int32(91567))
+ return _sqlite3MisuseError(tls, int32(91569))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if (*TVdbe)(unsafe.Pointer(v)).FstartTime > 0 {
@@ -65234,12 +60172,12 @@ func Xsqlite3_value_free(tls *libc.TLS, pOld uintptr) {
// ** The invokeValueDestructor(P,X) routine invokes destructor function X()
// ** on value P if P is not going to be used and need to be destroyed.
// */
-func _setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc Tu8, xDel uintptr) {
+func _setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc Tu8, __ccgo_fp_xDel uintptr) {
var pOut uintptr
var rc int32
_, _ = pOut, rc
pOut = (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut
- rc = _sqlite3VdbeMemSetStr(tls, pOut, z, int64(n), enc, xDel)
+ rc = _sqlite3VdbeMemSetStr(tls, pOut, z, int64(n), enc, __ccgo_fp_xDel)
if rc != 0 {
if rc == int32(SQLITE_TOOBIG) {
Xsqlite3_result_error_toobig(tls, pCtx)
@@ -65256,29 +60194,33 @@ func _setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc T
}
}
-func _invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) (r int32) {
- if xDel == uintptr(0) {
+func _invokeValueDestructor(tls *libc.TLS, p uintptr, __ccgo_fp_xDel uintptr, pCtx uintptr) (r int32) {
+ if __ccgo_fp_xDel == uintptr(0) {
/* noop */
} else {
- if xDel == uintptr(-libc.Int32FromInt32(1)) {
+ if __ccgo_fp_xDel == uintptr(-libc.Int32FromInt32(1)) {
/* noop */
} else {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDel})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDel})))(tls, p)
}
}
Xsqlite3_result_error_toobig(tls, pCtx)
return int32(SQLITE_TOOBIG)
}
-func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, n, uint8(0), xDel)
+type t__ccgo_fp__Xsqlite3_result_blob_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, n, uint8(0), __ccgo_fp_xDel)
}
-func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, xDel uintptr) {
+type t__ccgo_fp__Xsqlite3_result_blob64_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, __ccgo_fp_xDel uintptr) {
if n > uint64(0x7fffffff) {
- _invokeValueDestructor(tls, z, xDel, pCtx)
+ _invokeValueDestructor(tls, z, __ccgo_fp_xDel, pCtx)
} else {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), uint8(0), xDel)
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), uint8(0), __ccgo_fp_xDel)
}
}
@@ -65308,13 +60250,15 @@ func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) {
_sqlite3VdbeMemSetNull(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut)
}
-func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) {
+type t__ccgo_fp__Xsqlite3_result_pointer_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, __ccgo_fp_xDestructor uintptr) {
var pOut uintptr
_ = pOut
pOut = (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut
_sqlite3VdbeMemRelease(tls, pOut)
(*TMem)(unsafe.Pointer(pOut)).Fflags = uint16(MEM_Null)
- _sqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, xDestructor)
+ _sqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, __ccgo_fp_xDestructor)
}
func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) {
@@ -65326,11 +60270,15 @@ func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) {
*(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromInt32(MEM_Subtype))
}
-func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), xDel)
+type t__ccgo_fp__Xsqlite3_result_text_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, n, uint8(SQLITE_UTF8), __ccgo_fp_xDel)
}
-func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, xDel uintptr, enc uint8) {
+type t__ccgo_fp__Xsqlite3_result_text64_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_uint64, __ccgo_fp_xDel uintptr, enc uint8) {
if libc.Int32FromUint8(enc) != int32(SQLITE_UTF8) {
if libc.Int32FromUint8(enc) == int32(SQLITE_UTF16) {
enc = uint8(SQLITE_UTF16LE)
@@ -65338,23 +60286,29 @@ func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Tsqlite3_u
n &= ^libc.Uint64FromInt32(1)
}
if n > uint64(0x7fffffff) {
- _invokeValueDestructor(tls, z, xDel, pCtx)
+ _invokeValueDestructor(tls, z, __ccgo_fp_xDel, pCtx)
} else {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), enc, xDel)
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(n), enc, __ccgo_fp_xDel)
_sqlite3VdbeMemZeroTerminateIfAble(tls, (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpOut)
}
}
-func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), xDel)
+type t__ccgo_fp__Xsqlite3_result_text16_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), __ccgo_fp_xDel)
}
-func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16BE), xDel)
+type t__ccgo_fp__Xsqlite3_result_text16be_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16BE), __ccgo_fp_xDel)
}
-func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) {
- _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), xDel)
+type t__ccgo_fp__Xsqlite3_result_text16le_3 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, __ccgo_fp_xDel uintptr) {
+ _setResultStrOrError(tls, pCtx, z, libc.Int32FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), uint8(SQLITE_UTF16LE), __ccgo_fp_xDel)
}
func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) {
@@ -65611,7 +60565,7 @@ func Xsqlite3_step(tls *libc.TLS, pStmt uintptr) (r int32) {
v = pStmt /* the prepared statement */
cnt = 0 /* The database connection */
if _vdbeSafetyNotNull(tls, v) != 0 {
- return _sqlite3MisuseError(tls, int32(92361))
+ return _sqlite3MisuseError(tls, int32(92363))
}
db = (*TVdbe)(unsafe.Pointer(v)).Fdb
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -65741,7 +60695,7 @@ func _valueFromValueList(tls *libc.TLS, pVal uintptr, ppOut uintptr, bNext int32
_, _, _, _, _, _, _ = iOff, pOut, pRhs, rc, sz, zBuf, v1
*(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0)
if pVal == uintptr(0) {
- return _sqlite3MisuseError(tls, int32(92482))
+ return _sqlite3MisuseError(tls, int32(92484))
}
if libc.Int32FromUint16((*Tsqlite3_value)(unsafe.Pointer(pVal)).Fflags)&int32(MEM_Dyn) == 0 || (*Tsqlite3_value)(unsafe.Pointer(pVal)).FxDel != __ccgo_fp(_sqlite3VdbeValueListFree) {
return int32(SQLITE_ERROR)
@@ -65910,6 +60864,8 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) (r uintptr) {
return uintptr(0)
}
+type t__ccgo_fp__Xsqlite3_set_auxdata_3 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
@@ -65923,7 +60879,7 @@ func Xsqlite3_get_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32) (r uintptr) {
// ** to all functions within the current prepared statement using iArg as an
// ** access code.
// */
-func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, xDelete uintptr) {
+func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr, __ccgo_fp_xDelete uintptr) {
var pAuxData, pVdbe uintptr
_, _ = pAuxData, pVdbe
pVdbe = (*Tsqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe
@@ -65961,13 +60917,13 @@ func Xsqlite3_set_auxdata(tls *libc.TLS, pCtx uintptr, iArg int32, pAux uintptr,
}
}
(*TAuxData)(unsafe.Pointer(pAuxData)).FpAux = pAux
- (*TAuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux = xDelete
+ (*TAuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux = __ccgo_fp_xDelete
return
goto failed
failed:
;
- if xDelete != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDelete})))(tls, pAux)
+ if __ccgo_fp_xDelete != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDelete})))(tls, pAux)
}
}
@@ -66467,14 +61423,14 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) {
var v2 bool
_, _, _ = pVar, v1, v2
if _vdbeSafetyNotNull(tls, p) != 0 {
- return _sqlite3MisuseError(tls, int32(93098))
+ return _sqlite3MisuseError(tls, int32(93100))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
if libc.Int32FromUint8((*TVdbe)(unsafe.Pointer(p)).FeVdbeState) != int32(VDBE_READY_STATE) {
- _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(93102)))
+ _sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, _sqlite3MisuseError(tls, int32(93104)))
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
Xsqlite3_log(tls, int32(SQLITE_MISUSE), __ccgo_ts+5617, libc.VaList(bp+8, (*TVdbe)(unsafe.Pointer(p)).FzSql))
- return _sqlite3MisuseError(tls, int32(93106))
+ return _sqlite3MisuseError(tls, int32(93108))
}
if i >= libc.Uint32FromInt16((*TVdbe)(unsafe.Pointer(p)).FnVar) {
_sqlite3Error(tls, (*TVdbe)(unsafe.Pointer(p)).Fdb, int32(SQLITE_RANGE))
@@ -66512,7 +61468,7 @@ func _vdbeUnbind(tls *libc.TLS, p uintptr, i uint32) (r int32) {
// /*
// ** Bind a text or BLOB value.
// */
-func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64, xDel uintptr, encoding Tu8) (r int32) {
+func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64, __ccgo_fp_xDel uintptr, encoding Tu8) (r int32) {
var p, pVar uintptr
var rc int32
_, _, _ = p, pVar, rc
@@ -66522,7 +61478,7 @@ func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64,
/* tag-20240917-01 */
if zData != uintptr(0) {
pVar = (*TVdbe)(unsafe.Pointer(p)).FaVar + uintptr(i-int32(1))*40
- rc = _sqlite3VdbeMemSetStr(tls, pVar, zData, nData, encoding, xDel)
+ rc = _sqlite3VdbeMemSetStr(tls, pVar, zData, nData, encoding, __ccgo_fp_xDel)
if rc == SQLITE_OK && libc.Int32FromUint8(encoding) != 0 {
rc = _sqlite3VdbeChangeEncoding(tls, pVar, libc.Int32FromUint8((*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fenc))
}
@@ -66533,24 +61489,28 @@ func _bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Ti64,
}
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
} else {
- if xDel != libc.UintptrFromInt32(0) && xDel != uintptr(-libc.Int32FromInt32(1)) {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDel})))(tls, zData)
+ if __ccgo_fp_xDel != libc.UintptrFromInt32(0) && __ccgo_fp_xDel != uintptr(-libc.Int32FromInt32(1)) {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDel})))(tls, zData)
}
}
return rc
}
+type t__ccgo_fp__Xsqlite3_bind_blob_4 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Bind a blob value to an SQL statement variable.
// */
-func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(0))
+func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, int64(nData), __ccgo_fp_xDel, uint8(0))
}
-func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), xDel, uint8(0))
+type t__ccgo_fp__Xsqlite3_bind_blob64_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), __ccgo_fp_xDel, uint8(0))
}
func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) (r int32) {
@@ -66598,7 +61558,9 @@ func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) (r int32) {
return rc
}
-func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) (r int32) {
+type t__ccgo_fp__Xsqlite3_bind_pointer_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
var p uintptr
var rc int32
_, _ = p, rc
@@ -66606,32 +61568,38 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr,
rc = _vdbeUnbind(tls, p, libc.Uint32FromInt32(i-libc.Int32FromInt32(1)))
if rc == SQLITE_OK {
/* tag-20240917-01 */
- _sqlite3VdbeMemSetPointer(tls, (*TVdbe)(unsafe.Pointer(p)).FaVar+uintptr(i-int32(1))*40, pPtr, zPTtype, xDestructor)
+ _sqlite3VdbeMemSetPointer(tls, (*TVdbe)(unsafe.Pointer(p)).FaVar+uintptr(i-int32(1))*40, pPtr, zPTtype, __ccgo_fp_xDestructor)
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer((*TVdbe)(unsafe.Pointer(p)).Fdb)).Fmutex)
} else {
- if xDestructor != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestructor})))(tls, pPtr)
+ if __ccgo_fp_xDestructor != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestructor})))(tls, pPtr)
}
}
return rc
}
-func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, int64(nData), xDel, uint8(SQLITE_UTF8))
+type t__ccgo_fp__Xsqlite3_bind_text_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, int64(nData), __ccgo_fp_xDel, uint8(SQLITE_UTF8))
}
-func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, xDel uintptr, enc uint8) (r int32) {
+type t__ccgo_fp__Xsqlite3_bind_text64_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Tsqlite3_uint64, __ccgo_fp_xDel uintptr, enc uint8) (r int32) {
if libc.Int32FromUint8(enc) != int32(SQLITE_UTF8) {
if libc.Int32FromUint8(enc) == int32(SQLITE_UTF16) {
enc = uint8(SQLITE_UTF16LE)
}
nData &= ^libc.Uint64FromInt32(1)
}
- return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), xDel, enc)
+ return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(nData), __ccgo_fp_xDel, enc)
}
-func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, n int32, xDel uintptr) (r int32) {
- return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), xDel, uint8(SQLITE_UTF16LE))
+type t__ccgo_fp__Xsqlite3_bind_text16_4 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, n int32, __ccgo_fp_xDel uintptr) (r int32) {
+ return _bindText(tls, pStmt, i, zData, libc.Int64FromUint64(libc.Uint64FromInt32(n) & ^libc.Uint64FromInt32(1)), __ccgo_fp_xDel, uint8(SQLITE_UTF16LE))
}
func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) (r int32) {
@@ -67048,7 +62016,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
/* Test that this call is being made from within an SQLITE_DELETE or
** SQLITE_UPDATE pre-update callback, and that iIdx is within range. */
if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_INSERT) {
- rc = _sqlite3MisuseError(tls, int32(93649))
+ rc = _sqlite3MisuseError(tls, int32(93651))
goto preupdate_old_out
}
if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 {
@@ -67110,7 +62078,7 @@ func Xsqlite3_preupdate_old(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
})(unsafe.Pointer((*TPreUpdate)(unsafe.Pointer(p)).FpTab + 44))).FpDfltList + 8 + uintptr(libc.Int32FromUint16((*TColumn)(unsafe.Pointer(pCol)).FiDflt)-int32(1))*20))).FpExpr
rc = _sqlite3ValueFromExpr(tls, db, pDflt, (*Tsqlite3)(unsafe.Pointer(db)).Fenc, libc.Uint8FromInt8((*TColumn)(unsafe.Pointer(pCol)).Faffinity), bp)
if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
- rc = _sqlite3CorruptError(tls, int32(93708))
+ rc = _sqlite3CorruptError(tls, int32(93710))
}
*(*uintptr)(unsafe.Pointer((*TPreUpdate)(unsafe.Pointer(p)).FapDflt + uintptr(iIdx)*4)) = *(*uintptr)(unsafe.Pointer(bp))
}
@@ -67211,7 +62179,7 @@ func Xsqlite3_preupdate_new(tls *libc.TLS, db uintptr, iIdx int32, ppValue uintp
iStore = 0
p = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdate
if !(p != 0) || (*TPreUpdate)(unsafe.Pointer(p)).Fop == int32(SQLITE_DELETE) {
- rc = _sqlite3MisuseError(tls, int32(93804))
+ rc = _sqlite3MisuseError(tls, int32(93806))
goto preupdate_new_out
}
if (*TPreUpdate)(unsafe.Pointer(p)).FpPk != 0 && (*TPreUpdate)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) {
@@ -70572,7 +65540,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
pOp = aOp + uintptr((*(*TOp)(unsafe.Pointer(aOp))).Fp3-int32(1))*20
goto _187
} else {
- rc = _sqlite3CorruptError(tls, int32(97568))
+ rc = _sqlite3CorruptError(tls, int32(97570))
goto abort_due_to_error
}
/* Opcode: TypeCheck P1 P2 P3 P4 *
@@ -72482,7 +67450,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
** into an integer without loss of information. Take care to avoid
** changing the datatype of pIn3, however, as it is used by other
** parts of the prepared statement. */
- *(*Tsqlite3_value1)(unsafe.Pointer(bp + 192)) = *(*TMem)(unsafe.Pointer(pIn3))
+ *(*Tsqlite3_value)(unsafe.Pointer(bp + 192)) = *(*TMem)(unsafe.Pointer(pIn3))
_applyAffinity(tls, bp+192, int8(SQLITE_AFF_NUMERIC), encoding)
if libc.Int32FromUint16((*(*TMem)(unsafe.Pointer(bp + 192))).Fflags)&int32(MEM_Int) == 0 {
goto jump_to_p2
@@ -72509,7 +67477,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
(*TVdbeCursor)(unsafe.Pointer(pC10)).FseekResult = *(*int32)(unsafe.Pointer(bp + 188))
if *(*int32)(unsafe.Pointer(bp + 188)) != 0 {
if (*TOp)(unsafe.Pointer(pOp)).Fp2 == 0 {
- rc = _sqlite3CorruptError(tls, int32(99829))
+ rc = _sqlite3CorruptError(tls, int32(99831))
} else {
goto jump_to_p2
}
@@ -73401,7 +68369,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
}
} else {
if (*TOp)(unsafe.Pointer(pOp)).Fp5 != 0 && !(_sqlite3WritableSchema(tls, db) != 0) {
- rc = _sqlite3ReportError(tls, libc.Int32FromInt32(SQLITE_CORRUPT)|libc.Int32FromInt32(3)< int64(0x7fffffff) {
- rc = _sqlite3CorruptError(tls, int32(101126))
+ rc = _sqlite3CorruptError(tls, int32(101128))
goto abort_due_to_error
}
_sqlite3VdbeMemInit(tls, bp+404, db, uint16(0))
@@ -73783,7 +68751,7 @@ func _sqlite3VdbeExec(tls *libc.TLS, p uintptr) (r int32) {
/* The OP_ParseSchema opcode with a non-NULL P4 argument should parse
** at least one SQL statement. Any less than that indicates that
** the sqlite_schema table is corrupt. */
- rc = _sqlite3CorruptError(tls, int32(101419))
+ rc = _sqlite3CorruptError(tls, int32(101421))
}
_sqlite3DbFreeNN(tls, db, zSql)
(*Tsqlite3)(unsafe.Pointer(db)).Finit1.Fbusy = uint8(0)
@@ -75434,7 +70402,7 @@ abort_due_to_error:
rc = int32(SQLITE_NOMEM)
} else {
if rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(33)< Banana
-** aReadr[1] -> Feijoa
-** aReadr[2] -> Elderberry
-** aReadr[3] -> Currant
-** aReadr[4] -> Grapefruit
-** aReadr[5] -> Apple
-** aReadr[6] -> Durian
-** aReadr[7] -> EOF
-**
-** aTree[] = { X, 5 0, 5 0, 3, 5, 6 }
-**
-** The current element is "Apple" (the value of the key indicated by
-** PmaReader 5). When the Next() operation is invoked, PmaReader 5 will
-** be advanced to the next key in its segment. Say the next key is
-** "Eggplant":
-**
-** aReadr[5] -> Eggplant
-**
-** The contents of aTree[] are updated first by comparing the new PmaReader
-** 5 key to the current key of PmaReader 4 (still "Grapefruit"). The PmaReader
-** 5 value is still smaller, so aTree[6] is set to 5. And so on up the tree.
-** The value of PmaReader 6 - "Durian" - is now smaller than that of PmaReader
-** 5, so aTree[3] is set to 6. Key 0 is smaller than key 6 (Bananafile2. And instead of using a
-** background thread to prepare data for the PmaReader, with a single
-** threaded IncrMerger the allocate part of pTask->file2 is "refilled" with
-** keys from pMerger by the calling thread whenever the PmaReader runs out
-** of data.
- */
-type TIncrMerger1 = struct {
- FpTask uintptr
- FpMerger uintptr
- FiStartOff Ti64
- FmxSz int32
- FbEof int32
- FbUseThread int32
- FaFile [2]TSorterFile
-}
-
-type IncrMerger1 = TIncrMerger1
-
-/*
-** An instance of this object is used for writing a PMA.
-**
-** The PMA is written one record at a time. Each record is of an arbitrary
-** size. But I/O is more efficient if it occurs in page-sized blocks where
-** each block is aligned on a page boundary. This object caches writes to
-** the PMA so that aligned, page-size blocks are written.
- */
-type TPmaWriter1 = struct {
- FeFWErr int32
- FaBuffer uintptr
- FnBuffer int32
- FiBufStart int32
- FiBufEnd int32
- FiWriteOff Ti64
- FpFd uintptr
-}
-
-type PmaWriter1 = TPmaWriter1
-
-/*
-** This object is the header on a single record while that record is being
-** held in memory and prior to being written out as part of a PMA.
-**
-** How the linked list is connected depends on how memory is being managed
-** by this module. If using a separate allocation for each in-memory record
-** (VdbeSorter.list.aMemory==0), then the list is always connected using the
-** SorterRecord.u.pNext pointers.
-**
-** Or, if using the single large allocation method (VdbeSorter.list.aMemory!=0),
-** then while records are being accumulated the list is linked using the
-** SorterRecord.u.iNext offset. This is because the aMemory[] array may
-** be sqlite3Realloc()ed while records are being accumulated. Once the VM
-** has finished passing records to the sorter, or when the in-memory buffer
-** is full, the list is sorted. As part of the sorting process, it is
-** converted to use the SorterRecord.u.pNext pointers. See function
-** vdbeSorterSort() for details.
- */
-type TSorterRecord1 = struct {
- FnVal int32
- Fu struct {
- FiNext [0]int32
- FpNext uintptr
- }
-}
-
-type SorterRecord1 = TSorterRecord1
-
// C documentation
//
// /*
@@ -76836,7 +71525,7 @@ func _vdbeSorterMapFile(tls *libc.TLS, pTask uintptr, pFile uintptr, pp uintptr)
rc = SQLITE_OK
if (*TSorterFile)(unsafe.Pointer(pFile)).FiEof <= int64((*Tsqlite3)(unsafe.Pointer((*TVdbeSorter)(unsafe.Pointer((*TSortSubtask)(unsafe.Pointer(pTask)).FpSorter)).Fdb)).FnMaxSorterMmap) {
pFd = (*TSorterFile)(unsafe.Pointer(pFile)).FpFd
- if (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
+ if (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
rc = _sqlite3OsFetch(tls, pFd, 0, int32((*TSorterFile)(unsafe.Pointer(pFile)).FiEof), pp)
}
}
@@ -77327,8 +72016,8 @@ func _vdbeSorterJoinThread(tls *libc.TLS, pTask uintptr) (r int32) {
// /*
// ** Launch a background thread to run xTask(pIn).
// */
-func _vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, xTask uintptr, pIn uintptr) (r int32) {
- return _sqlite3ThreadCreate(tls, pTask, xTask, pIn)
+func _vdbeSorterCreateThread(tls *libc.TLS, pTask uintptr, __ccgo_fp_xTask uintptr, pIn uintptr) (r int32) {
+ return _sqlite3ThreadCreate(tls, pTask, __ccgo_fp_xTask, pIn)
}
// C documentation
@@ -77523,7 +72212,7 @@ func _vdbeSorterExtendFile(tls *libc.TLS, db uintptr, pFd uintptr, _nByte Ti64)
*(*Ti64)(unsafe.Pointer(bp)) = _nByte
var _ /* chunksize at bp+12 */ int32
var _ /* p at bp+8 */ uintptr
- if *(*Ti64)(unsafe.Pointer(bp)) <= int64((*Tsqlite3)(unsafe.Pointer(db)).FnMaxSorterMmap) && (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
+ if *(*Ti64)(unsafe.Pointer(bp)) <= int64((*Tsqlite3)(unsafe.Pointer(db)).FnMaxSorterMmap) && (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FiVersion >= int32(3) {
*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
*(*int32)(unsafe.Pointer(bp + 12)) = libc.Int32FromInt32(4) * libc.Int32FromInt32(1024)
_sqlite3OsFileControlHint(tls, pFd, int32(SQLITE_FCNTL_CHUNK_SIZE), bp+12)
@@ -79175,57 +73864,6 @@ type TFileChunk = struct {
type FileChunk = TFileChunk
-/*
-** The rollback journal is composed of a linked list of these structures.
-**
-** The zChunk array is always at least 8 bytes in size - usually much more.
-** Its actual size is stored in the MemJournal.nChunkSize variable.
- */
-type TFileChunk1 = struct {
- FpNext uintptr
- FzChunk [8]Tu8
-}
-
-type FileChunk1 = TFileChunk1
-
-/*
-** By default, allocate this many bytes of memory for each FileChunk object.
- */
-
-/*
-** For chunk size nChunkSize, return the number of bytes that should
-** be allocated for each FileChunk structure.
- */
-
-/*
-** An instance of this object serves as a cursor into the rollback journal.
-** The cursor can be either for reading or writing.
- */
-type TFilePoint1 = struct {
- FiOffset Tsqlite3_int64
- FpChunk uintptr
-}
-
-type FilePoint1 = TFilePoint1
-
-/*
-** This structure is a subclass of sqlite3_file. Each open memory-journal
-** is an instance of this class.
- */
-type TMemJournal1 = struct {
- FpMethod uintptr
- FnChunkSize int32
- FnSpill int32
- FpFirst uintptr
- Fendpoint TFilePoint
- Freadpoint TFilePoint
- Fflags int32
- FpVfs uintptr
- FzJournal uintptr
-}
-
-type MemJournal1 = TMemJournal1
-
// C documentation
//
// /*
@@ -79522,7 +74160,7 @@ func _memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) (r int32) {
// /*
// ** Table of methods for MemJournal sqlite3_file object.
// */
-var _MemJournalMethods = Tsqlite3_io_methods1{
+var _MemJournalMethods = Tsqlite3_io_methods{
FiVersion: int32(1),
}
@@ -83986,12 +78624,6 @@ type TEdupBuf = struct {
type EdupBuf = TEdupBuf
-type TEdupBuf1 = struct {
- FzAlloc uintptr
-}
-
-type EdupBuf1 = TEdupBuf1
-
// C documentation
//
// /*
@@ -87568,6 +82200,11 @@ expr_code_doover:
case int32(TK_STRING):
_sqlite3VdbeLoadString(tls, v, target, *(*uintptr)(unsafe.Pointer(pExpr + 8)))
return target
+ case int32(TK_NULLS):
+ /* Set a range of registers to NULL. pExpr->y.nReg registers starting
+ ** with target */
+ _sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, target, target+*(*int32)(unsafe.Pointer(&(*TExpr)(unsafe.Pointer(pExpr)).Fy))-int32(1))
+ return target
default:
/* Make NULL the default case so that if a bug causes an illegal
** Expr node to be passed into this function, it will be handled
@@ -88105,6 +82742,27 @@ func _sqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, r
return regDest
}
+// C documentation
+//
+// /*
+// ** Make arrangements to invoke OP_Null on a range of registers
+// ** during initialization.
+// */
+func _sqlite3ExprNullRegisterRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) {
+ bp := tls.Alloc(64)
+ defer tls.Free(64)
+ var okConstFactor Tu8
+ var _ /* t at bp+0 */ TExpr
+ _ = okConstFactor
+ okConstFactor = libc.Uint8FromInt32(int32(Tbft(*(*uint8)(unsafe.Pointer(pParse + 32)) & 0x4 >> 2)))
+ libc.Xmemset(tls, bp, 0, uint32(52))
+ (*(*TExpr)(unsafe.Pointer(bp))).Fop = uint8(TK_NULLS)
+ *(*int32)(unsafe.Pointer(bp + 44)) = nReg
+ libc.SetBitFieldPtr8Uint32(pParse+32, libc.Uint32FromInt32(1), 2, 0x4)
+ _sqlite3ExprCodeRunJustOnce(tls, pParse, bp, iReg)
+ libc.SetBitFieldPtr8Uint32(pParse+32, uint32(okConstFactor), 2, 0x4)
+}
+
// C documentation
//
// /*
@@ -88311,7 +82969,7 @@ func _sqlite3ExprCodeExprList(tls *libc.TLS, pParse uintptr, pList uintptr, targ
// **
// ** The jumpIfNull parameter is ignored if xJumpIf is NULL.
// */
-func _exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, xJump uintptr, jumpIfNull int32) {
+func _exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, __ccgo_fp_xJump uintptr, jumpIfNull int32) {
bp := tls.Alloc(160)
defer tls.Free(160)
var db, pDel uintptr
@@ -88338,8 +82996,8 @@ func _exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32,
(*(*TExpr)(unsafe.Pointer(bp + 104))).FpLeft = pDel
(*(*TExpr)(unsafe.Pointer(bp + 104))).FpRight = (*(*TExprList_item)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 20)) + 8 + 1*20))).FpExpr
_sqlite3ExprToRegister(tls, pDel, _exprCodeVector(tls, pParse, pDel, bp+156))
- if xJump != 0 {
- (*(*func(*libc.TLS, uintptr, uintptr, int32, int32))(unsafe.Pointer(&struct{ uintptr }{xJump})))(tls, pParse, bp, dest, jumpIfNull)
+ if __ccgo_fp_xJump != 0 {
+ (*(*func(*libc.TLS, uintptr, uintptr, int32, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xJump})))(tls, pParse, bp, dest, jumpIfNull)
} else {
/* Mark the expression is being from the ON or USING clause of a join
** so that the sqlite3ExprCodeTarget() routine will not attempt to move
@@ -90754,31 +85412,6 @@ exit_rename_column:
return
}
-/*
-** Each RenameToken object maps an element of the parse tree into
-** the token that generated that element. The parse tree element
-** might be one of:
-**
-** * A pointer to an Expr that represents an ID
-** * The name of a table column in Column.zName
-**
-** A list of RenameToken objects can be constructed during parsing.
-** Each new object is created by sqlite3RenameTokenMap().
-** As the parse tree is transformed, the sqlite3RenameTokenRemap()
-** routine is used to keep the mapping current.
-**
-** After the parse finishes, renameTokenFind() routine can be used
-** to look up the actual token value that created some element in
-** the parse tree.
- */
-type TRenameToken1 = struct {
- Fp uintptr
- Ft TToken
- FpNext uintptr
-}
-
-type RenameToken1 = TRenameToken1
-
// C documentation
//
// /*
@@ -90795,16 +85428,6 @@ type TRenameCtx = struct {
type RenameCtx = TRenameCtx
-type TRenameCtx1 = struct {
- FpList uintptr
- FnList int32
- FiCol int32
- FpTab uintptr
- FzOld uintptr
-}
-
-type RenameCtx1 = TRenameCtx1
-
// C documentation
//
// /*
@@ -91107,9 +85730,9 @@ func _renameTokenFind(tls *libc.TLS, pParse uintptr, pCtx uintptr, pPtr uintptr)
pToken = *(*uintptr)(unsafe.Pointer(pp))
if pCtx != 0 {
*(*uintptr)(unsafe.Pointer(pp)) = (*TRenameToken)(unsafe.Pointer(pToken)).FpNext
- (*TRenameToken)(unsafe.Pointer(pToken)).FpNext = (*TRenameCtx1)(unsafe.Pointer(pCtx)).FpList
- (*TRenameCtx1)(unsafe.Pointer(pCtx)).FpList = pToken
- (*TRenameCtx1)(unsafe.Pointer(pCtx)).FnList++
+ (*TRenameToken)(unsafe.Pointer(pToken)).FpNext = (*TRenameCtx)(unsafe.Pointer(pCtx)).FpList
+ (*TRenameCtx)(unsafe.Pointer(pCtx)).FpList = pToken
+ (*TRenameCtx)(unsafe.Pointer(pCtx)).FnList++
}
return pToken
}
@@ -91303,7 +85926,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin
return int32(SQLITE_NOMEM)
}
if Xsqlite3_strnicmp(tls, zSql, __ccgo_ts+11472, int32(7)) != 0 {
- return _sqlite3CorruptError(tls, int32(118888))
+ return _sqlite3CorruptError(tls, int32(118915))
}
if bTemp != 0 {
(*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(1)
@@ -91322,7 +85945,7 @@ func _renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uin
rc = int32(SQLITE_NOMEM)
}
if rc == SQLITE_OK && ((*TParse)(unsafe.Pointer(p)).FpNewTable == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewIndex == uintptr(0) && (*TParse)(unsafe.Pointer(p)).FpNewTrigger == uintptr(0)) {
- rc = _sqlite3CorruptError(tls, int32(118909))
+ rc = _sqlite3CorruptError(tls, int32(118936))
}
(*Tsqlite3)(unsafe.Pointer(db)).Finit1.FiDb = uint8(0)
return rc
@@ -92386,7 +87009,7 @@ func _dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr
pTab = (*(*TParse)(unsafe.Pointer(bp))).FpNewTable
if pTab == uintptr(0) || int32((*TTable)(unsafe.Pointer(pTab)).FnCol) == int32(1) || iCol >= int32((*TTable)(unsafe.Pointer(pTab)).FnCol) {
/* This can happen if the sqlite_schema table is corrupt */
- rc = _sqlite3CorruptError(tls, int32(119877))
+ rc = _sqlite3CorruptError(tls, int32(119904))
goto drop_column_done
}
pCol = _renameTokenFind(tls, bp, uintptr(0), (*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*12))).FzCnName)
@@ -92940,44 +87563,6 @@ type TStatSample = struct {
type StatSample = TStatSample
-type TStatSample1 = struct {
- FanDLt uintptr
- FanEq uintptr
- FanLt uintptr
- Fu struct {
- FaRowid [0]uintptr
- FiRowid Ti64
- }
- FnRowid Tu32
- FisPSample Tu8
- FiCol int32
- FiHash Tu32
-}
-
-type StatSample1 = TStatSample1
-
-type TStatAccum1 = struct {
- Fdb uintptr
- FnEst TtRowcnt
- FnRow TtRowcnt
- FnLimit int32
- FnCol int32
- FnKeyCol int32
- FnSkipAhead Tu8
- Fcurrent TStatSample
- FnPSample TtRowcnt
- FmxSample int32
- FiPrn Tu32
- FaBest uintptr
- FiMin int32
- FnSample int32
- FnMaxEqZero int32
- FiGet int32
- Fa uintptr
-}
-
-type StatAccum1 = TStatAccum1
-
// C documentation
//
// /* Reclaim memory used by a StatSample
@@ -94268,13 +88853,6 @@ type TanalysisInfo = struct {
type analysisInfo = TanalysisInfo
-type TanalysisInfo1 = struct {
- Fdb uintptr
- FzDatabase uintptr
-}
-
-type analysisInfo1 = TanalysisInfo1
-
// C documentation
//
// /*
@@ -95473,6 +90051,8 @@ func _sqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) (r int32
return 0
}
+type t__ccgo_fp__Xsqlite3_set_authorizer_1 = func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32
+
/************** End of attach.c **********************************************/
/************** Begin file auth.c ********************************************/
/*
@@ -95545,9 +90125,9 @@ func _sqlite3FixTriggerStep(tls *libc.TLS, pFix uintptr, pStep uintptr) (r int32
// ** Setting the auth function to NULL disables this hook. The default
// ** setting of the auth function is NULL.
// */
-func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, xAuth uintptr, pArg uintptr) (r int32) {
+func Xsqlite3_set_authorizer(tls *libc.TLS, db uintptr, __ccgo_fp_xAuth uintptr, pArg uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = xAuth
+ (*Tsqlite3)(unsafe.Pointer(db)).FxAuth = __ccgo_fp_xAuth
(*Tsqlite3)(unsafe.Pointer(db)).FpAuthArg = pArg
if (*Tsqlite3)(unsafe.Pointer(db)).FxAuth != 0 {
_sqlite3ExpirePreparedStatements(tls, db, int32(1))
@@ -95727,47 +90307,6 @@ func _sqlite3AuthContextPop(tls *libc.TLS, pContext uintptr) {
}
}
-/************** End of auth.c ************************************************/
-/************** Begin file build.c *******************************************/
-/*
-** 2001 September 15
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains C code routines that are called by the SQLite parser
-** when syntax rules are reduced. The routines in this file handle the
-** following kinds of SQL syntax:
-**
-** CREATE TABLE
-** DROP TABLE
-** CREATE INDEX
-** DROP INDEX
-** creating ID lists
-** BEGIN TRANSACTION
-** COMMIT
-** ROLLBACK
- */
-/* #include "sqliteInt.h" */
-
-/*
-** The TableLock structure is only used by the sqlite3TableLock() and
-** codeTableLocks() functions.
- */
-type TTableLock1 = struct {
- FiDb int32
- FiTab TPgno
- FisWriteLock Tu8
- FzLockName uintptr
-}
-
-type TableLock1 = TTableLock1
-
// C documentation
//
// /*
@@ -96395,9 +90934,9 @@ func _sqlite3CollapseDatabaseArray(tls *libc.TLS, db uintptr) {
break
}
pDb = (*Tsqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*16
- if (*TDb1)(unsafe.Pointer(pDb)).FpBt == uintptr(0) {
- _sqlite3DbFree(tls, db, (*TDb1)(unsafe.Pointer(pDb)).FzDbSName)
- (*TDb1)(unsafe.Pointer(pDb)).FzDbSName = uintptr(0)
+ if (*TDb)(unsafe.Pointer(pDb)).FpBt == uintptr(0) {
+ _sqlite3DbFree(tls, db, (*TDb)(unsafe.Pointer(pDb)).FzDbSName)
+ (*TDb)(unsafe.Pointer(pDb)).FzDbSName = uintptr(0)
goto _1
}
if j < i {
@@ -100643,7 +95182,7 @@ func _sqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u
(*TIndex)(unsafe.Pointer(pIndex)).Ftnum = (*Tsqlite3)(unsafe.Pointer(db)).Finit1.FnewTnum
if _sqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0 {
_sqlite3ErrorMsg(tls, pParse, __ccgo_ts+14729, 0)
- (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(127355))
+ (*TParse)(unsafe.Pointer(pParse)).Frc = _sqlite3CorruptError(tls, int32(127382))
goto exit_create_index
}
}
@@ -106082,17 +100621,6 @@ type TSumCtx = struct {
type SumCtx = TSumCtx
-type TSumCtx1 = struct {
- FrSum float64
- FrErr float64
- FiSum Ti64
- Fcnt Ti64
- Fapprox Tu8
- Fovrfl Tu8
-}
-
-type SumCtx1 = TSumCtx1
-
// C documentation
//
// /*
@@ -106306,12 +100834,6 @@ type TCountCtx = struct {
type CountCtx = TCountCtx
-type TCountCtx1 = struct {
- Fn Ti64
-}
-
-type CountCtx1 = TCountCtx1
-
// C documentation
//
// /*
@@ -109593,7 +104115,7 @@ func _exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (r int3
_ = p1
if libc.Int32FromUint8((*TExpr)(unsafe.Pointer(pExpr)).Fop) == int32(TK_COLUMN) && int32((*TExpr)(unsafe.Pointer(pExpr)).FiColumn) >= 0 {
p1 = pWalker + 20
- *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromUint16((*(*TColumn)(unsafe.Pointer((*TTable1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 24)))).FaCol + uintptr((*TExpr)(unsafe.Pointer(pExpr)).FiColumn)*12))).FcolFlags))
+ *(*Tu16)(unsafe.Pointer(p1)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p1))) | libc.Int32FromUint16((*(*TColumn)(unsafe.Pointer((*TTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalker + 24)))).FaCol + uintptr((*TExpr)(unsafe.Pointer(pExpr)).FiColumn)*12))).FcolFlags))
}
return WRC_Continue
}
@@ -111087,33 +105609,6 @@ type TIndexIterator = struct {
type IndexIterator = TIndexIterator
-type TIndexIterator1 = struct {
- FeType int32
- Fi int32
- Fu struct {
- Fax [0]struct {
- FnIdx int32
- FaIdx uintptr
- }
- Flx struct {
- FpIdx uintptr
- }
- F__ccgo_pad2 [4]byte
- }
-}
-
-type IndexIterator1 = TIndexIterator1
-
-/* When IndexIterator.eType==1, then each index is an array of instances
-** of the following object
- */
-type TIndexListTerm1 = struct {
- Fp uintptr
- Fix int32
-}
-
-type IndexListTerm1 = TIndexListTerm1
-
// C documentation
//
// /* Return the first index on the list */
@@ -112667,6 +107162,8 @@ func _xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uin
return r
}
+type t__ccgo_fp__Xsqlite3_exec_2 = func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
+
/************** End of insert.c **********************************************/
/************** Begin file legacy.c ******************************************/
/*
@@ -112700,7 +107197,7 @@ func _xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uin
// ** argument to xCallback(). If xCallback=NULL then no callback
// ** is invoked, even for queries.
// */
-func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_callback, pArg uintptr, pzErrMsg uintptr) (r int32) {
+func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, __ccgo_fp_xCallback Tsqlite3_callback, pArg uintptr, pzErrMsg uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var azCols, azVals uintptr
@@ -112712,7 +107209,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_c
*(*uintptr)(unsafe.Pointer(bp + 4)) = uintptr(0) /* The current SQL statement */
azCols = uintptr(0) /* True if callback data is initialized */
if !(_sqlite3SafetyCheckOk(tls, db) != 0) {
- return _sqlite3MisuseError(tls, int32(138224))
+ return _sqlite3MisuseError(tls, int32(138251))
}
if zSql == uintptr(0) {
zSql = __ccgo_ts + 1667
@@ -112736,7 +107233,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_c
for int32(1) != 0 {
rc = Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
/* Invoke the callback function if required */
- if xCallback != 0 && (int32(SQLITE_ROW) == rc || int32(SQLITE_DONE) == rc && !(callbackIsInit != 0) && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NullCallback) != 0) {
+ if __ccgo_fp_xCallback != 0 && (int32(SQLITE_ROW) == rc || int32(SQLITE_DONE) == rc && !(callbackIsInit != 0) && (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_NullCallback) != 0) {
if !(callbackIsInit != 0) {
nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
azCols = _sqlite3DbMallocRaw(tls, db, uint64(libc.Uint32FromInt32(libc.Int32FromInt32(2)*nCol+libc.Int32FromInt32(1))*uint32(4)))
@@ -112777,7 +107274,7 @@ func Xsqlite3_exec(tls *libc.TLS, db uintptr, zSql uintptr, xCallback Tsqlite3_c
}
*(*uintptr)(unsafe.Pointer(azVals + uintptr(i)*4)) = uintptr(0)
}
- if (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xCallback})))(tls, pArg, nCol, azVals, azCols) != 0 {
+ if (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xCallback})))(tls, pArg, nCol, azVals, azCols) != 0 {
/* EVIDENCE-OF: R-38229-40159 If the callback function to
** sqlite3_exec() returns non-zero, then sqlite3_exec() will
** return SQLITE_ABORT. */
@@ -112824,330 +107321,6 @@ exec_out:
return rc
}
-/************** End of legacy.c **********************************************/
-/************** Begin file loadext.c *****************************************/
-/*
-** 2006 June 7
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains code used to dynamically load extensions into
-** the SQLite library.
- */
-
-/************** Include sqlite3ext.h in the middle of loadext.c **************/
-/************** Begin file sqlite3ext.h **************************************/
-/*
-** 2006 June 7
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This header file defines the SQLite interface for use by
-** shared libraries that want to be imported as extensions into
-** an SQLite instance. Shared libraries that intend to be loaded
-** as extensions by SQLite should #include this file instead of
-** sqlite3.h.
- */
-/* #include "sqlite3.h" */
-
-/*
-** The following structure holds pointers to all of the SQLite API
-** routines.
-**
-** WARNING: In order to maintain backwards compatibility, add new
-** interfaces to the end of this structure only. If you insert new
-** interfaces in the middle of this structure, then older different
-** versions of SQLite will not be able to load each other's shared
-** libraries!
- */
-type Tsqlite3_api_routines1 = struct {
- Faggregate_context uintptr
- Faggregate_count uintptr
- Fbind_blob uintptr
- Fbind_double uintptr
- Fbind_int uintptr
- Fbind_int64 uintptr
- Fbind_null uintptr
- Fbind_parameter_count uintptr
- Fbind_parameter_index uintptr
- Fbind_parameter_name uintptr
- Fbind_text uintptr
- Fbind_text16 uintptr
- Fbind_value uintptr
- Fbusy_handler uintptr
- Fbusy_timeout uintptr
- Fchanges uintptr
- Fclose1 uintptr
- Fcollation_needed uintptr
- Fcollation_needed16 uintptr
- Fcolumn_blob uintptr
- Fcolumn_bytes uintptr
- Fcolumn_bytes16 uintptr
- Fcolumn_count uintptr
- Fcolumn_database_name uintptr
- Fcolumn_database_name16 uintptr
- Fcolumn_decltype uintptr
- Fcolumn_decltype16 uintptr
- Fcolumn_double uintptr
- Fcolumn_int uintptr
- Fcolumn_int64 uintptr
- Fcolumn_name uintptr
- Fcolumn_name16 uintptr
- Fcolumn_origin_name uintptr
- Fcolumn_origin_name16 uintptr
- Fcolumn_table_name uintptr
- Fcolumn_table_name16 uintptr
- Fcolumn_text uintptr
- Fcolumn_text16 uintptr
- Fcolumn_type uintptr
- Fcolumn_value uintptr
- Fcommit_hook uintptr
- Fcomplete uintptr
- Fcomplete16 uintptr
- Fcreate_collation uintptr
- Fcreate_collation16 uintptr
- Fcreate_function uintptr
- Fcreate_function16 uintptr
- Fcreate_module uintptr
- Fdata_count uintptr
- Fdb_handle uintptr
- Fdeclare_vtab uintptr
- Fenable_shared_cache uintptr
- Ferrcode uintptr
- Ferrmsg uintptr
- Ferrmsg16 uintptr
- Fexec uintptr
- Fexpired uintptr
- Ffinalize uintptr
- Ffree uintptr
- Ffree_table uintptr
- Fget_autocommit uintptr
- Fget_auxdata uintptr
- Fget_table uintptr
- Fglobal_recover uintptr
- Finterruptx uintptr
- Flast_insert_rowid uintptr
- Flibversion uintptr
- Flibversion_number uintptr
- Fmalloc uintptr
- Fmprintf uintptr
- Fopen uintptr
- Fopen16 uintptr
- Fprepare uintptr
- Fprepare16 uintptr
- Fprofile uintptr
- Fprogress_handler uintptr
- Frealloc uintptr
- Freset uintptr
- Fresult_blob uintptr
- Fresult_double uintptr
- Fresult_error uintptr
- Fresult_error16 uintptr
- Fresult_int uintptr
- Fresult_int64 uintptr
- Fresult_null uintptr
- Fresult_text uintptr
- Fresult_text16 uintptr
- Fresult_text16be uintptr
- Fresult_text16le uintptr
- Fresult_value uintptr
- Frollback_hook uintptr
- Fset_authorizer uintptr
- Fset_auxdata uintptr
- Fxsnprintf uintptr
- Fstep uintptr
- Ftable_column_metadata uintptr
- Fthread_cleanup uintptr
- Ftotal_changes uintptr
- Ftrace uintptr
- Ftransfer_bindings uintptr
- Fupdate_hook uintptr
- Fuser_data uintptr
- Fvalue_blob uintptr
- Fvalue_bytes uintptr
- Fvalue_bytes16 uintptr
- Fvalue_double uintptr
- Fvalue_int uintptr
- Fvalue_int64 uintptr
- Fvalue_numeric_type uintptr
- Fvalue_text uintptr
- Fvalue_text16 uintptr
- Fvalue_text16be uintptr
- Fvalue_text16le uintptr
- Fvalue_type uintptr
- Fvmprintf uintptr
- Foverload_function uintptr
- Fprepare_v2 uintptr
- Fprepare16_v2 uintptr
- Fclear_bindings uintptr
- Fcreate_module_v2 uintptr
- Fbind_zeroblob uintptr
- Fblob_bytes uintptr
- Fblob_close uintptr
- Fblob_open uintptr
- Fblob_read uintptr
- Fblob_write uintptr
- Fcreate_collation_v2 uintptr
- Ffile_control uintptr
- Fmemory_highwater uintptr
- Fmemory_used uintptr
- Fmutex_alloc uintptr
- Fmutex_enter uintptr
- Fmutex_free uintptr
- Fmutex_leave uintptr
- Fmutex_try uintptr
- Fopen_v2 uintptr
- Frelease_memory uintptr
- Fresult_error_nomem uintptr
- Fresult_error_toobig uintptr
- Fsleep uintptr
- Fsoft_heap_limit uintptr
- Fvfs_find uintptr
- Fvfs_register uintptr
- Fvfs_unregister uintptr
- Fxthreadsafe uintptr
- Fresult_zeroblob uintptr
- Fresult_error_code uintptr
- Ftest_control uintptr
- Frandomness uintptr
- Fcontext_db_handle uintptr
- Fextended_result_codes uintptr
- Flimit uintptr
- Fnext_stmt uintptr
- Fsql uintptr
- Fstatus uintptr
- Fbackup_finish uintptr
- Fbackup_init uintptr
- Fbackup_pagecount uintptr
- Fbackup_remaining uintptr
- Fbackup_step uintptr
- Fcompileoption_get uintptr
- Fcompileoption_used uintptr
- Fcreate_function_v2 uintptr
- Fdb_config uintptr
- Fdb_mutex uintptr
- Fdb_status uintptr
- Fextended_errcode uintptr
- Flog uintptr
- Fsoft_heap_limit64 uintptr
- Fsourceid uintptr
- Fstmt_status uintptr
- Fstrnicmp uintptr
- Funlock_notify uintptr
- Fwal_autocheckpoint uintptr
- Fwal_checkpoint uintptr
- Fwal_hook uintptr
- Fblob_reopen uintptr
- Fvtab_config uintptr
- Fvtab_on_conflict uintptr
- Fclose_v2 uintptr
- Fdb_filename uintptr
- Fdb_readonly uintptr
- Fdb_release_memory uintptr
- Ferrstr uintptr
- Fstmt_busy uintptr
- Fstmt_readonly uintptr
- Fstricmp uintptr
- Furi_boolean uintptr
- Furi_int64 uintptr
- Furi_parameter uintptr
- Fxvsnprintf uintptr
- Fwal_checkpoint_v2 uintptr
- Fauto_extension uintptr
- Fbind_blob64 uintptr
- Fbind_text64 uintptr
- Fcancel_auto_extension uintptr
- Fload_extension uintptr
- Fmalloc64 uintptr
- Fmsize uintptr
- Frealloc64 uintptr
- Freset_auto_extension uintptr
- Fresult_blob64 uintptr
- Fresult_text64 uintptr
- Fstrglob uintptr
- Fvalue_dup uintptr
- Fvalue_free uintptr
- Fresult_zeroblob64 uintptr
- Fbind_zeroblob64 uintptr
- Fvalue_subtype uintptr
- Fresult_subtype uintptr
- Fstatus64 uintptr
- Fstrlike uintptr
- Fdb_cacheflush uintptr
- Fsystem_errno uintptr
- Ftrace_v2 uintptr
- Fexpanded_sql uintptr
- Fset_last_insert_rowid uintptr
- Fprepare_v3 uintptr
- Fprepare16_v3 uintptr
- Fbind_pointer uintptr
- Fresult_pointer uintptr
- Fvalue_pointer uintptr
- Fvtab_nochange uintptr
- Fvalue_nochange uintptr
- Fvtab_collation uintptr
- Fkeyword_count uintptr
- Fkeyword_name uintptr
- Fkeyword_check uintptr
- Fstr_new uintptr
- Fstr_finish uintptr
- Fstr_appendf uintptr
- Fstr_vappendf uintptr
- Fstr_append uintptr
- Fstr_appendall uintptr
- Fstr_appendchar uintptr
- Fstr_reset uintptr
- Fstr_errcode uintptr
- Fstr_length uintptr
- Fstr_value uintptr
- Fcreate_window_function uintptr
- Fnormalized_sql uintptr
- Fstmt_isexplain uintptr
- Fvalue_frombind uintptr
- Fdrop_modules uintptr
- Fhard_heap_limit64 uintptr
- Furi_key uintptr
- Ffilename_database uintptr
- Ffilename_journal uintptr
- Ffilename_wal uintptr
- Fcreate_filename uintptr
- Ffree_filename uintptr
- Fdatabase_file_object uintptr
- Ftxn_state uintptr
- Fchanges64 uintptr
- Ftotal_changes64 uintptr
- Fautovacuum_pages uintptr
- Ferror_offset uintptr
- Fvtab_rhs_value uintptr
- Fvtab_distinct uintptr
- Fvtab_in uintptr
- Fvtab_in_first uintptr
- Fvtab_in_next uintptr
- Fdeserialize uintptr
- Fserialize uintptr
- Fdb_name uintptr
- Fvalue_encoding uintptr
- Fis_interrupted uintptr
- Fstmt_explain uintptr
- Fget_clientdata uintptr
- Fset_clientdata uintptr
- Fsetlk_timeout uintptr
-}
-
-type sqlite3_api_routines1 = Tsqlite3_api_routines1
-
// C documentation
//
// /*
@@ -113752,14 +107925,9 @@ type Tsqlite3AutoExtList = struct {
type sqlite3AutoExtList = Tsqlite3AutoExtList
-type Tsqlite3AutoExtList1 = struct {
- FnExt Tu32
- FaExt uintptr
-}
-
-type sqlite3AutoExtList1 = Tsqlite3AutoExtList1
+var _sqlite3Autoext = Tsqlite3AutoExtList{}
-var _sqlite3Autoext = Tsqlite3AutoExtList1{}
+type t__ccgo_fp__Xsqlite3_auto_extension_0 = func(*libc.TLS)
/* The "wsdAutoext" macro will resolve to the autoextension
** state vector. If writable static data is unsupported on the target,
@@ -113774,7 +107942,7 @@ var _sqlite3Autoext = Tsqlite3AutoExtList1{}
// ** Register a statically linked extension that is automatically
// ** loaded by every new database connection.
// */
-func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
+func Xsqlite3_auto_extension(tls *libc.TLS, __ccgo_fp_xInit uintptr) (r int32) {
var aNew, mutex uintptr
var i Tu32
var nByte Tu64
@@ -113792,7 +107960,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
if !(i < _sqlite3Autoext.FnExt) {
break
}
- if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*4)) == xInit {
+ if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*4)) == __ccgo_fp_xInit {
break
}
goto _1
@@ -113807,7 +107975,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
rc = int32(SQLITE_NOMEM)
} else {
_sqlite3Autoext.FaExt = aNew
- *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(_sqlite3Autoext.FnExt)*4)) = xInit
+ *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(_sqlite3Autoext.FnExt)*4)) = __ccgo_fp_xInit
_sqlite3Autoext.FnExt++
}
}
@@ -113817,6 +107985,8 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
return r
}
+type t__ccgo_fp__Xsqlite3_cancel_auto_extension_0 = func(*libc.TLS)
+
// C documentation
//
// /*
@@ -113828,7 +107998,7 @@ func Xsqlite3_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
// ** Return 1 if xInit was found on the list and removed. Return 0 if xInit
// ** was not on the list.
// */
-func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
+func Xsqlite3_cancel_auto_extension(tls *libc.TLS, __ccgo_fp_xInit uintptr) (r int32) {
var i, n int32
var mutex uintptr
_, _, _ = i, mutex, n
@@ -113840,7 +108010,7 @@ func Xsqlite3_cancel_auto_extension(tls *libc.TLS, xInit uintptr) (r int32) {
if !(i >= 0) {
break
}
- if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*4)) == xInit {
+ if *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*4)) == __ccgo_fp_xInit {
_sqlite3Autoext.FnExt--
*(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(i)*4)) = *(*uintptr)(unsafe.Pointer(_sqlite3Autoext.FaExt + uintptr(_sqlite3Autoext.FnExt)*4))
n++
@@ -117567,25 +111737,6 @@ type TPragmaVtabCursor = struct {
type PragmaVtabCursor = TPragmaVtabCursor
-type TPragmaVtab1 = struct {
- Fbase Tsqlite3_vtab
- Fdb uintptr
- FpName uintptr
- FnHidden Tu8
- FiHidden Tu8
-}
-
-type PragmaVtab1 = TPragmaVtab1
-
-type TPragmaVtabCursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FpPragma uintptr
- FiRowid Tsqlite_int64
- FazArg [2]uintptr
-}
-
-type PragmaVtabCursor1 = TPragmaVtabCursor1
-
// C documentation
//
// /*
@@ -117987,7 +112138,7 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
(*TInitData)(unsafe.Pointer(pData)).Frc = int32(SQLITE_ERROR)
} else {
if (*Tsqlite3)(unsafe.Pointer(db)).Fflags&uint64(SQLITE_WriteSchema) != 0 {
- (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143765))
+ (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143792))
} else {
if *(*uintptr)(unsafe.Pointer(azObj + 1*4)) != 0 {
v1 = *(*uintptr)(unsafe.Pointer(azObj + 1*4))
@@ -118000,7 +112151,7 @@ func _corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr)
z = _sqlite3MPrintf(tls, db, __ccgo_ts+18990, libc.VaList(bp+8, z, zExtra))
}
*(*uintptr)(unsafe.Pointer((*TInitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z
- (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143772))
+ (*TInitData)(unsafe.Pointer(pData)).Frc = _sqlite3CorruptError(tls, int32(143799))
}
}
}
@@ -118594,7 +112745,7 @@ func _sqlite3ParseObjectReset(tls *libc.TLS, pParse uintptr) {
// **
// ** pObj = sqlite3ParserAddCleanup(pParse, destructor, pObj);
// */
-func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, pPtr uintptr) (r uintptr) {
+func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, __ccgo_fp_xCleanup uintptr, pPtr uintptr) (r uintptr) {
var pCleanup uintptr
_ = pCleanup
if _sqlite3FaultSim(tls, int32(300)) != 0 {
@@ -118607,9 +112758,9 @@ func _sqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p
(*TParseCleanup)(unsafe.Pointer(pCleanup)).FpNext = (*TParse)(unsafe.Pointer(pParse)).FpCleanup
(*TParse)(unsafe.Pointer(pParse)).FpCleanup = pCleanup
(*TParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr = pPtr
- (*TParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup = xCleanup
+ (*TParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup = __ccgo_fp_xCleanup
} else {
- (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{xCleanup})))(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pPtr)
+ (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xCleanup})))(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pPtr)
pPtr = uintptr(0)
}
return pPtr
@@ -118796,7 +112947,7 @@ func _sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int3
cnt = 0
*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
- return _sqlite3MisuseError(tls, int32(144572))
+ return _sqlite3MisuseError(tls, int32(144599))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
_sqlite3BtreeEnterAll(tls, db)
@@ -118930,7 +113081,7 @@ func _sqlite3Prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, pr
rc = SQLITE_OK
*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
if !(_sqlite3SafetyCheckOk(tls, db) != 0) || zSql == uintptr(0) {
- return _sqlite3MisuseError(tls, int32(144721))
+ return _sqlite3MisuseError(tls, int32(144748))
}
/* Make sure nBytes is non-negative and correct. It should be the
** number of bytes until the end of the input buffer or until the first
@@ -119052,15 +113203,6 @@ type TDistinctCtx = struct {
type DistinctCtx = TDistinctCtx
-type TDistinctCtx1 = struct {
- FisTnct Tu8
- FeTnctType Tu8
- FtabTnct int32
- FaddrTnct int32
-}
-
-type DistinctCtx1 = TDistinctCtx1
-
// C documentation
//
// /*
@@ -119096,21 +113238,6 @@ type TSortCtx = struct {
type SortCtx = TSortCtx
-type TSortCtx1 = struct {
- FpOrderBy uintptr
- FnOBSat int32
- FiECursor int32
- FregReturn int32
- FlabelBkOut int32
- FaddrSortIndex int32
- FlabelDone int32
- FlabelOBLopt int32
- FsortFlags Tu8
- FpDeferredRowLoad uintptr
-}
-
-type SortCtx1 = TSortCtx1
-
// C documentation
//
// /*
@@ -119797,13 +113924,6 @@ type TRowLoadInfo = struct {
type RowLoadInfo = TRowLoadInfo
-type TRowLoadInfo1 = struct {
- FregResult int32
- FecelFlags Tu8
-}
-
-type RowLoadInfo1 = TRowLoadInfo1
-
// C documentation
//
// /*
@@ -123778,18 +117898,6 @@ type TWhereConst = struct {
type WhereConst = TWhereConst
-type TWhereConst1 = struct {
- FpParse uintptr
- FpOomFault uintptr
- FnConst int32
- FnChng int32
- FbHasAffBlob int32
- FmExcludeOn Tu32
- FapExpr uintptr
-}
-
-type WhereConst1 = TWhereConst1
-
// C documentation
//
// /*
@@ -127382,6 +121490,7 @@ func _sqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (r
*(*int32)(unsafe.Pointer(pParse + 52)) += (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr
_sqlite3VdbeAddOp2(tls, v, int32(OP_Integer), 0, iAbortFlag)
_sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, iAMem, iAMem+(*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr-int32(1))
+ _sqlite3ExprNullRegisterRange(tls, pParse, iAMem, (*TExprList)(unsafe.Pointer(pGroupBy)).FnExpr)
/* Begin a loop that will extract all source rows in GROUP BY order.
** This might involve two separate loops with an OP_Sort in between, or
** it might be a single loop that uses an index to extract information
@@ -131686,39 +125795,6 @@ var _aCopy = [10]uint8{
8: uint8(BTREE_APPLICATION_ID),
}
-/************** End of vacuum.c **********************************************/
-/************** Begin file vtab.c ********************************************/
-/*
-** 2006 June 10
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file contains code used to help implement virtual tables.
- */
-/* #include "sqliteInt.h" */
-
-/*
-** Before a virtual table xCreate() or xConnect() method is invoked, the
-** sqlite3.pVtabCtx member variable is set to point to an instance of
-** this struct allocated on the stack. It is used by the implementation of
-** the sqlite3_declare_vtab() and sqlite3_vtab_config() APIs, both of which
-** are invoked only from within xCreate and xConnect methods.
- */
-type TVtabCtx1 = struct {
- FpVTable uintptr
- FpTab uintptr
- FpPrior uintptr
- FbDeclared int32
-}
-
-type VtabCtx1 = TVtabCtx1
-
// C documentation
//
// /*
@@ -131729,7 +125805,7 @@ type VtabCtx1 = TVtabCtx1
// ** If there already exists a module with zName, replace it with the new one.
// ** If pModule==0, then delete the module zName if it exists.
// */
-func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) (r uintptr) {
+func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, __ccgo_fp_xDestroy uintptr) (r uintptr) {
var nName int32
var pDel, pMod, zCopy uintptr
_, _, _, _ = nName, pDel, pMod, zCopy
@@ -131748,7 +125824,7 @@ func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule
(*TModule)(unsafe.Pointer(pMod)).FzName = zCopy
(*TModule)(unsafe.Pointer(pMod)).FpModule = pModule
(*TModule)(unsafe.Pointer(pMod)).FpAux = pAux
- (*TModule)(unsafe.Pointer(pMod)).FxDestroy = xDestroy
+ (*TModule)(unsafe.Pointer(pMod)).FxDestroy = __ccgo_fp_xDestroy
(*TModule)(unsafe.Pointer(pMod)).FpEpoTab = uintptr(0)
(*TModule)(unsafe.Pointer(pMod)).FnRefModule = int32(1)
}
@@ -131773,15 +125849,15 @@ func _sqlite3VtabCreateModule(tls *libc.TLS, db uintptr, zName uintptr, pModule
// ** This function implements the sqlite3_create_module() and
// ** sqlite3_create_module_v2() interfaces.
// */
-func _createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) (r int32) {
+func _createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
var rc int32
_ = rc
rc = SQLITE_OK
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- _sqlite3VtabCreateModule(tls, db, zName, pModule, pAux, xDestroy)
+ _sqlite3VtabCreateModule(tls, db, zName, pModule, pAux, __ccgo_fp_xDestroy)
rc = _sqlite3ApiExit(tls, db, rc)
- if rc != SQLITE_OK && xDestroy != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestroy})))(tls, pAux)
+ if rc != SQLITE_OK && __ccgo_fp_xDestroy != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestroy})))(tls, pAux)
}
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return rc
@@ -131796,13 +125872,15 @@ func Xsqlite3_create_module(tls *libc.TLS, db uintptr, zName uintptr, pModule ui
return _createModule(tls, db, zName, pModule, pAux, uintptr(0))
}
+type t__ccgo_fp__Xsqlite3_create_module_v2_4 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** External API function used to create a new virtual-table module.
// */
-func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, xDestroy uintptr) (r int32) {
- return _createModule(tls, db, zName, pModule, pAux, xDestroy)
+func Xsqlite3_create_module_v2(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAux uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
+ return _createModule(tls, db, zName, pModule, pAux, __ccgo_fp_xDestroy)
}
// C documentation
@@ -132324,7 +126402,7 @@ func _sqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) {
// ** pointer to the function to invoke is passed as the fourth parameter
// ** to this procedure.
// */
-func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, xConstruct uintptr, pzErr uintptr) (r int32) {
+func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, __ccgo_fp_xConstruct uintptr, pzErr uintptr) (r int32) {
bp := tls.Alloc(48)
defer tls.Free(48)
var azArg, pCtx, pVTable, zFormat, zModuleName, zType, p6 uintptr
@@ -132385,7 +126463,7 @@ func _vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr,
(*(*TVtabCtx)(unsafe.Pointer(bp))).FbDeclared = 0
(*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp
(*TTable)(unsafe.Pointer(pTab)).FnTabRef++
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConstruct})))(tls, db, (*TModule)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+8, bp+16)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConstruct})))(tls, db, (*TModule)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, pVTable+8, bp+16)
_sqlite3DeleteTable(tls, db, pTab)
(*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*(*TVtabCtx)(unsafe.Pointer(bp))).FpPrior
if rc == int32(SQLITE_NOMEM) {
@@ -132669,9 +126747,9 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) (r i
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pCtx = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx
if !(pCtx != 0) || (*TVtabCtx)(unsafe.Pointer(pCtx)).FbDeclared != 0 {
- _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(158372)))
+ _sqlite3Error(tls, db, _sqlite3MisuseError(tls, int32(158400)))
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- return _sqlite3MisuseError(tls, int32(158374))
+ return _sqlite3MisuseError(tls, int32(158402))
}
pTab = (*TVtabCtx)(unsafe.Pointer(pCtx)).FpTab
_sqlite3ParseObjectInit(tls, bp, db)
@@ -133253,7 +127331,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
p = (*Tsqlite3)(unsafe.Pointer(db)).FpVtabCtx
if !(p != 0) {
- rc = _sqlite3MisuseError(tls, int32(158869))
+ rc = _sqlite3MisuseError(tls, int32(158897))
} else {
ap = va
switch op {
@@ -133266,7 +127344,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) (r in
case int32(SQLITE_VTAB_USES_ALL_SCHEMAS):
(*TVTable)(unsafe.Pointer((*TVtabCtx)(unsafe.Pointer(p)).FpVTable)).FbAllSchemas = uint8(1)
default:
- rc = _sqlite3MisuseError(tls, int32(158891))
+ rc = _sqlite3MisuseError(tls, int32(158919))
break
}
_ = ap
@@ -133526,435 +127604,6 @@ type TWhereRightJoin = struct {
type WhereRightJoin = TWhereRightJoin
-/*
-** This object is a header on a block of allocated memory that will be
-** automatically freed when its WInfo object is destructed.
- */
-type TWhereMemBlock1 = struct {
- FpNext uintptr
- Fsz Tu64
-}
-
-type WhereMemBlock1 = TWhereMemBlock1
-
-/*
-** Extra information attached to a WhereLevel that is a RIGHT JOIN.
- */
-type TWhereRightJoin1 = struct {
- FiMatch int32
- FregBloom int32
- FregReturn int32
- FaddrSubrtn int32
- FendSubrtn int32
-}
-
-type WhereRightJoin1 = TWhereRightJoin1
-
-/*
-** This object contains information needed to implement a single nested
-** loop in WHERE clause.
-**
-** Contrast this object with WhereLoop. This object describes the
-** implementation of the loop. WhereLoop describes the algorithm.
-** This object contains a pointer to the WhereLoop algorithm as one of
-** its elements.
-**
-** The WhereInfo object contains a single instance of this object for
-** each term in the FROM clause (which is to say, for each of the
-** nested loops as implemented). The order of WhereLevel objects determines
-** the loop nested order, with WhereInfo.a[0] being the outer loop and
-** WhereInfo.a[WhereInfo.nLevel-1] being the inner loop.
- */
-type TWhereLevel1 = struct {
- FiLeftJoin int32
- FiTabCur int32
- FiIdxCur int32
- FaddrBrk int32
- FaddrNxt int32
- FaddrSkip int32
- FaddrCont int32
- FaddrFirst int32
- FaddrBody int32
- FregBignull int32
- FaddrBignull int32
- FregFilter int32
- FpRJ uintptr
- FiFrom Tu8
- Fop Tu8
- Fp3 Tu8
- Fp5 Tu8
- Fp1 int32
- Fp2 int32
- Fu struct {
- FpCoveringIdx [0]uintptr
- Fin struct {
- FnIn int32
- FaInLoop uintptr
- }
- }
- FpWLoop uintptr
- FnotReady TBitmask
-}
-
-type WhereLevel1 = TWhereLevel1
-
-/*
-** Each instance of this object represents an algorithm for evaluating one
-** term of a join. Every term of the FROM clause will have at least
-** one corresponding WhereLoop object (unless INDEXED BY constraints
-** prevent a query solution - which is an error) and many terms of the
-** FROM clause will have multiple WhereLoop objects, each describing a
-** potential way of implementing that FROM-clause term, together with
-** dependencies and cost estimates for using the chosen algorithm.
-**
-** Query planning consists of building up a collection of these WhereLoop
-** objects, then computing a particular sequence of WhereLoop objects, with
-** one WhereLoop object per FROM clause term, that satisfy all dependencies
-** and that minimize the overall cost.
- */
-type TWhereLoop1 = struct {
- Fprereq TBitmask
- FmaskSelf TBitmask
- FiTab Tu8
- FiSortIdx Tu8
- FrSetup TLogEst
- FrRun TLogEst
- FnOut TLogEst
- Fu struct {
- Fvtab [0]struct {
- FidxNum int32
- F__ccgo4 uint8
- FisOrdered Ti8
- FomitMask Tu16
- FidxStr uintptr
- FmHandleIn Tu32
- }
- Fbtree struct {
- FnEq Tu16
- FnBtm Tu16
- FnTop Tu16
- FnDistinctCol Tu16
- FpIndex uintptr
- FpOrderBy uintptr
- }
- }
- FwsFlags Tu32
- FnLTerm Tu16
- FnSkip Tu16
- FnLSlot Tu16
- FaLTerm uintptr
- FpNextLoop uintptr
- FaLTermSpace [3]uintptr
-}
-
-type WhereLoop1 = TWhereLoop1
-
-/* This object holds the prerequisites and the cost of running a
-** subquery on one operand of an OR operator in the WHERE clause.
-** See WhereOrSet for additional information
- */
-type TWhereOrCost1 = struct {
- Fprereq TBitmask
- FrRun TLogEst
- FnOut TLogEst
-}
-
-type WhereOrCost1 = TWhereOrCost1
-
-/* The WhereOrSet object holds a set of possible WhereOrCosts that
-** correspond to the subquery(s) of OR-clause processing. Only the
-** best N_OR_COST elements are retained.
- */
-type TWhereOrSet1 = struct {
- Fn Tu16
- Fa [3]TWhereOrCost
-}
-
-type WhereOrSet1 = TWhereOrSet1
-
-/*
-** Each instance of this object holds a sequence of WhereLoop objects
-** that implement some or all of a query plan.
-**
-** Think of each WhereLoop object as a node in a graph with arcs
-** showing dependencies and costs for travelling between nodes. (That is
-** not a completely accurate description because WhereLoop costs are a
-** vector, not a scalar, and because dependencies are many-to-one, not
-** one-to-one as are graph nodes. But it is a useful visualization aid.)
-** Then a WherePath object is a path through the graph that visits some
-** or all of the WhereLoop objects once.
-**
-** The "solver" works by creating the N best WherePath objects of length
-** 1. Then using those as a basis to compute the N best WherePath objects
-** of length 2. And so forth until the length of WherePaths equals the
-** number of nodes in the FROM clause. The best (lowest cost) WherePath
-** at the end is the chosen query plan.
- */
-type TWherePath1 = struct {
- FmaskLoop TBitmask
- FrevLoop TBitmask
- FnRow TLogEst
- FrCost TLogEst
- FrUnsort TLogEst
- FisOrdered Ti8
- FaLoop uintptr
-}
-
-type WherePath1 = TWherePath1
-
-/*
-** The query generator uses an array of instances of this structure to
-** help it analyze the subexpressions of the WHERE clause. Each WHERE
-** clause subexpression is separated from the others by AND operators,
-** usually, or sometimes subexpressions separated by OR.
-**
-** All WhereTerms are collected into a single WhereClause structure.
-** The following identity holds:
-**
-** WhereTerm.pWC->a[WhereTerm.idx] == WhereTerm
-**
-** When a term is of the form:
-**
-** X
-**
-** where X is a column name and is one of certain operators,
-** then WhereTerm.leftCursor and WhereTerm.u.leftColumn record the
-** cursor number and column number for X. WhereTerm.eOperator records
-** the using a bitmask encoding defined by WO_xxx below. The
-** use of a bitmask encoding for the operator allows us to search
-** quickly for terms that match any of several different operators.
-**
-** A WhereTerm might also be two or more subterms connected by OR:
-**
-** (t1.X ) OR (t1.Y ) OR ....
-**
-** In this second case, wtFlag has the TERM_ORINFO bit set and eOperator==WO_OR
-** and the WhereTerm.u.pOrInfo field points to auxiliary information that
-** is collected about the OR clause.
-**
-** If a term in the WHERE clause does not match either of the two previous
-** categories, then eOperator==0. The WhereTerm.pExpr field is still set
-** to the original subexpression content and wtFlags is set up appropriately
-** but no other fields in the WhereTerm object are meaningful.
-**
-** When eOperator!=0, prereqRight and prereqAll record sets of cursor numbers,
-** but they do so indirectly. A single WhereMaskSet structure translates
-** cursor number into bits and the translated bit is stored in the prereq
-** fields. The translation is used in order to maximize the number of
-** bits that will fit in a Bitmask. The VDBE cursor numbers might be
-** spread out over the non-negative integers. For example, the cursor
-** numbers might be 3, 8, 9, 10, 20, 23, 41, and 45. The WhereMaskSet
-** translates these sparse cursor numbers into consecutive integers
-** beginning with 0 in order to make the best possible use of the available
-** bits in the Bitmask. So, in the example above, the cursor numbers
-** would be mapped into integers 0 through 7.
-**
-** The number of terms in a join is limited by the number of bits
-** in prereqRight and prereqAll. The default is 64 bits, hence SQLite
-** is only able to process joins with 64 or fewer tables.
- */
-type TWhereTerm1 = struct {
- FpExpr uintptr
- FpWC uintptr
- FtruthProb TLogEst
- FwtFlags Tu16
- FeOperator Tu16
- FnChild Tu8
- FeMatchOp Tu8
- FiParent int32
- FleftCursor int32
- Fu struct {
- FpOrInfo [0]uintptr
- FpAndInfo [0]uintptr
- Fx struct {
- FleftColumn int32
- FiField int32
- }
- }
- FprereqRight TBitmask
- FprereqAll TBitmask
-}
-
-type WhereTerm1 = TWhereTerm1
-
-/*
-** Allowed values of WhereTerm.wtFlags
- */
-
-/*
-** An instance of the WhereScan object is used as an iterator for locating
-** terms in the WHERE clause that are useful to the query planner.
- */
-type TWhereScan1 = struct {
- FpOrigWC uintptr
- FpWC uintptr
- FzCollName uintptr
- FpIdxExpr uintptr
- Fk int32
- FopMask Tu32
- Fidxaff int8
- FiEquiv uint8
- FnEquiv uint8
- FaiCur [11]int32
- FaiColumn [11]Ti16
-}
-
-type WhereScan1 = TWhereScan1
-
-/*
-** An instance of the following structure holds all information about a
-** WHERE clause. Mostly this is a container for one or more WhereTerms.
-**
-** Explanation of pOuter: For a WHERE clause of the form
-**
-** a AND ((b AND c) OR (d AND e)) AND f
-**
-** There are separate WhereClause objects for the whole clause and for
-** the subclauses "(b AND c)" and "(d AND e)". The pOuter field of the
-** subclauses points to the WhereClause object for the whole clause.
- */
-type TWhereClause1 = struct {
- FpWInfo uintptr
- FpOuter uintptr
- Fop Tu8
- FhasOr Tu8
- FnTerm int32
- FnSlot int32
- FnBase int32
- Fa uintptr
- FaStatic [8]TWhereTerm
-}
-
-type WhereClause1 = TWhereClause1
-
-/*
-** A WhereTerm with eOperator==WO_OR has its u.pOrInfo pointer set to
-** a dynamically allocated instance of the following structure.
- */
-type TWhereOrInfo1 = struct {
- Fwc TWhereClause
- Findexable TBitmask
-}
-
-type WhereOrInfo1 = TWhereOrInfo1
-
-/*
-** A WhereTerm with eOperator==WO_AND has its u.pAndInfo pointer set to
-** a dynamically allocated instance of the following structure.
- */
-type TWhereAndInfo1 = struct {
- Fwc TWhereClause
-}
-
-type WhereAndInfo1 = TWhereAndInfo1
-
-/*
-** An instance of the following structure keeps track of a mapping
-** between VDBE cursor numbers and bits of the bitmasks in WhereTerm.
-**
-** The VDBE cursor numbers are small integers contained in
-** SrcItem.iCursor and Expr.iTable fields. For any given WHERE
-** clause, the cursor numbers might not begin with 0 and they might
-** contain gaps in the numbering sequence. But we want to make maximum
-** use of the bits in our bitmasks. This structure provides a mapping
-** from the sparse cursor numbers into consecutive integers beginning
-** with 0.
-**
-** If WhereMaskSet.ix[A]==B it means that The A-th bit of a Bitmask
-** corresponds VDBE cursor number B. The A-th bit of a bitmask is 1<3, 5->1, 8->2, 29->0,
-** 57->5, 73->4. Or one of 719 other combinations might be used. It
-** does not really matter. What is important is that sparse cursor
-** numbers all get mapped into bit numbers that begin with 0 and contain
-** no gaps.
- */
-type TWhereMaskSet1 = struct {
- FbVarSelect int32
- Fn int32
- Fix [64]int32
-}
-
-type WhereMaskSet1 = TWhereMaskSet1
-
-/*
-** This object is a convenience wrapper holding all information needed
-** to construct WhereLoop objects for a particular query.
- */
-type TWhereLoopBuilder1 = struct {
- FpWInfo uintptr
- FpWC uintptr
- FpNew uintptr
- FpOrSet uintptr
- FpRec uintptr
- FnRecValid int32
- FbldFlags1 uint8
- FbldFlags2 uint8
- FiPlanLimit uint32
-}
-
-type WhereLoopBuilder1 = TWhereLoopBuilder1
-
-/* Allowed values for WhereLoopBuider.bldFlags */
-
-/* The WhereLoopBuilder.iPlanLimit is used to limit the number of
-** index+constraint combinations the query planner will consider for a
-** particular query. If this parameter is unlimited, then certain
-** pathological queries can spend excess time in the sqlite3WhereBegin()
-** routine. The limit is high enough that is should not impact real-world
-** queries.
-**
-** SQLITE_QUERY_PLANNER_LIMIT is the baseline limit. The limit is
-** increased by SQLITE_QUERY_PLANNER_LIMIT_INCR before each term of the FROM
-** clause is processed, so that every table in a join is guaranteed to be
-** able to propose a some index+constraint combinations even if the initial
-** baseline limit was exhausted by prior tables of the join.
- */
-
-/*
-** The WHERE clause processing routine has two halves. The
-** first part does the start of the WHERE loop and the second
-** half does the tail of the WHERE loop. An instance of
-** this structure is returned by the first half and passed
-** into the second half to give some continuity.
-**
-** An instance of this object holds the complete state of the query
-** planner.
- */
-type TWhereInfo1 = struct {
- FpParse uintptr
- FpTabList uintptr
- FpOrderBy uintptr
- FpResultSet uintptr
- FpSelect uintptr
- FaiCurOnePass [2]int32
- FiContinue int32
- FiBreak int32
- FsavedNQueryLoop int32
- FwctrlFlags Tu16
- FiLimit TLogEst
- FnLevel Tu8
- FnOBSat Ti8
- FeOnePass Tu8
- FeDistinct Tu8
- F__ccgo48 uint8
- FnRowOut TLogEst
- FiTop int32
- FiEndWhere int32
- FpLoops uintptr
- FpMemToFree uintptr
- FrevMask TBitmask
- FsWC TWhereClause
- FsMaskSet TWhereMaskSet
-}
-
-type WhereInfo1 = TWhereInfo1
-
/*
** Bitmasks for the operators on WhereTerm objects. These are all
** operators that are of interest to the query planner. An
@@ -134299,10 +127948,10 @@ func _sqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr
v1 = pParse
}
if libc.Int32FromUint8((*TParse)(unsafe.Pointer(v1)).Fexplain) == int32(2) || libc.Bool(0 != 0) {
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_MULTI_OR) == uint32(0) && libc.Int32FromUint16(wctrlFlags)&int32(WHERE_OR_SUBCLAUSE) == 0 {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_MULTI_OR) == uint32(0) && libc.Int32FromUint16(wctrlFlags)&int32(WHERE_OR_SUBCLAUSE) == 0 {
v = (*TParse)(unsafe.Pointer(pParse)).FpVdbe
addr = _sqlite3VdbeCurrentAddr(tls, v)
- ret = _sqlite3VdbeAddOp3(tls, v, int32(OP_Explain), addr, (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, int32((*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FrRun))
+ ret = _sqlite3VdbeAddOp3(tls, v, int32(OP_Explain), addr, (*TParse)(unsafe.Pointer(pParse)).FaddrExplain, int32((*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FrRun))
_sqlite3WhereAddExplainText(tls, pParse, addr, pTabList, pLevel, wctrlFlags)
}
}
@@ -134925,7 +128574,7 @@ func _codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uint
** not a transitive constraint. For an example of where that does not
** work, see https://sqlite.org/forum/forumpost/eb8613976a (2021-05-04)
*/
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_TRANSCONS) == uint32(0) || libc.Int32FromUint16((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_EQUIV) == 0 {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags&uint32(WHERE_TRANSCONS) == uint32(0) || libc.Int32FromUint16((*TWhereTerm)(unsafe.Pointer(pTerm)).FeOperator)&int32(WO_EQUIV) == 0 {
_disableTerm(tls, pLevel, pTerm)
}
return iReg
@@ -135275,7 +128924,7 @@ func _filterPullDown(tls *libc.TLS, pParse uintptr, pWInfo uintptr, iLevel int32
if (*TWhereLevel)(unsafe.Pointer(pLevel)).FregFilter == 0 {
continue
}
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FnSkip != 0 {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FnSkip != 0 {
continue
}
/* ,--- Because sqlite3ConstructBloomFilter() has will not have set
@@ -136821,7 +130470,7 @@ func _sqlite3WhereRightJoinLoop(tls *libc.TLS, pWInfo uintptr, iLevel int32, pLe
break
}
pRight = (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 752 + uintptr(k)*84))).FiFrom)*48
- mAll |= (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 752 + uintptr(k)*84))).FpWLoop)).FmaskSelf
+ mAll |= (*TWhereLoop)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 752 + uintptr(k)*84))).FpWLoop)).FmaskSelf
if int32(*(*uint32)(unsafe.Pointer(pRight + 12 + 4))&0x40>>6) != 0 {
pSubq = *(*uintptr)(unsafe.Pointer(pRight + 44))
_sqlite3VdbeAddOp3(tls, v, int32(OP_Null), 0, (*TSubquery)(unsafe.Pointer(pSubq)).FregResult, (*TSubquery)(unsafe.Pointer(pSubq)).FregResult+(*TExprList)(unsafe.Pointer((*TSelect)(unsafe.Pointer((*TSubquery)(unsafe.Pointer(pSubq)).FpSelect)).FpEList)).FnExpr-int32(1))
@@ -138960,16 +132609,6 @@ type THiddenIndexInfo = struct {
type HiddenIndexInfo = THiddenIndexInfo
-type THiddenIndexInfo1 = struct {
- FpWC uintptr
- FpParse uintptr
- FeDistinct int32
- FmIn Tu32
- FmHandleIn Tu32
-}
-
-type HiddenIndexInfo1 = THiddenIndexInfo1
-
// C documentation
//
// /*
@@ -139082,7 +132721,7 @@ func _sqlite3WhereMinMaxOptEarlyOut(tls *libc.TLS, v uintptr, pWInfo uintptr) {
break
}
pInner = pWInfo + 752 + uintptr(i)*84
- if (*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pInner)).FpWLoop)).FwsFlags&uint32(WHERE_COLUMN_IN) != uint32(0) {
+ if (*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pInner)).FpWLoop)).FwsFlags&uint32(WHERE_COLUMN_IN) != uint32(0) {
_sqlite3VdbeGoto(tls, v, (*TWhereLevel)(unsafe.Pointer(pInner)).FaddrNxt)
return
}
@@ -140600,10 +134239,10 @@ func _allocateIndexInfo(tls *libc.TLS, pWInfo uintptr, pWC uintptr, mUnusable TB
i++
}
}
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FpWC = pWC
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FpParse = pParse
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FeDistinct = eDistinct
- (*THiddenIndexInfo1)(unsafe.Pointer(pHidden)).FmIn = uint32(0)
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FpWC = pWC
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FpParse = pParse
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FeDistinct = eDistinct
+ (*THiddenIndexInfo)(unsafe.Pointer(pHidden)).FmIn = uint32(0)
p = pWC
v10 = libc.Int32FromInt32(0)
j = v10
@@ -142884,15 +136523,6 @@ type TCoveringIndexCheck = struct {
type CoveringIndexCheck = TCoveringIndexCheck
-type TCoveringIndexCheck1 = struct {
- FpIdx uintptr
- FiTabCur int32
- FbExpr Tu8
- FbUnidx Tu8
-}
-
-type CoveringIndexCheck1 = TCoveringIndexCheck1
-
// C documentation
//
// /*
@@ -142924,7 +136554,7 @@ func _whereIsCoveringIndexWalkCallback(tls *libc.TLS, pWalk uintptr, pExpr uintp
if (*TExpr)(unsafe.Pointer(pExpr)).FiTable != (*TCoveringIndexCheck)(unsafe.Pointer(pCk)).FiTabCur {
return WRC_Continue
}
- pIdx = (*TCoveringIndexCheck1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 24)))).FpIdx
+ pIdx = (*TCoveringIndexCheck)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 24)))).FpIdx
aiColumn = (*TIndex)(unsafe.Pointer(pIdx)).FaiColumn
nColumn = (*TIndex)(unsafe.Pointer(pIdx)).FnColumn
i = 0
@@ -142943,7 +136573,7 @@ func _whereIsCoveringIndexWalkCallback(tls *libc.TLS, pWalk uintptr, pExpr uintp
(*TCoveringIndexCheck)(unsafe.Pointer(pCk)).FbUnidx = uint8(1)
return int32(WRC_Abort)
} else {
- if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 56))&0x800>>11)) != 0 && _exprIsCoveredByIndex(tls, pExpr, pIdx, (*TCoveringIndexCheck1)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 24)))).FiTabCur) != 0 {
+ if int32(uint32(*(*uint16)(unsafe.Pointer(pIdx + 56))&0x800>>11)) != 0 && _exprIsCoveredByIndex(tls, pExpr, pIdx, (*TCoveringIndexCheck)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pWalk + 24)))).FiTabCur) != 0 {
(*TCoveringIndexCheck)(unsafe.Pointer(pCk)).FbExpr = uint8(1)
return int32(WRC_Prune)
}
@@ -142980,7 +136610,7 @@ func _whereIsCoveringIndex(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iTabCur
bp := tls.Alloc(48)
defer tls.Free(48)
var i, rc int32
- var _ /* ck at bp+0 */ TCoveringIndexCheck1
+ var _ /* ck at bp+0 */ TCoveringIndexCheck
var _ /* w at bp+12 */ TWalker
_, _ = i, rc
if (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect == uintptr(0) {
@@ -143009,19 +136639,19 @@ func _whereIsCoveringIndex(tls *libc.TLS, pWInfo uintptr, pIdx uintptr, iTabCur
return uint32(0)
}
}
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FpIdx = pIdx
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FiTabCur = iTabCur
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbExpr = uint8(0)
- (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbUnidx = uint8(0)
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FpIdx = pIdx
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FiTabCur = iTabCur
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbExpr = uint8(0)
+ (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbUnidx = uint8(0)
libc.Xmemset(tls, bp+12, 0, uint32(28))
(*(*TWalker)(unsafe.Pointer(bp + 12))).FxExprCallback = __ccgo_fp(_whereIsCoveringIndexWalkCallback)
(*(*TWalker)(unsafe.Pointer(bp + 12))).FxSelectCallback = __ccgo_fp(_sqlite3SelectWalkNoop)
*(*uintptr)(unsafe.Pointer(bp + 12 + 24)) = bp
_sqlite3WalkSelect(tls, bp+12, (*TWhereInfo)(unsafe.Pointer(pWInfo)).FpSelect)
- if (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbUnidx != 0 {
+ if (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbUnidx != 0 {
rc = 0
} else {
- if (*(*TCoveringIndexCheck1)(unsafe.Pointer(bp))).FbExpr != 0 {
+ if (*(*TCoveringIndexCheck)(unsafe.Pointer(bp))).FbExpr != 0 {
rc = int32(WHERE_EXPRIDX)
} else {
rc = int32(WHERE_IDX_ONLY)
@@ -143323,6 +136953,14 @@ func _whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq TBitmask) (r in
FpIndex uintptr
FpOrderBy uintptr
})(unsafe.Pointer(pNew + 24))).FnTop = uint16(0)
+ (*(*struct {
+ FnEq Tu16
+ FnBtm Tu16
+ FnTop Tu16
+ FnDistinctCol Tu16
+ FpIndex uintptr
+ FpOrderBy uintptr
+ })(unsafe.Pointer(pNew + 24))).FnDistinctCol = uint16(0)
(*TWhereLoop)(unsafe.Pointer(pNew)).FnSkip = uint16(0)
(*TWhereLoop)(unsafe.Pointer(pNew)).FnLTerm = uint16(0)
(*TWhereLoop)(unsafe.Pointer(pNew)).FiSortIdx = uint8(0)
@@ -143865,7 +137503,7 @@ func Xsqlite3_vtab_rhs_value(tls *libc.TLS, pIdxInfo uintptr, iCons int32, ppVal
pVal = uintptr(0)
rc = SQLITE_OK
if iCons < 0 || iCons >= (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint {
- rc = _sqlite3MisuseError(tls, int32(168932)) /* EV: R-30545-25046 */
+ rc = _sqlite3MisuseError(tls, int32(168961)) /* EV: R-30545-25046 */
} else {
if *(*uintptr)(unsafe.Pointer(pH + 20 + uintptr(iCons)*4)) == uintptr(0) {
pTerm = _termFromWhereClause(tls, (*THiddenIndexInfo)(unsafe.Pointer(pH)).FpWC, (*(*Tsqlite3_index_constraint)(unsafe.Pointer((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(iCons)*12))).FiTermOffset)
@@ -144530,17 +138168,6 @@ func _wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr,
*(*TBitmask)(unsafe.Pointer(bp)) = obDone
}
break
- } else {
- if libc.Int32FromUint16(wctrlFlags)&int32(WHERE_DISTINCTBY) != 0 {
- (*(*struct {
- FnEq Tu16
- FnBtm Tu16
- FnTop Tu16
- FnDistinctCol Tu16
- FpIndex uintptr
- FpOrderBy uintptr
- })(unsafe.Pointer(pLoop + 24))).FnDistinctCol = uint16(0)
- }
}
iCur = (*(*TSrcItem)(unsafe.Pointer((*TWhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 + uintptr((*TWhereLoop)(unsafe.Pointer(pLoop)).FiTab)*48))).FiCursor
/* Mark off any ORDER BY term X that is a column in the table of
@@ -146515,7 +140142,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere
** that use the OR optimization.
*/
if libc.Int32FromUint16(wctrlFlags)&int32(WHERE_ONEPASS_DESIRED) != 0 {
- wsFlags = libc.Int32FromUint32((*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 752))).FpWLoop)).FwsFlags)
+ wsFlags = libc.Int32FromUint32((*TWhereLoop)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 752))).FpWLoop)).FwsFlags)
bOnerow = libc.BoolInt32(wsFlags&int32(WHERE_ONEROW) != 0)
if bOnerow != 0 || 0 != libc.Int32FromUint16(wctrlFlags)&int32(WHERE_ONEPASS_MULTIROW) && !(libc.Int32FromUint8((*TTable)(unsafe.Pointer((*(*TSrcItem)(unsafe.Pointer(pTabList + 8))).FpSTab)).FeTabType) == libc.Int32FromInt32(TABTYP_VTAB)) && (0 == wsFlags&int32(WHERE_MULTI_OR) || libc.Int32FromUint16(wctrlFlags)&int32(WHERE_DUPLICATES_OK) != 0) && (*Tsqlite3)(unsafe.Pointer(db)).FdbOptFlags&libc.Uint32FromInt32(libc.Int32FromInt32(SQLITE_OnePass)) == uint32(0) {
if bOnerow != 0 {
@@ -146528,7 +140155,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere
if libc.Int32FromUint16(wctrlFlags)&int32(WHERE_ONEPASS_MULTIROW) != 0 {
bFordelete = uint8(OPFLAG_FORDELETE)
}
- (*TWhereLoop1)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 752))).FpWLoop)).FwsFlags = libc.Uint32FromInt32(wsFlags & ^libc.Int32FromInt32(WHERE_IDX_ONLY))
+ (*TWhereLoop)(unsafe.Pointer((*(*TWhereLevel)(unsafe.Pointer(pWInfo + 752))).FpWLoop)).FwsFlags = libc.Uint32FromInt32(wsFlags & ^libc.Int32FromInt32(WHERE_IDX_ONLY))
}
}
}
@@ -146707,7 +140334,7 @@ func _sqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere
goto whereBeginError
}
pLevel = pWInfo + 752 + uintptr(ii)*84
- wsFlags1 = libc.Int32FromUint32((*TWhereLoop1)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags)
+ wsFlags1 = libc.Int32FromUint32((*TWhereLoop)(unsafe.Pointer((*TWhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags)
pSrc = pTabList + 8 + uintptr((*TWhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*48
if int32(*(*uint32)(unsafe.Pointer(pSrc + 12 + 4))&0x20>>5) != 0 {
iOnce = 0
@@ -148042,16 +141669,6 @@ type TWindowRewrite = struct {
type WindowRewrite = TWindowRewrite
-type TWindowRewrite1 = struct {
- FpWin uintptr
- FpSrc uintptr
- FpSub uintptr
- FpTab uintptr
- FpSubSelect uintptr
-}
-
-type WindowRewrite1 = TWindowRewrite1
-
// C documentation
//
// /*
@@ -148070,17 +141687,17 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
** TK_COLUMN expressions that refer to it (the outer SELECT). Do
** not process aggregates or window functions at all, as they belong
** to the scalar sub-select. */
- if (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect != 0 {
+ if (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect != 0 {
if libc.Int32FromUint8((*TExpr)(unsafe.Pointer(pExpr)).Fop) != int32(TK_COLUMN) {
return WRC_Continue
} else {
- nSrc = (*TSrcList)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSrc)).FnSrc
+ nSrc = (*TSrcList)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSrc)).FnSrc
i = 0
for {
if !(i < nSrc) {
break
}
- if (*TExpr)(unsafe.Pointer(pExpr)).FiTable == (*(*TSrcItem)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*48))).FiCursor {
+ if (*TExpr)(unsafe.Pointer(pExpr)).FiTable == (*(*TSrcItem)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSrc + 8 + uintptr(i)*48))).FiCursor {
break
}
goto _1
@@ -148098,7 +141715,7 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
if !((*TExpr)(unsafe.Pointer(pExpr)).Fflags&libc.Uint32FromInt32(libc.Int32FromInt32(EP_WinFunc)) != libc.Uint32FromInt32(0)) {
break
} else {
- pWin = (*TWindowRewrite1)(unsafe.Pointer(p)).FpWin
+ pWin = (*TWindowRewrite)(unsafe.Pointer(p)).FpWin
for {
if !(pWin != 0) {
break
@@ -148122,13 +141739,13 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 {
return int32(WRC_Abort)
}
- if (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub != 0 {
+ if (*TWindowRewrite)(unsafe.Pointer(p)).FpSub != 0 {
i1 = 0
for {
- if !(i1 < (*TExprList)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSub)).FnExpr) {
+ if !(i1 < (*TExprList)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSub)).FnExpr) {
break
}
- if 0 == _sqlite3ExprCompare(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSub + 8 + uintptr(i1)*20))).FpExpr, pExpr, -int32(1)) {
+ if 0 == _sqlite3ExprCompare(tls, uintptr(0), (*(*TExprList_item)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSub + 8 + uintptr(i1)*20))).FpExpr, pExpr, -int32(1)) {
iCol = i1
break
}
@@ -148143,9 +141760,9 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
if pDup != 0 && libc.Int32FromUint8((*TExpr)(unsafe.Pointer(pDup)).Fop) == int32(TK_AGG_FUNCTION) {
(*TExpr)(unsafe.Pointer(pDup)).Fop = uint8(TK_FUNCTION)
}
- (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub = _sqlite3ExprListAppend(tls, pParse, (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub, pDup)
+ (*TWindowRewrite)(unsafe.Pointer(p)).FpSub = _sqlite3ExprListAppend(tls, pParse, (*TWindowRewrite)(unsafe.Pointer(p)).FpSub, pDup)
}
- if (*TWindowRewrite1)(unsafe.Pointer(p)).FpSub != 0 {
+ if (*TWindowRewrite)(unsafe.Pointer(p)).FpSub != 0 {
f = libc.Int32FromUint32((*TExpr)(unsafe.Pointer(pExpr)).Fflags & uint32(EP_Collate))
*(*Tu32)(unsafe.Pointer(pExpr + 4)) |= libc.Uint32FromInt32(libc.Int32FromInt32(EP_Static))
_sqlite3ExprDelete(tls, (*TParse)(unsafe.Pointer(pParse)).Fdb, pExpr)
@@ -148153,13 +141770,13 @@ func _selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) (
libc.Xmemset(tls, pExpr, 0, uint32(52))
(*TExpr)(unsafe.Pointer(pExpr)).Fop = uint8(TK_COLUMN)
if iCol < 0 {
- v4 = (*TExprList)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpSub)).FnExpr - int32(1)
+ v4 = (*TExprList)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpSub)).FnExpr - int32(1)
} else {
v4 = iCol
}
(*TExpr)(unsafe.Pointer(pExpr)).FiColumn = int16(v4)
- (*TExpr)(unsafe.Pointer(pExpr)).FiTable = (*TWindow)(unsafe.Pointer((*TWindowRewrite1)(unsafe.Pointer(p)).FpWin)).FiEphCsr
- (*TExpr)(unsafe.Pointer(pExpr)).Fy.FpTab = (*TWindowRewrite1)(unsafe.Pointer(p)).FpTab
+ (*TExpr)(unsafe.Pointer(pExpr)).FiTable = (*TWindow)(unsafe.Pointer((*TWindowRewrite)(unsafe.Pointer(p)).FpWin)).FiEphCsr
+ (*TExpr)(unsafe.Pointer(pExpr)).Fy.FpTab = (*TWindowRewrite)(unsafe.Pointer(p)).FpTab
(*TExpr)(unsafe.Pointer(pExpr)).Fflags = libc.Uint32FromInt32(f)
}
if (*Tsqlite3)(unsafe.Pointer((*TParse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 {
@@ -148175,13 +141792,13 @@ func _selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintpt
var p, pSave uintptr
_, _ = p, pSave
p = *(*uintptr)(unsafe.Pointer(pWalker + 24))
- pSave = (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect
+ pSave = (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect
if pSave == pSelect {
return WRC_Continue
} else {
- (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect = pSelect
+ (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect = pSelect
_sqlite3WalkSelect(tls, pWalker, pSelect)
- (*TWindowRewrite1)(unsafe.Pointer(p)).FpSubSelect = pSave
+ (*TWindowRewrite)(unsafe.Pointer(p)).FpSubSelect = pSave
}
return int32(WRC_Prune)
}
@@ -148958,87 +142575,6 @@ type TWindowCsrAndReg = struct {
type WindowCsrAndReg = TWindowCsrAndReg
-/*
-** See comments above struct WindowCodeArg.
- */
-type TWindowCsrAndReg1 = struct {
- Fcsr int32
- Freg int32
-}
-
-type WindowCsrAndReg1 = TWindowCsrAndReg1
-
-/*
-** A single instance of this structure is allocated on the stack by
-** sqlite3WindowCodeStep() and a pointer to it passed to the various helper
-** routines. This is to reduce the number of arguments required by each
-** helper function.
-**
-** regArg:
-** Each window function requires an accumulator register (just as an
-** ordinary aggregate function does). This variable is set to the first
-** in an array of accumulator registers - one for each window function
-** in the WindowCodeArg.pMWin list.
-**
-** eDelete:
-** The window functions implementation sometimes caches the input rows
-** that it processes in a temporary table. If it is not zero, this
-** variable indicates when rows may be removed from the temp table (in
-** order to reduce memory requirements - it would always be safe just
-** to leave them there). Possible values for eDelete are:
-**
-** WINDOW_RETURN_ROW:
-** An input row can be discarded after it is returned to the caller.
-**
-** WINDOW_AGGINVERSE:
-** An input row can be discarded after the window functions xInverse()
-** callbacks have been invoked in it.
-**
-** WINDOW_AGGSTEP:
-** An input row can be discarded after the window functions xStep()
-** callbacks have been invoked in it.
-**
-** start,current,end
-** Consider a window-frame similar to the following:
-**
-** (ORDER BY a, b GROUPS BETWEEN 2 PRECEDING AND 2 FOLLOWING)
-**
-** The windows functions implementation caches the input rows in a temp
-** table, sorted by "a, b" (it actually populates the cache lazily, and
-** aggressively removes rows once they are no longer required, but that's
-** a mere detail). It keeps three cursors open on the temp table. One
-** (current) that points to the next row to return to the query engine
-** once its window function values have been calculated. Another (end)
-** points to the next row to call the xStep() method of each window function
-** on (so that it is 2 groups ahead of current). And a third (start) that
-** points to the next row to call the xInverse() method of each window
-** function on.
-**
-** Each cursor (start, current and end) consists of a VDBE cursor
-** (WindowCsrAndReg.csr) and an array of registers (starting at
-** WindowCodeArg.reg) that always contains a copy of the peer values
-** read from the corresponding cursor.
-**
-** Depending on the window-frame in question, all three cursors may not
-** be required. In this case both WindowCodeArg.csr and reg are set to
-** 0.
- */
-type TWindowCodeArg1 = struct {
- FpParse uintptr
- FpMWin uintptr
- FpVdbe uintptr
- FaddrGosub int32
- FregGosub int32
- FregArg int32
- FeDelete int32
- FregRowid int32
- Fstart TWindowCsrAndReg
- Fcurrent TWindowCsrAndReg
- Fend TWindowCsrAndReg
-}
-
-type WindowCodeArg1 = TWindowCodeArg1
-
// C documentation
//
// /*
@@ -157287,14 +150823,6 @@ var _yyFallback = [187]uint16{
** actually contains the reduce action for the second half of the
** SHIFTREDUCE.
*/
-type TyyStackEntry1 = struct {
- Fstateno uint16
- Fmajor uint16
- Fminor TYYMINORTYPE
-}
-
-type yyStackEntry1 = TyyStackEntry1
-
type TyyStackEntry = struct {
Fstateno uint16
Fmajor uint16
@@ -157305,16 +150833,6 @@ type yyStackEntry = TyyStackEntry
/* The state of the parser is completely contained in an instance of
** the following structure */
-type TyyParser1 = struct {
- Fyytos uintptr
- FpParse uintptr
- FyystackEnd uintptr
- Fyystack uintptr
- Fyystk0 [100]TyyStackEntry
-}
-
-type yyParser1 = TyyParser1
-
type TyyParser = struct {
Fyytos uintptr
FpParse uintptr
@@ -164290,7 +157808,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) (r int32) {
*/
if libc.AtomicLoadPInt32(uintptr(unsafe.Pointer(&_sqlite3Config))+208) != 0 {
if op < 0 || op > int32(63) || libc.Uint64FromInt32(1)< 0 {
- (*Tsqlite3)(unsafe.Pointer(db)).FxProgress = xProgress
+ (*Tsqlite3)(unsafe.Pointer(db)).FxProgress = __ccgo_fp_xProgress
(*Tsqlite3)(unsafe.Pointer(db)).FnProgressOps = libc.Uint32FromInt32(nOps)
(*Tsqlite3)(unsafe.Pointer(db)).FpProgressArg = pArg
} else {
@@ -165660,12 +159182,12 @@ func Xsqlite3_is_interrupted(tls *libc.TLS, db uintptr) (r int32) {
// ** that if a malloc() fails in sqlite3_create_function(), an error code
// ** is returned and the mallocFailed flag cleared.
// */
-func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, enc int32, pUserData uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr, xValue uintptr, xInverse uintptr, pDestructor uintptr) (r int32) {
+func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, enc int32, pUserData uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xValue uintptr, __ccgo_fp_xInverse uintptr, pDestructor uintptr) (r int32) {
var extraFlags, rc int32
var p, v1 uintptr
_, _, _, _ = extraFlags, p, rc, v1
- if zFunctionName == uintptr(0) || xSFunc != uintptr(0) && xFinal != uintptr(0) || libc.BoolInt32(xFinal == uintptr(0)) != libc.BoolInt32(xStep == uintptr(0)) || libc.BoolInt32(xValue == uintptr(0)) != libc.BoolInt32(xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) {
- return _sqlite3MisuseError(tls, int32(184559))
+ if zFunctionName == uintptr(0) || __ccgo_fp_xSFunc != uintptr(0) && __ccgo_fp_xFinal != uintptr(0) || libc.BoolInt32(__ccgo_fp_xFinal == uintptr(0)) != libc.BoolInt32(__ccgo_fp_xStep == uintptr(0)) || libc.BoolInt32(__ccgo_fp_xValue == uintptr(0)) != libc.BoolInt32(__ccgo_fp_xInverse == uintptr(0)) || (nArg < -int32(1) || nArg > int32(SQLITE_MAX_FUNCTION_ARG)) || int32(255) < _sqlite3Strlen30(tls, zFunctionName) {
+ return _sqlite3MisuseError(tls, int32(184586))
}
extraFlags = enc & (libc.Int32FromInt32(SQLITE_DETERMINISTIC) | libc.Int32FromInt32(SQLITE_DIRECTONLY) | libc.Int32FromInt32(SQLITE_SUBTYPE) | libc.Int32FromInt32(SQLITE_INNOCUOUS) | libc.Int32FromInt32(SQLITE_RESULT_SUBTYPE) | libc.Int32FromInt32(SQLITE_SELFORDER1))
enc &= libc.Int32FromInt32(SQLITE_FUNC_ENCMASK) | libc.Int32FromInt32(SQLITE_ANY)
@@ -165683,9 +159205,9 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
case int32(SQLITE_UTF16):
enc = int32(SQLITE_UTF16LE)
case int32(SQLITE_ANY):
- rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF8)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, xSFunc, xStep, xFinal, xValue, xInverse, pDestructor)
+ rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF8)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, pDestructor)
if rc == SQLITE_OK {
- rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF16LE)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, xSFunc, xStep, xFinal, xValue, xInverse, pDestructor)
+ rc = _sqlite3CreateFunc(tls, db, zFunctionName, nArg, int32(SQLITE_UTF16LE)|extraFlags^int32(SQLITE_FUNC_UNSAFE), pUserData, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, pDestructor)
}
if rc != SQLITE_OK {
return rc
@@ -165714,7 +159236,7 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
_sqlite3ExpirePreparedStatements(tls, db, 0)
}
} else {
- if xSFunc == uintptr(0) && xFinal == uintptr(0) {
+ if __ccgo_fp_xSFunc == uintptr(0) && __ccgo_fp_xFinal == uintptr(0) {
/* Trying to delete a function that does not exist. This is a no-op.
** https://sqlite.org/forum/forumpost/726219164b */
return SQLITE_OK
@@ -165732,15 +159254,15 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
}
*(*uintptr)(unsafe.Pointer(p + 36)) = pDestructor
(*TFuncDef)(unsafe.Pointer(p)).FfuncFlags = (*TFuncDef)(unsafe.Pointer(p)).FfuncFlags&uint32(SQLITE_FUNC_ENCMASK) | libc.Uint32FromInt32(extraFlags)
- if xSFunc != 0 {
- v1 = xSFunc
+ if __ccgo_fp_xSFunc != 0 {
+ v1 = __ccgo_fp_xSFunc
} else {
- v1 = xStep
+ v1 = __ccgo_fp_xStep
}
(*TFuncDef)(unsafe.Pointer(p)).FxSFunc = v1
- (*TFuncDef)(unsafe.Pointer(p)).FxFinalize = xFinal
- (*TFuncDef)(unsafe.Pointer(p)).FxValue = xValue
- (*TFuncDef)(unsafe.Pointer(p)).FxInverse = xInverse
+ (*TFuncDef)(unsafe.Pointer(p)).FxFinalize = __ccgo_fp_xFinal
+ (*TFuncDef)(unsafe.Pointer(p)).FxValue = __ccgo_fp_xValue
+ (*TFuncDef)(unsafe.Pointer(p)).FxInverse = __ccgo_fp_xInverse
(*TFuncDef)(unsafe.Pointer(p)).FpUserData = pUserData
(*TFuncDef)(unsafe.Pointer(p)).FnArg = libc.Int16FromUint16(libc.Uint16FromInt32(nArg))
return SQLITE_OK
@@ -165755,27 +159277,27 @@ func _sqlite3CreateFunc(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg i
// ** sqlite3_create_function_v2()
// ** sqlite3_create_window_function()
// */
-func _createFunctionApi(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr, xValue uintptr, xInverse uintptr, xDestroy uintptr) (r int32) {
+func _createFunctionApi(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xValue uintptr, __ccgo_fp_xInverse uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
var pArg uintptr
var rc int32
_, _ = pArg, rc
rc = int32(SQLITE_ERROR)
pArg = uintptr(0)
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- if xDestroy != 0 {
+ if __ccgo_fp_xDestroy != 0 {
pArg = _sqlite3Malloc(tls, uint64(12))
if !(pArg != 0) {
_sqlite3OomFault(tls, db)
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestroy})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestroy})))(tls, p)
goto out
}
(*TFuncDestructor)(unsafe.Pointer(pArg)).FnRef = 0
- (*TFuncDestructor)(unsafe.Pointer(pArg)).FxDestroy = xDestroy
+ (*TFuncDestructor)(unsafe.Pointer(pArg)).FxDestroy = __ccgo_fp_xDestroy
(*TFuncDestructor)(unsafe.Pointer(pArg)).FpUserData = p
}
- rc = _sqlite3CreateFunc(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, xValue, xInverse, pArg)
+ rc = _sqlite3CreateFunc(tls, db, zFunc, nArg, enc, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, pArg)
if pArg != 0 && (*TFuncDestructor)(unsafe.Pointer(pArg)).FnRef == 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestroy})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestroy})))(tls, p)
Xsqlite3_free(tls, pArg)
}
goto out
@@ -165786,30 +159308,60 @@ out:
return rc
}
+type t__ccgo_fp__Xsqlite3_create_function_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_6 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_7 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Create new user functions.
// */
-func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) (r int32) {
- return _createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), uintptr(0))
+func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr) (r int32) {
+ return _createFunctionApi(tls, db, zFunc, nArg, enc, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, uintptr(0), uintptr(0), uintptr(0))
}
-func Xsqlite3_create_function_v2(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr, xDestroy uintptr) (r int32) {
- return _createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), xDestroy)
+type t__ccgo_fp__Xsqlite3_create_function_v2_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_v2_6 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_v2_7 = func(*libc.TLS, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function_v2_8 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_create_function_v2(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
+ return _createFunctionApi(tls, db, zFunc, nArg, enc, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, uintptr(0), uintptr(0), __ccgo_fp_xDestroy)
}
-func Xsqlite3_create_window_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xStep uintptr, xFinal uintptr, xValue uintptr, xInverse uintptr, xDestroy uintptr) (r int32) {
- return _createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), xStep, xFinal, xValue, xInverse, xDestroy)
+type t__ccgo_fp__Xsqlite3_create_window_function_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_6 = func(*libc.TLS, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_7 = func(*libc.TLS, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_8 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_window_function_9 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_create_window_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr, __ccgo_fp_xValue uintptr, __ccgo_fp_xInverse uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
+ return _createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), __ccgo_fp_xStep, __ccgo_fp_xFinal, __ccgo_fp_xValue, __ccgo_fp_xInverse, __ccgo_fp_xDestroy)
}
-func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr) (r int32) {
+type t__ccgo_fp__Xsqlite3_create_function16_5 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function16_6 = func(*libc.TLS, uintptr, int32, uintptr)
+
+type t__ccgo_fp__Xsqlite3_create_function16_7 = func(*libc.TLS, uintptr)
+
+func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr, nArg int32, eTextRep int32, p uintptr, __ccgo_fp_xSFunc uintptr, __ccgo_fp_xStep uintptr, __ccgo_fp_xFinal uintptr) (r int32) {
var rc int32
var zFunc8 uintptr
_, _ = rc, zFunc8
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
zFunc8 = _sqlite3Utf16to8(tls, db, zFunctionName, -int32(1), uint8(SQLITE_UTF16LE))
- rc = _sqlite3CreateFunc(tls, db, zFunc8, nArg, eTextRep, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), uintptr(0))
+ rc = _sqlite3CreateFunc(tls, db, zFunc8, nArg, eTextRep, p, __ccgo_fp_xSFunc, __ccgo_fp_xStep, __ccgo_fp_xFinal, uintptr(0), uintptr(0), uintptr(0))
_sqlite3DbFree(tls, db, zFunc8)
rc = _sqlite3ApiExit(tls, db, rc)
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
@@ -165872,6 +159424,8 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i
return Xsqlite3_create_function_v2(tls, db, zName, nArg, int32(SQLITE_UTF8), zCopy, __ccgo_fp(_sqlite3InvalidFunction), uintptr(0), uintptr(0), __ccgo_fp(Xsqlite3_free))
}
+type t__ccgo_fp__Xsqlite3_trace_1 = func(*libc.TLS, uintptr, uintptr)
+
// C documentation
//
// /*
@@ -165882,43 +159436,47 @@ func Xsqlite3_overload_function(tls *libc.TLS, db uintptr, zName uintptr, nArg i
// ** trace is a pointer to a function that is invoked at the start of each
// ** SQL statement.
// */
-func Xsqlite3_trace(tls *libc.TLS, db uintptr, xTrace uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_trace(tls *libc.TLS, db uintptr, __ccgo_fp_xTrace uintptr, pArg uintptr) (r uintptr) {
var pOld uintptr
var v1 int32
_, _ = pOld, v1
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pOld = (*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg
- if xTrace != 0 {
+ if __ccgo_fp_xTrace != 0 {
v1 = int32(SQLITE_TRACE_LEGACY)
} else {
v1 = 0
}
(*Tsqlite3)(unsafe.Pointer(db)).FmTrace = libc.Uint8FromInt32(v1)
- *(*uintptr)(unsafe.Pointer(db + 212)) = xTrace
+ *(*uintptr)(unsafe.Pointer(db + 212)) = __ccgo_fp_xTrace
(*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pOld
}
+type t__ccgo_fp__Xsqlite3_trace_v2_2 = func(*libc.TLS, uint32, uintptr, uintptr, uintptr) int32
+
// C documentation
//
// /* Register a trace callback using the version-2 interface.
// */
-func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr, pArg uintptr) (r int32) {
+func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, __ccgo_fp_xTrace uintptr, pArg uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if mTrace == uint32(0) {
- xTrace = uintptr(0)
+ __ccgo_fp_xTrace = uintptr(0)
}
- if xTrace == uintptr(0) {
+ if __ccgo_fp_xTrace == uintptr(0) {
mTrace = uint32(0)
}
(*Tsqlite3)(unsafe.Pointer(db)).FmTrace = uint8(mTrace)
- *(*uintptr)(unsafe.Pointer(db + 212)) = xTrace
+ *(*uintptr)(unsafe.Pointer(db + 212)) = __ccgo_fp_xTrace
(*Tsqlite3)(unsafe.Pointer(db)).FpTraceArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
+type t__ccgo_fp__Xsqlite3_profile_1 = func(*libc.TLS, uintptr, uintptr, uint64)
+
// C documentation
//
// /*
@@ -165929,12 +159487,12 @@ func Xsqlite3_trace_v2(tls *libc.TLS, db uintptr, mTrace uint32, xTrace uintptr,
// ** profile is a pointer to a function that is invoked at the conclusion of
// ** each SQL statement that is run.
// */
-func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_profile(tls *libc.TLS, db uintptr, __ccgo_fp_xProfile uintptr, pArg uintptr) (r uintptr) {
var pOld, p1, p2 uintptr
_, _, _ = pOld, p1, p2
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pOld = (*Tsqlite3)(unsafe.Pointer(db)).FpProfileArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxProfile = xProfile
+ (*Tsqlite3)(unsafe.Pointer(db)).FxProfile = __ccgo_fp_xProfile
(*Tsqlite3)(unsafe.Pointer(db)).FpProfileArg = pArg
p1 = db + 90
*(*Tu8)(unsafe.Pointer(p1)) = Tu8(int32(*(*Tu8)(unsafe.Pointer(p1))) & libc.Int32FromInt32(SQLITE_TRACE_NONLEGACY_MASK))
@@ -165946,6 +159504,8 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr)
return pOld
}
+type t__ccgo_fp__Xsqlite3_commit_hook_1 = func(*libc.TLS, uintptr) int32
+
// C documentation
//
// /*
@@ -165953,82 +159513,92 @@ func Xsqlite3_profile(tls *libc.TLS, db uintptr, xProfile uintptr, pArg uintptr)
// ** If the invoked function returns non-zero, then the commit becomes a
// ** rollback.
// */
-func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_commit_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pOld uintptr
_ = pOld
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pOld = (*Tsqlite3)(unsafe.Pointer(db)).FpCommitArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxCommitCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxCommitCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpCommitArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pOld
}
+type t__ccgo_fp__Xsqlite3_update_hook_1 = func(*libc.TLS, uintptr, int32, uintptr, uintptr, int64)
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a row is updated,
// ** inserted or deleted using this database connection.
// */
-func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_update_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpUpdateArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxUpdateCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxUpdateCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpUpdateArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
}
+type t__ccgo_fp__Xsqlite3_rollback_hook_1 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a transaction is rolled
// ** back by this database connection.
// */
-func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_rollback_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpRollbackArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxRollbackCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxRollbackCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpRollbackArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
}
+type t__ccgo_fp__Xsqlite3_preupdate_hook_1 = func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, int64, int64)
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a row is updated,
// ** inserted or deleted using this database connection.
// */
-func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_preupdate_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdateArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpPreUpdateArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
}
+type t__ccgo_fp__Xsqlite3_autovacuum_pages_1 = func(*libc.TLS, uintptr, uintptr, uint32, uint32, uint32) uint32
+
+type t__ccgo_fp__Xsqlite3_autovacuum_pages_3 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a function to be invoked prior to each autovacuum that
// ** determines the number of pages to vacuum.
// */
-func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr, xDestructor uintptr) (r int32) {
+func Xsqlite3_autovacuum_pages(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr != 0 {
(*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr})))(tls, (*Tsqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg)
}
- (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacPages = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacPages = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpAutovacPagesArg = pArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr = xDestructor
+ (*Tsqlite3)(unsafe.Pointer(db)).FxAutovacDestr = __ccgo_fp_xDestructor
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
@@ -166072,18 +159642,20 @@ func Xsqlite3_wal_autocheckpoint(tls *libc.TLS, db uintptr, nFrame int32) (r int
return SQLITE_OK
}
+type t__ccgo_fp__Xsqlite3_wal_hook_1 = func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Register a callback to be invoked each time a transaction is written
// ** into the write-ahead-log by this database connection.
// */
-func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintptr) (r uintptr) {
+func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, __ccgo_fp_xCallback uintptr, pArg uintptr) (r uintptr) {
var pRet uintptr
_ = pRet
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
pRet = (*Tsqlite3)(unsafe.Pointer(db)).FpWalArg
- (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback = xCallback
+ (*Tsqlite3)(unsafe.Pointer(db)).FxWalCallback = __ccgo_fp_xCallback
(*Tsqlite3)(unsafe.Pointer(db)).FpWalArg = pArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return pRet
@@ -166109,7 +159681,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in
if eMode < SQLITE_CHECKPOINT_PASSIVE || eMode > int32(SQLITE_CHECKPOINT_TRUNCATE) {
/* EVIDENCE-OF: R-03996-12088 The M parameter must be a valid checkpoint
** mode: */
- return _sqlite3MisuseError(tls, int32(185175))
+ return _sqlite3MisuseError(tls, int32(185202))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if zDb != 0 && *(*int8)(unsafe.Pointer(zDb)) != 0 {
@@ -166241,7 +159813,7 @@ func Xsqlite3_errmsg(tls *libc.TLS, db uintptr) (r uintptr) {
return _sqlite3ErrStr(tls, int32(SQLITE_NOMEM))
}
if !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) {
- return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(185311)))
+ return _sqlite3ErrStr(tls, _sqlite3MisuseError(tls, int32(185338)))
}
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
if (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
@@ -166373,7 +159945,7 @@ var _misuse = [34]Tu16{
// */
func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) {
if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) {
- return _sqlite3MisuseError(tls, int32(185390))
+ return _sqlite3MisuseError(tls, int32(185417))
}
if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
return int32(SQLITE_NOMEM)
@@ -166383,7 +159955,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) (r int32) {
func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) (r int32) {
if db != 0 && !(_sqlite3SafetyCheckSickOrOk(tls, db) != 0) {
- return _sqlite3MisuseError(tls, int32(185399))
+ return _sqlite3MisuseError(tls, int32(185426))
}
if !(db != 0) || (*Tsqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 {
return int32(SQLITE_NOMEM)
@@ -166419,7 +159991,7 @@ func Xsqlite3_errstr(tls *libc.TLS, rc int32) (r uintptr) {
// ** Create a new collating function for database "db". The name is zName
// ** and the encoding is enc.
// */
-func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx uintptr, xCompare uintptr, xDel uintptr) (r int32) {
+func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx uintptr, __ccgo_fp_xCompare uintptr, __ccgo_fp_xDel uintptr) (r int32) {
var aColl, p, pColl uintptr
var enc2, j int32
_, _, _, _, _ = aColl, enc2, j, p, pColl
@@ -166432,7 +160004,7 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui
enc2 = int32(SQLITE_UTF16LE)
}
if enc2 < int32(SQLITE_UTF8) || enc2 > int32(SQLITE_UTF16BE) {
- return _sqlite3MisuseError(tls, int32(185447))
+ return _sqlite3MisuseError(tls, int32(185474))
}
/* Check if this call is removing or replacing an existing collation
** sequence. If so, and there are active VMs, return busy. If there
@@ -166476,9 +160048,9 @@ func _createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc Tu8, pCtx ui
if pColl == uintptr(0) {
return int32(SQLITE_NOMEM)
}
- (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp = xCompare
+ (*TCollSeq)(unsafe.Pointer(pColl)).FxCmp = __ccgo_fp_xCompare
(*TCollSeq)(unsafe.Pointer(pColl)).FpUser = pCtx
- (*TCollSeq)(unsafe.Pointer(pColl)).FxDel = xDel
+ (*TCollSeq)(unsafe.Pointer(pColl)).FxDel = __ccgo_fp_xDel
(*TCollSeq)(unsafe.Pointer(pColl)).Fenc = libc.Uint8FromInt32(enc2 | libc.Int32FromUint8(enc)&libc.Int32FromInt32(SQLITE_UTF16_ALIGNED))
_sqlite3Error(tls, db, SQLITE_OK)
return SQLITE_OK
@@ -166980,7 +160552,7 @@ func _openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, _flags uint32
/* READWRITE */
/* READWRITE | CREATE */
if int32(1)<<(*(*uint32)(unsafe.Pointer(bp))&uint32(7))&int32(0x46) == 0 {
- rc = _sqlite3MisuseError(tls, int32(186122)) /* IMP: R-18321-05872 */
+ rc = _sqlite3MisuseError(tls, int32(186149)) /* IMP: R-18321-05872 */
} else {
if zFilename == uintptr(0) {
zFilename = __ccgo_ts + 4285
@@ -167134,36 +160706,44 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) (r int32) {
return rc & int32(0xff)
}
+type t__ccgo_fp__Xsqlite3_create_collation_4 = func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
// ** Register a new collation sequence with the database handle db.
// */
-func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) (r int32) {
- return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, xCompare, uintptr(0))
+func Xsqlite3_create_collation(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, __ccgo_fp_xCompare uintptr) (r int32) {
+ return Xsqlite3_create_collation_v2(tls, db, zName, enc, pCtx, __ccgo_fp_xCompare, uintptr(0))
}
+type t__ccgo_fp__Xsqlite3_create_collation_v2_4 = func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3_create_collation_v2_5 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a new collation sequence with the database handle db.
// */
-func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr, xDel uintptr) (r int32) {
+func Xsqlite3_create_collation_v2(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, __ccgo_fp_xCompare uintptr, __ccgo_fp_xDel uintptr) (r int32) {
var rc int32
_ = rc
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- rc = _createCollation(tls, db, zName, libc.Uint8FromInt32(enc), pCtx, xCompare, xDel)
+ rc = _createCollation(tls, db, zName, libc.Uint8FromInt32(enc), pCtx, __ccgo_fp_xCompare, __ccgo_fp_xDel)
rc = _sqlite3ApiExit(tls, db, rc)
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return rc
}
+type t__ccgo_fp__Xsqlite3_create_collation16_4 = func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
// ** Register a new collation sequence with the database handle db.
// */
-func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, xCompare uintptr) (r int32) {
+func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc int32, pCtx uintptr, __ccgo_fp_xCompare uintptr) (r int32) {
var rc int32
var zName8 uintptr
_, _ = rc, zName8
@@ -167171,7 +160751,7 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
zName8 = _sqlite3Utf16to8(tls, db, zName, -int32(1), uint8(SQLITE_UTF16LE))
if zName8 != 0 {
- rc = _createCollation(tls, db, zName8, libc.Uint8FromInt32(enc), pCtx, xCompare, uintptr(0))
+ rc = _createCollation(tls, db, zName8, libc.Uint8FromInt32(enc), pCtx, __ccgo_fp_xCompare, uintptr(0))
_sqlite3DbFree(tls, db, zName8)
}
rc = _sqlite3ApiExit(tls, db, rc)
@@ -167179,31 +160759,35 @@ func Xsqlite3_create_collation16(tls *libc.TLS, db uintptr, zName uintptr, enc i
return rc
}
+type t__ccgo_fp__Xsqlite3_collation_needed_2 = func(*libc.TLS, uintptr, uintptr, int32, uintptr)
+
// C documentation
//
// /*
// ** Register a collation sequence factory callback with the database handle
// ** db. Replace any previously installed collation sequence factory.
// */
-func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded uintptr) (r int32) {
+func Xsqlite3_collation_needed(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, __ccgo_fp_xCollNeeded uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
- (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded = xCollNeeded
+ (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded = __ccgo_fp_xCollNeeded
(*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = uintptr(0)
(*Tsqlite3)(unsafe.Pointer(db)).FpCollNeededArg = pCollNeededArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
+type t__ccgo_fp__Xsqlite3_collation_needed16_2 = func(*libc.TLS, uintptr, uintptr, int32, uintptr)
+
// C documentation
//
// /*
// ** Register a collation sequence factory callback with the database handle
// ** db. Replace any previously installed collation sequence factory.
// */
-func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, xCollNeeded16 uintptr) (r int32) {
+func Xsqlite3_collation_needed16(tls *libc.TLS, db uintptr, pCollNeededArg uintptr, __ccgo_fp_xCollNeeded16 uintptr) (r int32) {
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
(*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded = uintptr(0)
- (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = xCollNeeded16
+ (*Tsqlite3)(unsafe.Pointer(db)).FxCollNeeded16 = __ccgo_fp_xCollNeeded16
(*Tsqlite3)(unsafe.Pointer(db)).FpCollNeededArg = pCollNeededArg
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
@@ -167237,12 +160821,14 @@ func Xsqlite3_get_clientdata(tls *libc.TLS, db uintptr, zName uintptr) (r uintpt
return uintptr(0)
}
+type t__ccgo_fp__Xsqlite3_set_clientdata_3 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Add new client data to a database connection.
// */
-func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uintptr, xDestructor uintptr) (r int32) {
+func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
var n Tsize_t
var p, pp uintptr
_, _, _ = n, p, pp
@@ -167277,8 +160863,8 @@ func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uin
n = libc.Xstrlen(tls, zName)
p = Xsqlite3_malloc64(tls, uint64(uint32(libc.UintptrFromInt32(0)+12)+(n+libc.Uint32FromInt32(1))))
if p == uintptr(0) {
- if xDestructor != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestructor})))(tls, pData)
+ if __ccgo_fp_xDestructor != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestructor})))(tls, pData)
}
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return int32(SQLITE_NOMEM)
@@ -167289,7 +160875,7 @@ func Xsqlite3_set_clientdata(tls *libc.TLS, db uintptr, zName uintptr, pData uin
}
}
(*TDbClientData)(unsafe.Pointer(p)).FpData = pData
- (*TDbClientData)(unsafe.Pointer(p)).FxDestructor = xDestructor
+ (*TDbClientData)(unsafe.Pointer(p)).FxDestructor = __ccgo_fp_xDestructor
Xsqlite3_mutex_leave(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
return SQLITE_OK
}
@@ -168641,6 +162227,8 @@ func _leaveMutex(tls *libc.TLS) {
Xsqlite3_mutex_leave(tls, _sqlite3MutexAlloc(tls, int32(SQLITE_MUTEX_STATIC_MAIN)))
}
+type t__ccgo_fp__Xsqlite3_unlock_notify_1 = func(*libc.TLS, uintptr, int32)
+
// C documentation
//
// /*
@@ -168664,7 +162252,7 @@ func _leaveMutex(tls *libc.TLS) {
// ** on the same "db". If xNotify==0 then any prior callbacks are immediately
// ** cancelled.
// */
-func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg uintptr) (r int32) {
+func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, __ccgo_fp_xNotify uintptr, _pArg uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
*(*uintptr)(unsafe.Pointer(bp)) = _pArg
@@ -168674,7 +162262,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui
rc = SQLITE_OK
Xsqlite3_mutex_enter(tls, (*Tsqlite3)(unsafe.Pointer(db)).Fmutex)
_enterMutex(tls)
- if xNotify == uintptr(0) {
+ if __ccgo_fp_xNotify == uintptr(0) {
_removeFromBlockedList(tls, db)
(*Tsqlite3)(unsafe.Pointer(db)).FpBlockingConnection = uintptr(0)
(*Tsqlite3)(unsafe.Pointer(db)).FpUnlockConnection = uintptr(0)
@@ -168686,7 +162274,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui
** blocking transaction. In either case, invoke the notify callback
** immediately.
*/
- (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{xNotify})))(tls, bp, int32(1))
+ (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xNotify})))(tls, bp, int32(1))
} else {
p = (*Tsqlite3)(unsafe.Pointer(db)).FpBlockingConnection
for {
@@ -168702,7 +162290,7 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, _pArg ui
rc = int32(SQLITE_LOCKED) /* Deadlock detected. */
} else {
(*Tsqlite3)(unsafe.Pointer(db)).FpUnlockConnection = (*Tsqlite3)(unsafe.Pointer(db)).FpBlockingConnection
- (*Tsqlite3)(unsafe.Pointer(db)).FxUnlockNotify = xNotify
+ (*Tsqlite3)(unsafe.Pointer(db)).FxUnlockNotify = __ccgo_fp_xNotify
(*Tsqlite3)(unsafe.Pointer(db)).FpUnlockArg = *(*uintptr)(unsafe.Pointer(bp))
_removeFromBlockedList(tls, db)
_addToBlockedList(tls, db)
@@ -169918,106 +163506,6 @@ type TJsonParse = struct {
type JsonParse = TJsonParse
-/*
-** Magic number used for the JSON parse cache in sqlite3_get_auxdata()
- */
-
-/*
-** jsonUnescapeOneChar() returns this invalid code point if it encounters
-** a syntax error.
- */
-
-/* A cache mapping JSON text into JSONB blobs.
-**
-** Each cache entry is a JsonParse object with the following restrictions:
-**
-** * The bReadOnly flag must be set
-**
-** * The aBlob[] array must be owned by the JsonParse object. In other
-** words, nBlobAlloc must be non-zero.
-**
-** * eEdit and delta must be zero.
-**
-** * zJson must be an RCStr. In other words bJsonIsRCStr must be true.
- */
-type TJsonCache1 = struct {
- Fdb uintptr
- FnUsed int32
- Fa [4]uintptr
-}
-
-type JsonCache1 = TJsonCache1
-
-/* An instance of this object represents a JSON string
-** under construction. Really, this is a generic string accumulator
-** that can be and is used to create strings other than JSON.
-**
-** If the generated string is longer than will fit into the zSpace[] buffer,
-** then it will be an RCStr string. This aids with caching of large
-** JSON strings.
- */
-type TJsonString1 = struct {
- FpCtx uintptr
- FzBuf uintptr
- FnAlloc Tu64
- FnUsed Tu64
- FbStatic Tu8
- FeErr Tu8
- FzSpace [100]int8
-}
-
-type JsonString1 = TJsonString1
-
-/* Allowed values for JsonString.eErr */
-
-/* The "subtype" set for text JSON values passed through using
-** sqlite3_result_subtype() and sqlite3_value_subtype().
- */
-
-/*
-** Bit values for the flags passed into various SQL function implementations
-** via the sqlite3_user_data() value.
- */
-
-/* A parsed JSON value. Lifecycle:
-**
-** 1. JSON comes in and is parsed into a JSONB value in aBlob. The
-** original text is stored in zJson. This step is skipped if the
-** input is JSONB instead of text JSON.
-**
-** 2. The aBlob[] array is searched using the JSON path notation, if needed.
-**
-** 3. Zero or more changes are made to aBlob[] (via json_remove() or
-** json_replace() or json_patch() or similar).
-**
-** 4. New JSON text is generated from the aBlob[] for output. This step
-** is skipped if the function is one of the jsonb_* functions that
-** returns JSONB instead of text JSON.
- */
-type TJsonParse1 = struct {
- FaBlob uintptr
- FnBlob Tu32
- FnBlobAlloc Tu32
- FzJson uintptr
- Fdb uintptr
- FnJson int32
- FnJPRef Tu32
- FiErr Tu32
- FiDepth Tu16
- FnErr Tu8
- Foom Tu8
- FbJsonIsRCStr Tu8
- FhasNonstd Tu8
- FbReadOnly Tu8
- FeEdit Tu8
- Fdelta int32
- FnIns Tu32
- FiLabel Tu32
- FaIns uintptr
-}
-
-type JsonParse1 = TJsonParse1
-
/**************************************************************************
** Utility routines for dealing with JsonCache objects
**************************************************************************/
@@ -172628,16 +166116,6 @@ type TJsonPretty = struct {
type JsonPretty = TJsonPretty
-type TJsonPretty1 = struct {
- FpParse uintptr
- FpOut uintptr
- FzIndent uintptr
- FszIndent Tu32
- FnIndent Tu32
-}
-
-type JsonPretty1 = TJsonPretty1
-
// C documentation
//
// /* Append indentation to the pretty JSON under construction */
@@ -175464,16 +168942,6 @@ type TJsonParent = struct {
type JsonParent = TJsonParent
-type TJsonParent1 = struct {
- FiHead Tu32
- FiValue Tu32
- FiEnd Tu32
- FnPath Tu32
- FiKey Ti64
-}
-
-type JsonParent1 = TJsonParent1
-
type TJsonEachCursor = struct {
Fbase Tsqlite3_vtab_cursor
FiRowid Tu32
@@ -175492,24 +168960,6 @@ type TJsonEachCursor = struct {
type JsonEachCursor = TJsonEachCursor
-type TJsonEachCursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FiRowid Tu32
- Fi Tu32
- FiEnd Tu32
- FnRoot Tu32
- FeType Tu8
- FbRecursive Tu8
- FnParent Tu32
- FnParentAlloc Tu32
- FaParent uintptr
- Fdb uintptr
- Fpath TJsonString
- FsParse TJsonParse
-}
-
-type JsonEachCursor1 = TJsonEachCursor1
-
type TJsonEachConnection = struct {
Fbase Tsqlite3_vtab
Fdb uintptr
@@ -175517,13 +168967,6 @@ type TJsonEachConnection = struct {
type JsonEachConnection = TJsonEachConnection
-type TJsonEachConnection1 = struct {
- Fbase Tsqlite3_vtab
- Fdb uintptr
-}
-
-type JsonEachConnection1 = TJsonEachConnection1
-
// C documentation
//
// /* Constructor for the json_each virtual table */
@@ -176495,223 +169938,9 @@ type TRtree = struct {
FaHash [97]uintptr
}
-type Rtree = TRtree
-
-type TRtreeCursor = struct {
- Fbase Tsqlite3_vtab_cursor
- FatEOF Tu8
- FbPoint Tu8
- FbAuxValid Tu8
- FiStrategy int32
- FnConstraint int32
- FaConstraint uintptr
- FnPointAlloc int32
- FnPoint int32
- FmxLevel int32
- FaPoint uintptr
- FpReadAux uintptr
- FsPoint TRtreeSearchPoint
- FaNode [5]uintptr
- FanQueue [41]Tu32
-}
-
-type RtreeCursor = TRtreeCursor
-
-type TRtreeNode = struct {
- FpParent uintptr
- FiNode Ti64
- FnRef int32
- FisDirty int32
- FzData uintptr
- FpNext uintptr
-}
-
-type RtreeNode = TRtreeNode
-
-type TRtreeCell = struct {
- FiRowid Ti64
- FaCoord [10]TRtreeCoord
-}
-
-type RtreeCell = TRtreeCell
-
-type TRtreeConstraint = struct {
- FiCoord int32
- Fop int32
- Fu struct {
- FxGeom [0]uintptr
- FxQueryFunc [0]uintptr
- FrValue TRtreeDValue
- }
- FpInfo uintptr
-}
-
-type RtreeConstraint = TRtreeConstraint
-
-type TRtreeMatchArg = struct {
- FiSize Tu32
- Fcb TRtreeGeomCallback
- FnParam int32
- FapSqlParam uintptr
-}
-
-type RtreeMatchArg = TRtreeMatchArg
-
-type TRtreeGeomCallback = struct {
- FxGeom uintptr
- FxQueryFunc uintptr
- FxDestructor uintptr
- FpContext uintptr
-}
-
-type RtreeGeomCallback = TRtreeGeomCallback
-
-type TRtreeCoord = struct {
- Fi [0]int32
- Fu [0]Tu32
- Ff TRtreeValue
-}
-
-type RtreeCoord = TRtreeCoord
-
-type TRtreeSearchPoint = struct {
- FrScore TRtreeDValue
- Fid Tsqlite3_int64
- FiLevel Tu8
- FeWithin Tu8
- FiCell Tu8
-}
-
-type RtreeSearchPoint = TRtreeSearchPoint
-
-/* The rtree may have between 1 and RTREE_MAX_DIMENSIONS dimensions. */
-
-/* Maximum number of auxiliary columns */
-
-/* Size of hash table Rtree.aHash. This hash table is not expected to
-** ever contain very many entries, so a fixed number of buckets is
-** used.
- */
-
-/* The xBestIndex method of this virtual table requires an estimate of
-** the number of rows in the virtual table to calculate the costs of
-** various strategies. If possible, this estimate is loaded from the
-** sqlite_stat1 table (with RTREE_MIN_ROWEST as a hard-coded minimum).
-** Otherwise, if no sqlite_stat1 entry is available, use
-** RTREE_DEFAULT_ROWEST.
- */
-
-/*
-** An rtree virtual-table object.
- */
-type TRtree1 = struct {
- Fbase Tsqlite3_vtab
- Fdb uintptr
- FiNodeSize int32
- FnDim Tu8
- FnDim2 Tu8
- FeCoordType Tu8
- FnBytesPerCell Tu8
- FinWrTrans Tu8
- FnAux Tu8
- FnAuxNotNull Tu8
- FiDepth int32
- FzDb uintptr
- FzName uintptr
- FzNodeName uintptr
- FnBusy Tu32
- FnRowEst Ti64
- FnCursor Tu32
- FnNodeRef Tu32
- FzReadAuxSql uintptr
- FpDeleted uintptr
- FpNodeBlob uintptr
- FpWriteNode uintptr
- FpDeleteNode uintptr
- FpReadRowid uintptr
- FpWriteRowid uintptr
- FpDeleteRowid uintptr
- FpReadParent uintptr
- FpWriteParent uintptr
- FpDeleteParent uintptr
- FpWriteAux uintptr
- FaHash [97]uintptr
-}
-
-type Rtree1 = TRtree1
-
-/* Possible values for Rtree.eCoordType: */
-
-// C documentation
-//
-// /*
-// ** If SQLITE_RTREE_INT_ONLY is defined, then this virtual table will
-// ** only deal with integer coordinates. No floating point operations
-// ** will be done.
-// */
-type TRtreeDValue = float64
-
-type RtreeDValue = TRtreeDValue
-
-/* High accuracy coordinate */
-
-type TRtreeValue = float32
-
-type RtreeValue = TRtreeValue
-
-/* Low accuracy coordinate */
-
-/*
-** Set the Rtree.bCorrupt flag
- */
-
-/*
-** When doing a search of an r-tree, instances of the following structure
-** record intermediate results from the tree walk.
-**
-** The id is always a node-id. For iLevel>=1 the id is the node-id of
-** the node that the RtreeSearchPoint represents. When iLevel==0, however,
-** the id is of the parent node and the cell that RtreeSearchPoint
-** represents is the iCell-th entry in the parent node.
- */
-type TRtreeSearchPoint1 = struct {
- FrScore TRtreeDValue
- Fid Tsqlite3_int64
- FiLevel Tu8
- FeWithin Tu8
- FiCell Tu8
-}
-
-type RtreeSearchPoint1 = TRtreeSearchPoint1
-
-/*
-** The minimum number of cells allowed for a node is a third of the
-** maximum. In Gutman's notation:
-**
-** m = M/3
-**
-** If an R*-tree "Reinsert" operation is required, the same number of
-** cells are removed from the overfull node and reinserted into the tree.
- */
-
-/*
-** The smallest possible node-size is (512-64)==448 bytes. And the largest
-** supported cell size is 48 bytes (8 byte rowid + ten 4 byte coordinates).
-** Therefore all non-root nodes must contain at least 3 entries. Since
-** 3^40 is greater than 2^64, an r-tree structure always has a depth of
-** 40 or less.
- */
-
-/*
-** Number of entries in the cursor RtreeNode cache. The first entry is
-** used to cache the RtreeNode for RtreeCursor.sPoint. The remaining
-** entries cache the RtreeNode for the first elements of the priority queue.
- */
+type Rtree = TRtree
-/*
-** An rtree cursor object.
- */
-type TRtreeCursor1 = struct {
+type TRtreeCursor = struct {
Fbase Tsqlite3_vtab_cursor
FatEOF Tu8
FbPoint Tu8
@@ -176729,33 +169958,27 @@ type TRtreeCursor1 = struct {
FanQueue [41]Tu32
}
-type RtreeCursor1 = TRtreeCursor1
-
-/* Return the Rtree of a RtreeCursor */
+type RtreeCursor = TRtreeCursor
-/*
-** A coordinate can be either a floating point number or a integer. All
-** coordinates within a single R-Tree are always of the same time.
- */
-type TRtreeCoord1 = struct {
- Fi [0]int32
- Fu [0]Tu32
- Ff TRtreeValue
+type TRtreeNode = struct {
+ FpParent uintptr
+ FiNode Ti64
+ FnRef int32
+ FisDirty int32
+ FzData uintptr
+ FpNext uintptr
}
-type RtreeCoord1 = TRtreeCoord1
+type RtreeNode = TRtreeNode
-/*
-** The argument is an RtreeCoord. Return the value stored within the RtreeCoord
-** formatted as a RtreeDValue (double or int64). This macro assumes that local
-** variable pRtree points to the Rtree structure associated with the
-** RtreeCoord.
- */
+type TRtreeCell = struct {
+ FiRowid Ti64
+ FaCoord [10]TRtreeCoord
+}
-/*
-** A search constraint.
- */
-type TRtreeConstraint1 = struct {
+type RtreeCell = TRtreeCell
+
+type TRtreeConstraint = struct {
FiCoord int32
Fop int32
Fu struct {
@@ -176766,78 +169989,62 @@ type TRtreeConstraint1 = struct {
FpInfo uintptr
}
-type RtreeConstraint1 = TRtreeConstraint1
-
-/* Possible values for RtreeConstraint.op */
-
-/* Special operators available only on cursors. Needs to be consecutive
-** with the normal values above, but must be less than RTREE_MATCH. These
-** are used in the cursor for contraints such as x=NULL (RTREE_FALSE) or
-** x<'xyz' (RTREE_TRUE) */
-
-/*
-** An rtree structure node.
- */
-type TRtreeNode1 = struct {
- FpParent uintptr
- FiNode Ti64
- FnRef int32
- FisDirty int32
- FzData uintptr
- FpNext uintptr
-}
-
-type RtreeNode1 = TRtreeNode1
-
-/* Return the number of cells in a node */
+type RtreeConstraint = TRtreeConstraint
-/*
-** A single cell from a node, deserialized
- */
-type TRtreeCell1 = struct {
- FiRowid Ti64
- FaCoord [10]TRtreeCoord
+type TRtreeMatchArg = struct {
+ FiSize Tu32
+ Fcb TRtreeGeomCallback
+ FnParam int32
+ FapSqlParam uintptr
}
-type RtreeCell1 = TRtreeCell1
+type RtreeMatchArg = TRtreeMatchArg
-/*
-** This object becomes the sqlite3_user_data() for the SQL functions
-** that are created by sqlite3_rtree_geometry_callback() and
-** sqlite3_rtree_query_callback() and which appear on the right of MATCH
-** operators in order to constrain a search.
-**
-** xGeom and xQueryFunc are the callback functions. Exactly one of
-** xGeom and xQueryFunc fields is non-NULL, depending on whether the
-** SQL function was created using sqlite3_rtree_geometry_callback() or
-** sqlite3_rtree_query_callback().
-**
-** This object is deleted automatically by the destructor mechanism in
-** sqlite3_create_function_v2().
- */
-type TRtreeGeomCallback1 = struct {
+type TRtreeGeomCallback = struct {
FxGeom uintptr
FxQueryFunc uintptr
FxDestructor uintptr
FpContext uintptr
}
-type RtreeGeomCallback1 = TRtreeGeomCallback1
+type RtreeGeomCallback = TRtreeGeomCallback
-/*
-** An instance of this structure (in the form of a BLOB) is returned by
-** the SQL functions that sqlite3_rtree_geometry_callback() and
-** sqlite3_rtree_query_callback() create, and is read as the right-hand
-** operand to the MATCH operator of an R-Tree.
- */
-type TRtreeMatchArg1 = struct {
- FiSize Tu32
- Fcb TRtreeGeomCallback
- FnParam int32
- FapSqlParam uintptr
+type TRtreeCoord = struct {
+ Fi [0]int32
+ Fu [0]Tu32
+ Ff TRtreeValue
+}
+
+type RtreeCoord = TRtreeCoord
+
+type TRtreeSearchPoint = struct {
+ FrScore TRtreeDValue
+ Fid Tsqlite3_int64
+ FiLevel Tu8
+ FeWithin Tu8
+ FiCell Tu8
}
-type RtreeMatchArg1 = TRtreeMatchArg1
+type RtreeSearchPoint = TRtreeSearchPoint
+
+/* Possible values for Rtree.eCoordType: */
+
+// C documentation
+//
+// /*
+// ** If SQLITE_RTREE_INT_ONLY is defined, then this virtual table will
+// ** only deal with integer coordinates. No floating point operations
+// ** will be done.
+// */
+type TRtreeDValue = float64
+
+type RtreeDValue = TRtreeDValue
+
+/* High accuracy coordinate */
+
+type TRtreeValue = float32
+
+type RtreeValue = TRtreeValue
/* Size of an RtreeMatchArg object with N parameters */
@@ -179793,9 +173000,9 @@ func _rtreeValueDown(tls *libc.TLS, v uintptr) (r TRtreeValue) {
f = float32(d)
if float64(f) > d {
if d < libc.Float64FromInt32(0) {
- v1 = float64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
} else {
- v1 = float64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
}
f = float32(float64(d * v1))
}
@@ -179810,9 +173017,9 @@ func _rtreeValueUp(tls *libc.TLS, v uintptr) (r TRtreeValue) {
f = float32(d)
if float64(f) < d {
if d < libc.Float64FromInt32(0) {
- v1 = float64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) - libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
} else {
- v1 = float64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
+ v1 = libc.Float64FromFloat64(1) + libc.Float64FromFloat64(1)/libc.Float64FromFloat64(8.388608e+06)
}
f = float32(float64(d * v1))
}
@@ -180712,23 +173919,6 @@ type TRtreeCheck = struct {
type RtreeCheck = TRtreeCheck
-type TRtreeCheck1 = struct {
- Fdb uintptr
- FzDb uintptr
- FzTab uintptr
- FbInt int32
- FnDim int32
- FpGetNode uintptr
- FaCheckMapping [2]uintptr
- FnLeaf int32
- FnNonLeaf int32
- Frc int32
- FzReport uintptr
- FnErr int32
-}
-
-type RtreeCheck1 = TRtreeCheck1
-
// C documentation
//
// /*
@@ -181313,14 +174503,6 @@ type TGeoPoly = struct {
type GeoPoly = TGeoPoly
-type TGeoPoly1 = struct {
- FnVertex int32
- Fhdr [4]uint8
- Fa [8]TGeoCoord
-}
-
-type GeoPoly1 = TGeoPoly1
-
/* The size of a memory allocation needed for a GeoPoly object sufficient
** to hold N coordinate pairs.
*/
@@ -181345,16 +174527,6 @@ type TGeoParse = struct {
type GeoParse = TGeoParse
-type TGeoParse1 = struct {
- Fz uintptr
- FnVertex int32
- FnAlloc int32
- FnErr int32
- Fa uintptr
-}
-
-type GeoParse1 = TGeoParse1
-
// C documentation
//
// /* Do a 4-byte byte swap */
@@ -182137,13 +175309,6 @@ type TGeoBBox = struct {
type GeoBBox = TGeoBBox
-type TGeoBBox1 = struct {
- FisInit int32
- Fa [4]TRtreeCoord
-}
-
-type GeoBBox1 = TGeoBBox1
-
// C documentation
//
// /*
@@ -182378,36 +175543,6 @@ type TGeoOverlap = struct {
type GeoOverlap = TGeoOverlap
-type TGeoEvent1 = struct {
- Fx float64
- FeType int32
- FpSeg uintptr
- FpNext uintptr
-}
-
-type GeoEvent1 = TGeoEvent1
-
-type TGeoSegment1 = struct {
- FC float64
- FB float64
- Fy float64
- Fy0 float32
- Fside uint8
- Fidx uint32
- FpNext uintptr
-}
-
-type GeoSegment1 = TGeoSegment1
-
-type TGeoOverlap1 = struct {
- FaEvent uintptr
- FaSegment uintptr
- FnEvent int32
- FnSegment int32
-}
-
-type GeoOverlap1 = TGeoOverlap1
-
// C documentation
//
// /*
@@ -183378,16 +176513,16 @@ geopoly_update_end:
// ** Report that geopoly_overlap() is an overloaded function suitable
// ** for use in xBestIndex.
// */
-func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) {
+func _geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr, __ccgo_fp_pxFunc uintptr, ppArg uintptr) (r int32) {
_ = pVtab
_ = nArg
if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28672) == 0 {
- *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyOverlapFunc)
+ *(*uintptr)(unsafe.Pointer(__ccgo_fp_pxFunc)) = __ccgo_fp(_geopolyOverlapFunc)
*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
return int32(SQLITE_INDEX_CONSTRAINT_FUNCTION)
}
if Xsqlite3_stricmp(tls, zName, __ccgo_ts+28688) == 0 {
- *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_geopolyWithinFunc)
+ *(*uintptr)(unsafe.Pointer(__ccgo_fp_pxFunc)) = __ccgo_fp(_geopolyWithinFunc)
*(*uintptr)(unsafe.Pointer(ppArg)) = uintptr(0)
return libc.Int32FromInt32(SQLITE_INDEX_CONSTRAINT_FUNCTION) + libc.Int32FromInt32(1)
}
@@ -183696,12 +176831,14 @@ func _geomCallback(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
}
}
+type t__ccgo_fp__Xsqlite3_rtree_geometry_callback_2 = func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Register a new geometry function for use with the r-tree MATCH operator.
// */
-func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, xGeom uintptr, pContext uintptr) (r int32) {
+func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr, __ccgo_fp_xGeom uintptr, pContext uintptr) (r int32) {
var pGeomCtx uintptr
_ = pGeomCtx /* Context object for new user-function */
/* Allocate and populate the context object. */
@@ -183709,33 +176846,37 @@ func Xsqlite3_rtree_geometry_callback(tls *libc.TLS, db uintptr, zGeom uintptr,
if !(pGeomCtx != 0) {
return int32(SQLITE_NOMEM)
}
- (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxGeom = xGeom
+ (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxGeom = __ccgo_fp_xGeom
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxQueryFunc = uintptr(0)
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxDestructor = uintptr(0)
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FpContext = pContext
return Xsqlite3_create_function_v2(tls, db, zGeom, -int32(1), int32(SQLITE_ANY), pGeomCtx, __ccgo_fp(_geomCallback), uintptr(0), uintptr(0), __ccgo_fp(_rtreeFreeCallback))
}
+type t__ccgo_fp__Xsqlite3_rtree_query_callback_2 = func(*libc.TLS, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3_rtree_query_callback_4 = func(*libc.TLS, uintptr)
+
// C documentation
//
// /*
// ** Register a new 2nd-generation geometry function for use with the
// ** r-tree MATCH operator.
// */
-func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, xQueryFunc uintptr, pContext uintptr, xDestructor uintptr) (r int32) {
+func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr, __ccgo_fp_xQueryFunc uintptr, pContext uintptr, __ccgo_fp_xDestructor uintptr) (r int32) {
var pGeomCtx uintptr
_ = pGeomCtx /* Context object for new user-function */
/* Allocate and populate the context object. */
pGeomCtx = Xsqlite3_malloc(tls, int32(16))
if !(pGeomCtx != 0) {
- if xDestructor != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDestructor})))(tls, pContext)
+ if __ccgo_fp_xDestructor != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDestructor})))(tls, pContext)
}
return int32(SQLITE_NOMEM)
}
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxGeom = uintptr(0)
- (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxQueryFunc = xQueryFunc
- (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxDestructor = xDestructor
+ (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxQueryFunc = __ccgo_fp_xQueryFunc
+ (*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FxDestructor = __ccgo_fp_xDestructor
(*TRtreeGeomCallback)(unsafe.Pointer(pGeomCtx)).FpContext = pContext
return Xsqlite3_create_function_v2(tls, db, zQueryFunc, -int32(1), int32(SQLITE_ANY), pGeomCtx, __ccgo_fp(_geomCallback), uintptr(0), uintptr(0), __ccgo_fp(_rtreeFreeCallback))
}
@@ -184353,248 +177494,6 @@ type TRbuUpdateStmt = struct {
type RbuUpdateStmt = TRbuUpdateStmt
-/*
-** These values must match the values defined in wal.c for the equivalent
-** locks. These are not magic numbers as they are part of the SQLite file
-** format.
- */
-
-/*
-** A structure to store values read from the rbu_state table in memory.
- */
-type TRbuState1 = struct {
- FeStage int32
- FzTbl uintptr
- FzDataTbl uintptr
- FzIdx uintptr
- FiWalCksum Ti64
- FnRow int32
- FnProgress Ti64
- FiCookie Tu32
- FiOalSz Ti64
- FnPhaseOneStep Ti64
-}
-
-type RbuState1 = TRbuState1
-
-type TRbuUpdateStmt1 = struct {
- FzMask uintptr
- FpUpdate uintptr
- FpNext uintptr
-}
-
-type RbuUpdateStmt1 = TRbuUpdateStmt1
-
-type TRbuSpan1 = struct {
- FzSpan uintptr
- FnSpan int32
-}
-
-type RbuSpan1 = TRbuSpan1
-
-/*
-** An iterator of this type is used to iterate through all objects in
-** the target database that require updating. For each such table, the
-** iterator visits, in order:
-**
-** * the table itself,
-** * each index of the table (zero or more points to visit), and
-** * a special "cleanup table" state.
-**
-** abIndexed:
-** If the table has no indexes on it, abIndexed is set to NULL. Otherwise,
-** it points to an array of flags nTblCol elements in size. The flag is
-** set for each column that is either a part of the PK or a part of an
-** index. Or clear otherwise.
-**
-** If there are one or more partial indexes on the table, all fields of
-** this array set set to 1. This is because in that case, the module has
-** no way to tell which fields will be required to add and remove entries
-** from the partial indexes.
-**
- */
-type TRbuObjIter1 = struct {
- FpTblIter uintptr
- FpIdxIter uintptr
- FnTblCol int32
- FazTblCol uintptr
- FazTblType uintptr
- FaiSrcOrder uintptr
- FabTblPk uintptr
- FabNotNull uintptr
- FabIndexed uintptr
- FeType int32
- FbCleanup int32
- FzTbl uintptr
- FzDataTbl uintptr
- FzIdx uintptr
- FiTnum int32
- FiPkTnum int32
- FbUnique int32
- FnIndex int32
- FnCol int32
- FpSelect uintptr
- FpInsert uintptr
- FpDelete uintptr
- FpTmpInsert uintptr
- FnIdxCol int32
- FaIdxCol uintptr
- FzIdxSql uintptr
- FpRbuUpdate uintptr
-}
-
-type RbuObjIter1 = TRbuObjIter1
-
-/*
-** Values for RbuObjIter.eType
-**
-** 0: Table does not exist (error)
-** 1: Table has an implicit rowid.
-** 2: Table has an explicit IPK column.
-** 3: Table has an external PK index.
-** 4: Table is WITHOUT ROWID.
-** 5: Table is a virtual table.
- */
-
-/*
-** Within the RBU_STAGE_OAL stage, each call to sqlite3rbu_step() performs
-** one of the following operations.
- */
-
-/*
-** A single step of an incremental checkpoint - frame iWalFrame of the wal
-** file should be copied to page iDbPage of the database file.
- */
-type TRbuFrame1 = struct {
- FiDbPage Tu32
- FiWalFrame Tu32
-}
-
-type RbuFrame1 = TRbuFrame1
-
-/*
-** RBU handle.
-**
-** nPhaseOneStep:
-** If the RBU database contains an rbu_count table, this value is set to
-** a running estimate of the number of b-tree operations required to
-** finish populating the *-oal file. This allows the sqlite3_bp_progress()
-** API to calculate the permyriadage progress of populating the *-oal file
-** using the formula:
-**
-** permyriadage = (10000 * nProgress) / nPhaseOneStep
-**
-** nPhaseOneStep is initialized to the sum of:
-**
-** nRow * (nIndex + 1)
-**
-** for all source tables in the RBU database, where nRow is the number
-** of rows in the source table and nIndex the number of indexes on the
-** corresponding target database table.
-**
-** This estimate is accurate if the RBU update consists entirely of
-** INSERT operations. However, it is inaccurate if:
-**
-** * the RBU update contains any UPDATE operations. If the PK specified
-** for an UPDATE operation does not exist in the target table, then
-** no b-tree operations are required on index b-trees. Or if the
-** specified PK does exist, then (nIndex*2) such operations are
-** required (one delete and one insert on each index b-tree).
-**
-** * the RBU update contains any DELETE operations for which the specified
-** PK does not exist. In this case no operations are required on index
-** b-trees.
-**
-** * the RBU update contains REPLACE operations. These are similar to
-** UPDATE operations.
-**
-** nPhaseOneStep is updated to account for the conditions above during the
-** first pass of each source table. The updated nPhaseOneStep value is
-** stored in the rbu_state table if the RBU update is suspended.
- */
-type Tsqlite3rbu1 = struct {
- FeStage int32
- FdbMain uintptr
- FdbRbu uintptr
- FzTarget uintptr
- FzRbu uintptr
- FzState uintptr
- FzStateDb [5]int8
- Frc int32
- FzErrmsg uintptr
- FnStep int32
- FnProgress Tsqlite3_int64
- Fobjiter TRbuObjIter
- FzVfsName uintptr
- FpTargetFd uintptr
- FnPagePerSector int32
- FiOalSz Ti64
- FnPhaseOneStep Ti64
- FpRenameArg uintptr
- FxRename uintptr
- FiMaxFrame Tu32
- FmLock Tu32
- FnFrame int32
- FnFrameAlloc int32
- FaFrame uintptr
- Fpgsz int32
- FaBuf uintptr
- FiWalCksum Ti64
- FszTemp Ti64
- FszTempLimit Ti64
- FnRbu int32
- FpRbuFd uintptr
-}
-
-type sqlite3rbu1 = Tsqlite3rbu1
-
-/*
-** An rbu VFS is implemented using an instance of this structure.
-**
-** Variable pRbu is only non-NULL for automatically created RBU VFS objects.
-** It is NULL for RBU VFS objects created explicitly using
-** sqlite3rbu_create_vfs(). It is used to track the total amount of temp
-** space used by the RBU handle.
- */
-type Trbu_vfs1 = struct {
- Fbase Tsqlite3_vfs
- FpRealVfs uintptr
- Fmutex uintptr
- FpRbu uintptr
- FpMain uintptr
- FpMainRbu uintptr
-}
-
-type rbu_vfs1 = Trbu_vfs1
-
-/*
-** Each file opened by an rbu VFS is represented by an instance of
-** the following structure.
-**
-** If this is a temporary file (pRbu!=0 && flags&DELETE_ON_CLOSE), variable
-** "sz" is set to the current size of the database file.
- */
-type Trbu_file1 = struct {
- Fbase Tsqlite3_file
- FpReal uintptr
- FpRbuVfs uintptr
- FpRbu uintptr
- Fsz Ti64
- FopenFlags int32
- FiCookie Tu32
- FiWriteVer Tu8
- FbNolock Tu8
- FnShm int32
- FapShm uintptr
- FzDel uintptr
- FzWal uintptr
- FpWalFd uintptr
- FpMainNext uintptr
- FpMainRbuNext uintptr
-}
-
-type rbu_file1 = Trbu_file1
-
/*
** True for an RBU vacuum handle, or false otherwise.
*/
@@ -187308,7 +180207,7 @@ func _rbuShmChecksum(tls *libc.TLS, p uintptr) (r Ti64) {
iRet = 0
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
iRet = libc.Int64FromUint64(uint64(libc.AtomicLoadPUint32(*(*uintptr)(unsafe.Pointer(bp))+libc.UintptrFromInt32(10)*4))< (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz {
(*Tsqlite3rbu)(unsafe.Pointer(p)).FnPagePerSector = nSectorSize / (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz
} else {
@@ -187410,7 +180309,7 @@ func _rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) {
** directory in which the target database and the wal file reside, in
** case it has not been synced since the rename() call in
** rbuMoveOalFile(). */
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxSync})))(tls, pWal, int32(SQLITE_SYNC_NORMAL))
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxSync})))(tls, pWal, int32(SQLITE_SYNC_NORMAL))
}
}
}
@@ -187483,12 +180382,12 @@ func _rbuCheckpointFrame(tls *libc.TLS, p uintptr, pFrame uintptr) {
pWal = (*Trbu_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd)).FpReal
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
iOff = libc.Int64FromUint32((*TRbuFrame)(unsafe.Pointer(pFrame)).FiWalFrame-libc.Uint32FromInt32(1))*int64((*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz+libc.Int32FromInt32(24)) + int64(32) + int64(24)
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxRead})))(tls, pWal, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxRead})))(tls, pWal, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc != 0 {
return
}
iOff = libc.Int64FromUint32((*TRbuFrame)(unsafe.Pointer(pFrame)).FiDbPage-libc.Uint32FromInt32(1)) * int64((*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz)
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxWrite})))(tls, pDb, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxWrite})))(tls, pDb, (*Tsqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Tsqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff)
}
/*
@@ -187513,18 +180412,18 @@ func _rbuLockDatabase(tls *libc.TLS, db uintptr) (r int32) {
Xsqlite3_file_control(tls, db, __ccgo_ts+6740, int32(RBU_ZIPVFS_CTRL_FILE_POINTER), bp)
if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
Xsqlite3_file_control(tls, db, __ccgo_ts+6740, int32(SQLITE_FCNTL_FILE_POINTER), bp)
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
if rc == SQLITE_OK {
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxUnlock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), SQLITE_LOCK_NONE)
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxUnlock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), SQLITE_LOCK_NONE)
}
Xsqlite3_file_control(tls, db, __ccgo_ts+6740, int32(RBU_ZIPVFS_CTRL_FILE_POINTER), bp)
} else {
Xsqlite3_file_control(tls, db, __ccgo_ts+6740, int32(SQLITE_FCNTL_FILE_POINTER), bp)
}
if rc == SQLITE_OK && (*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods != 0 {
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_SHARED))
if rc == SQLITE_OK {
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_EXCLUSIVE))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxLock})))(tls, *(*uintptr)(unsafe.Pointer(bp)), int32(SQLITE_LOCK_EXCLUSIVE))
}
}
return rc
@@ -188042,10 +180941,10 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) (r int32) {
if (*Tsqlite3rbu)(unsafe.Pointer(p)).FnStep >= (*Tsqlite3rbu)(unsafe.Pointer(p)).FnFrame {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
/* Sync the db file */
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
/* Update nBackfill */
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})))(tls, pDb, 0, libc.Int32FromInt32(32)*libc.Int32FromInt32(1024), 0, bp)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK {
*(*Tu32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)) + 24*4)) = (*Tsqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame
}
@@ -188564,7 +181463,7 @@ func Xsqlite3rbu_close(tls *libc.TLS, p uintptr, pzErrmsg uintptr) (r int32) {
/* Sync the db file if currently doing an incremental checkpoint */
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
- (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
+ (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
}
_rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage)
if (*Tsqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_OAL) {
@@ -188685,7 +181584,7 @@ func Xsqlite3rbu_savestate(tls *libc.TLS, p uintptr) (r int32) {
/* Sync the db file */
if rc == SQLITE_OK && (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage == int32(RBU_STAGE_CKPT) {
pDb = (*Trbu_file)(unsafe.Pointer((*Tsqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal
- rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
+ rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})))(tls, pDb, int32(SQLITE_SYNC_NORMAL))
}
(*Tsqlite3rbu)(unsafe.Pointer(p)).Frc = rc
_rbuSaveState(tls, p, (*Tsqlite3rbu)(unsafe.Pointer(p)).FeStage)
@@ -188730,9 +181629,11 @@ func _xDefaultRename(tls *libc.TLS, pArg uintptr, zOld uintptr, zNew uintptr) (r
return rc
}
-func Xsqlite3rbu_rename_handler(tls *libc.TLS, pRbu uintptr, pArg uintptr, xRename uintptr) {
- if xRename != 0 {
- (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FxRename = xRename
+type t__ccgo_fp__Xsqlite3rbu_rename_handler_2 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+func Xsqlite3rbu_rename_handler(tls *libc.TLS, pRbu uintptr, pArg uintptr, __ccgo_fp_xRename uintptr) {
+ if __ccgo_fp_xRename != 0 {
+ (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FxRename = __ccgo_fp_xRename
(*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FpRenameArg = pArg
} else {
(*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FxRename = __ccgo_fp(_xDefaultRename)
@@ -188804,7 +181705,7 @@ func _rbuUnlockShm(tls *libc.TLS, p uintptr) {
var xShmLock uintptr
_, _ = i, xShmLock
if (*Trbu_file)(unsafe.Pointer(p)).FpRbu != 0 {
- xShmLock = (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock
+ xShmLock = (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock
i = 0
for {
if !(i < int32(SQLITE_SHM_NLOCK)) {
@@ -189007,7 +181908,7 @@ func _rbuVfsClose(tls *libc.TLS, pFile uintptr) (r int32) {
}
}
/* Close the underlying file handle */
- rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxClose})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal)
+ rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxClose})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal)
return rc
}
@@ -189058,14 +181959,14 @@ func _rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst T
rc = SQLITE_OK
libc.Xmemset(tls, zBuf, 0, libc.Uint32FromInt32(iAmt))
} else {
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxRead})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*Trbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxRead})))(tls, (*Trbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst)
/* If this is being called to read the first page of the target
** database as part of an rbu vacuum operation, synthesize the
** contents of the first page if it does not yet exist. Otherwise,
** SQLite will not check for a *-wal file. */
if pRbu != 0 && (*Tsqlite3rbu)(unsafe.Pointer(pRbu)).FzTarget == uintptr(0) && rc == libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(2)<= libc.Int32FromUint32(libc.Uint32FromInt64(1280)/libc.Uint32FromInt64(40)) {
_statResetCsr(tls, pCsr)
- return _sqlite3CorruptError(tls, int32(227354))
+ return _sqlite3CorruptError(tls, int32(227381))
}
if (*TStatPage)(unsafe.Pointer(p)).FiCell == (*TStatPage)(unsafe.Pointer(p)).FnCell {
(*(*TStatPage)(unsafe.Pointer(p + 1*40))).FiPgno = (*TStatPage)(unsafe.Pointer(p)).FiRightChildPg
@@ -190990,315 +183830,6 @@ type TSessionHook = struct {
type SessionHook = TSessionHook
-type TSessionHook1 = struct {
- FpCtx uintptr
- FxOld uintptr
- FxNew uintptr
- FxCount uintptr
- FxDepth uintptr
-}
-
-type SessionHook1 = TSessionHook1
-
-/*
-** Session handle structure.
- */
-type Tsqlite3_session1 = struct {
- Fdb uintptr
- FzDb uintptr
- FbEnableSize int32
- FbEnable int32
- FbIndirect int32
- FbAutoAttach int32
- FbImplicitPK int32
- Frc int32
- FpFilterCtx uintptr
- FxTableFilter uintptr
- FnMalloc Ti64
- FnMaxChangesetSize Ti64
- FpZeroBlob uintptr
- FpNext uintptr
- FpTable uintptr
- Fhook TSessionHook
-}
-
-type sqlite3_session1 = Tsqlite3_session1
-
-/*
-** Instances of this structure are used to build strings or binary records.
- */
-type TSessionBuffer1 = struct {
- FaBuf uintptr
- FnBuf int32
- FnAlloc int32
-}
-
-type SessionBuffer1 = TSessionBuffer1
-
-/*
-** An object of this type is used internally as an abstraction for
-** input data. Input data may be supplied either as a single large buffer
-** (e.g. sqlite3changeset_start()) or using a stream function (e.g.
-** sqlite3changeset_start_strm()).
-**
-** bNoDiscard:
-** If true, then the only time data is discarded is as a result of explicit
-** sessionDiscardData() calls. Not within every sessionInputBuffer() call.
- */
-type TSessionInput1 = struct {
- FbNoDiscard int32
- FiCurrent int32
- FiNext int32
- FaData uintptr
- FnData int32
- Fbuf TSessionBuffer
- FxInput uintptr
- FpIn uintptr
- FbEof int32
-}
-
-type SessionInput1 = TSessionInput1
-
-/*
-** Structure for changeset iterators.
- */
-type Tsqlite3_changeset_iter1 = struct {
- Fin TSessionInput
- Ftblhdr TSessionBuffer
- FbPatchset int32
- FbInvert int32
- FbSkipEmpty int32
- Frc int32
- FpConflict uintptr
- FzTab uintptr
- FnCol int32
- Fop int32
- FbIndirect int32
- FabPK uintptr
- FapValue uintptr
-}
-
-type sqlite3_changeset_iter1 = Tsqlite3_changeset_iter1
-
-/*
-** Each session object maintains a set of the following structures, one
-** for each table the session object is monitoring. The structures are
-** stored in a linked list starting at sqlite3_session.pTable.
-**
-** The keys of the SessionTable.aChange[] hash table are all rows that have
-** been modified in any way since the session object was attached to the
-** table.
-**
-** The data associated with each hash-table entry is a structure containing
-** a subset of the initial values that the modified row contained at the
-** start of the session. Or no initial values if the row was inserted.
-**
-** pDfltStmt:
-** This is only used by the sqlite3changegroup_xxx() APIs, not by
-** regular sqlite3_session objects. It is a SELECT statement that
-** selects the default value for each table column. For example,
-** if the table is
-**
-** CREATE TABLE xx(a DEFAULT 1, b, c DEFAULT 'abc')
-**
-** then this variable is the compiled version of:
-**
-** SELECT 1, NULL, 'abc'
- */
-type TSessionTable1 = struct {
- FpNext uintptr
- FzName uintptr
- FnCol int32
- FnTotalCol int32
- FbStat1 int32
- FbRowid int32
- FazCol uintptr
- FazDflt uintptr
- FaiIdx uintptr
- FabPK uintptr
- FnEntry int32
- FnChange int32
- FapChange uintptr
- FpDfltStmt uintptr
-}
-
-type SessionTable1 = TSessionTable1
-
-/*
-** RECORD FORMAT:
-**
-** The following record format is similar to (but not compatible with) that
-** used in SQLite database files. This format is used as part of the
-** change-set binary format, and so must be architecture independent.
-**
-** Unlike the SQLite database record format, each field is self-contained -
-** there is no separation of header and data. Each field begins with a
-** single byte describing its type, as follows:
-**
-** 0x00: Undefined value.
-** 0x01: Integer value.
-** 0x02: Real value.
-** 0x03: Text value.
-** 0x04: Blob value.
-** 0x05: SQL NULL value.
-**
-** Note that the above match the definitions of SQLITE_INTEGER, SQLITE_TEXT
-** and so on in sqlite3.h. For undefined and NULL values, the field consists
-** only of the single type byte. For other types of values, the type byte
-** is followed by:
-**
-** Text values:
-** A varint containing the number of bytes in the value (encoded using
-** UTF-8). Followed by a buffer containing the UTF-8 representation
-** of the text value. There is no nul terminator.
-**
-** Blob values:
-** A varint containing the number of bytes in the value, followed by
-** a buffer containing the value itself.
-**
-** Integer values:
-** An 8-byte big-endian integer value.
-**
-** Real values:
-** An 8-byte big-endian IEEE 754-2008 real value.
-**
-** Varint values are encoded in the same way as varints in the SQLite
-** record format.
-**
-** CHANGESET FORMAT:
-**
-** A changeset is a collection of DELETE, UPDATE and INSERT operations on
-** one or more tables. Operations on a single table are grouped together,
-** but may occur in any order (i.e. deletes, updates and inserts are all
-** mixed together).
-**
-** Each group of changes begins with a table header:
-**
-** 1 byte: Constant 0x54 (capital 'T')
-** Varint: Number of columns in the table.
-** nCol bytes: 0x01 for PK columns, 0x00 otherwise.
-** N bytes: Unqualified table name (encoded using UTF-8). Nul-terminated.
-**
-** Followed by one or more changes to the table.
-**
-** 1 byte: Either SQLITE_INSERT (0x12), UPDATE (0x17) or DELETE (0x09).
-** 1 byte: The "indirect-change" flag.
-** old.* record: (delete and update only)
-** new.* record: (insert and update only)
-**
-** The "old.*" and "new.*" records, if present, are N field records in the
-** format described above under "RECORD FORMAT", where N is the number of
-** columns in the table. The i'th field of each record is associated with
-** the i'th column of the table, counting from left to right in the order
-** in which columns were declared in the CREATE TABLE statement.
-**
-** The new.* record that is part of each INSERT change contains the values
-** that make up the new row. Similarly, the old.* record that is part of each
-** DELETE change contains the values that made up the row that was deleted
-** from the database. In the changeset format, the records that are part
-** of INSERT or DELETE changes never contain any undefined (type byte 0x00)
-** fields.
-**
-** Within the old.* record associated with an UPDATE change, all fields
-** associated with table columns that are not PRIMARY KEY columns and are
-** not modified by the UPDATE change are set to "undefined". Other fields
-** are set to the values that made up the row before the UPDATE that the
-** change records took place. Within the new.* record, fields associated
-** with table columns modified by the UPDATE change contain the new
-** values. Fields associated with table columns that are not modified
-** are set to "undefined".
-**
-** PATCHSET FORMAT:
-**
-** A patchset is also a collection of changes. It is similar to a changeset,
-** but leaves undefined those fields that are not useful if no conflict
-** resolution is required when applying the changeset.
-**
-** Each group of changes begins with a table header:
-**
-** 1 byte: Constant 0x50 (capital 'P')
-** Varint: Number of columns in the table.
-** nCol bytes: 0x01 for PK columns, 0x00 otherwise.
-** N bytes: Unqualified table name (encoded using UTF-8). Nul-terminated.
-**
-** Followed by one or more changes to the table.
-**
-** 1 byte: Either SQLITE_INSERT (0x12), UPDATE (0x17) or DELETE (0x09).
-** 1 byte: The "indirect-change" flag.
-** single record: (PK fields for DELETE, PK and modified fields for UPDATE,
-** full record for INSERT).
-**
-** As in the changeset format, each field of the single record that is part
-** of a patchset change is associated with the correspondingly positioned
-** table column, counting from left to right within the CREATE TABLE
-** statement.
-**
-** For a DELETE change, all fields within the record except those associated
-** with PRIMARY KEY columns are omitted. The PRIMARY KEY fields contain the
-** values identifying the row to delete.
-**
-** For an UPDATE change, all fields except those associated with PRIMARY KEY
-** columns and columns that are modified by the UPDATE are set to "undefined".
-** PRIMARY KEY fields contain the values identifying the table row to update,
-** and fields associated with modified columns contain the new column values.
-**
-** The records associated with INSERT changes are in the same format as for
-** changesets. It is not possible for a record associated with an INSERT
-** change to contain a field set to "undefined".
-**
-** REBASE BLOB FORMAT:
-**
-** A rebase blob may be output by sqlite3changeset_apply_v2() and its
-** streaming equivalent for use with the sqlite3_rebaser APIs to rebase
-** existing changesets. A rebase blob contains one entry for each conflict
-** resolved using either the OMIT or REPLACE strategies within the apply_v2()
-** call.
-**
-** The format used for a rebase blob is very similar to that used for
-** changesets. All entries related to a single table are grouped together.
-**
-** Each group of entries begins with a table header in changeset format:
-**
-** 1 byte: Constant 0x54 (capital 'T')
-** Varint: Number of columns in the table.
-** nCol bytes: 0x01 for PK columns, 0x00 otherwise.
-** N bytes: Unqualified table name (encoded using UTF-8). Nul-terminated.
-**
-** Followed by one or more entries associated with the table.
-**
-** 1 byte: Either SQLITE_INSERT (0x12), DELETE (0x09).
-** 1 byte: Flag. 0x01 for REPLACE, 0x00 for OMIT.
-** record: (in the record format defined above).
-**
-** In a rebase blob, the first field is set to SQLITE_INSERT if the change
-** that caused the conflict was an INSERT or UPDATE, or to SQLITE_DELETE if
-** it was a DELETE. The second field is set to 0x01 if the conflict
-** resolution strategy was REPLACE, or 0x00 if it was OMIT.
-**
-** If the change that caused the conflict was a DELETE, then the single
-** record is a copy of the old.* record from the original changeset. If it
-** was an INSERT, then the single record is a copy of the new.* record. If
-** the conflicting change was an UPDATE, then the single record is a copy
-** of the new.* record with the PK fields filled in based on the original
-** old.* record.
- */
-
-/*
-** For each row modified during a session, there exists a single instance of
-** this structure stored in a SessionTable.aChange[] hash table.
- */
-type TSessionChange1 = struct {
- Fop Tu8
- FbIndirect Tu8
- FnRecordField Tu16
- FnMaxSize int32
- FnRecord int32
- FaRecord uintptr
- FpNext uintptr
-}
-
-type SessionChange1 = TSessionChange1
-
// C documentation
//
// /*
@@ -192703,13 +185234,6 @@ type TSessionStat1Ctx = struct {
type SessionStat1Ctx = TSessionStat1Ctx
-type TSessionStat1Ctx1 = struct {
- Fhook TSessionHook
- FpSession uintptr
-}
-
-type SessionStat1Ctx1 = TSessionStat1Ctx1
-
func _sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
@@ -193201,14 +185725,6 @@ type TSessionDiffCtx = struct {
type SessionDiffCtx = TSessionDiffCtx
-type TSessionDiffCtx1 = struct {
- FpStmt uintptr
- FbRowid int32
- FnOldOff int32
-}
-
-type SessionDiffCtx1 = TSessionDiffCtx1
-
// C documentation
//
// /*
@@ -193716,15 +186232,17 @@ func Xsqlite3session_delete(tls *libc.TLS, pSession uintptr) {
Xsqlite3_free(tls, pSession)
}
+type t__ccgo_fp__Xsqlite3session_table_filter_1 = func(*libc.TLS, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Set a table filter on a Session Object.
// */
-func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, xFilter uintptr, pCtx uintptr) {
+func Xsqlite3session_table_filter(tls *libc.TLS, pSession uintptr, __ccgo_fp_xFilter uintptr, pCtx uintptr) {
(*Tsqlite3_session)(unsafe.Pointer(pSession)).FbAutoAttach = int32(1)
(*Tsqlite3_session)(unsafe.Pointer(pSession)).FpFilterCtx = pCtx
- (*Tsqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = xFilter
+ (*Tsqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter = __ccgo_fp_xFilter
}
// C documentation
@@ -194346,7 +186864,7 @@ func _sessionAppendTableHdr(tls *libc.TLS, pBuf uintptr, bPatchset int32, pTab u
// ** occurs, an SQLite error code is returned and both output variables set
// ** to 0.
// */
-func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) (r int32) {
+func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, __ccgo_fp_xOutput uintptr, pOut uintptr, pnChangeset uintptr, ppChangeset uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var db, p, pTab, zName uintptr
@@ -194360,7 +186878,7 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
/* Zero the output variables in case an error occurs. If this session
** object is already in the error state (sqlite3_session.rc != SQLITE_OK),
** this call will be a no-op. */
- if xOutput == uintptr(0) {
+ if __ccgo_fp_xOutput == uintptr(0) {
*(*int32)(unsafe.Pointer(pnChangeset)) = 0
*(*uintptr)(unsafe.Pointer(ppChangeset)) = uintptr(0)
}
@@ -194436,8 +186954,8 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
}
/* If the buffer is now larger than sessions_strm_chunk_size, pass
** its contents to the xOutput() callback. */
- if xOutput != 0 && *(*int32)(unsafe.Pointer(bp + 12)) == SQLITE_OK && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > nNoop && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp + 12)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
+ if __ccgo_fp_xOutput != 0 && *(*int32)(unsafe.Pointer(bp + 12)) == SQLITE_OK && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > nNoop && (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp + 12)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
nNoop = -int32(1)
(*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf = 0
}
@@ -194462,13 +186980,13 @@ func _sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32,
pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext
}
if *(*int32)(unsafe.Pointer(bp + 12)) == SQLITE_OK {
- if xOutput == uintptr(0) {
+ if __ccgo_fp_xOutput == uintptr(0) {
*(*int32)(unsafe.Pointer(pnChangeset)) = (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf
*(*uintptr)(unsafe.Pointer(ppChangeset)) = (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf
(*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf = uintptr(0)
} else {
if (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf > 0 {
- *(*int32)(unsafe.Pointer(bp + 12)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
+ *(*int32)(unsafe.Pointer(bp + 12)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp))).FnBuf)
}
}
}
@@ -194497,28 +187015,32 @@ func Xsqlite3session_changeset(tls *libc.TLS, pSession uintptr, pnChangeset uint
return rc
}
+type t__ccgo_fp__Xsqlite3session_changeset_strm_1 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3session_changeset().
// */
-func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) (r int32) {
- if xOutput == uintptr(0) {
+func Xsqlite3session_changeset_strm(tls *libc.TLS, pSession uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
+ if __ccgo_fp_xOutput == uintptr(0) {
return int32(SQLITE_MISUSE)
}
- return _sessionGenerateChangeset(tls, pSession, 0, xOutput, pOut, uintptr(0), uintptr(0))
+ return _sessionGenerateChangeset(tls, pSession, 0, __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
}
+type t__ccgo_fp__Xsqlite3session_patchset_strm_1 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3session_patchset().
// */
-func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, xOutput uintptr, pOut uintptr) (r int32) {
- if xOutput == uintptr(0) {
+func Xsqlite3session_patchset_strm(tls *libc.TLS, pSession uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
+ if __ccgo_fp_xOutput == uintptr(0) {
return int32(SQLITE_MISUSE)
}
- return _sessionGenerateChangeset(tls, pSession, int32(1), xOutput, pOut, uintptr(0), uintptr(0))
+ return _sessionGenerateChangeset(tls, pSession, int32(1), __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
}
// C documentation
@@ -194657,7 +187179,7 @@ func Xsqlite3session_changeset_size(tls *libc.TLS, pSession uintptr) (r Tsqlite3
// /*
// ** Do the work for either sqlite3changeset_start() or start_strm().
// */
-func _sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) (r int32) {
+func _sessionChangesetStart(tls *libc.TLS, pp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, nChangeset int32, pChangeset uintptr, bInvert int32, bSkipEmpty int32) (r int32) {
var nByte, v1 int32
var pRet uintptr
_, _, _ = nByte, pRet, v1 /* Number of bytes to allocate for iterator */
@@ -194672,9 +187194,9 @@ func _sessionChangesetStart(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintp
libc.Xmemset(tls, pRet, 0, uint32(100))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FaData = pChangeset
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FnData = nChangeset
- (*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = xInput
+ (*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FxInput = __ccgo_fp_xInput
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pRet)).Fin.FpIn = pIn
- if xInput != 0 {
+ if __ccgo_fp_xInput != 0 {
v1 = 0
} else {
v1 = int32(1)
@@ -194703,20 +187225,24 @@ func Xsqlite3changeset_start_v2(tls *libc.TLS, pp uintptr, nChangeset int32, pCh
return _sessionChangesetStart(tls, pp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInvert, 0)
}
+type t__ccgo_fp__Xsqlite3changeset_start_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3changeset_start().
// */
-func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr) (r int32) {
- return _sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), 0, 0)
+func Xsqlite3changeset_start_strm(tls *libc.TLS, pp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr) (r int32) {
+ return _sessionChangesetStart(tls, pp, __ccgo_fp_xInput, pIn, 0, uintptr(0), 0, 0)
}
-func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, xInput uintptr, pIn uintptr, flags int32) (r int32) {
+type t__ccgo_fp__Xsqlite3changeset_start_v2_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+func Xsqlite3changeset_start_v2_strm(tls *libc.TLS, pp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, flags int32) (r int32) {
var bInvert int32
_ = bInvert
bInvert = libc.BoolInt32(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETSTART_INVERT) != 0))
- return _sessionChangesetStart(tls, pp, xInput, pIn, 0, uintptr(0), bInvert, 0)
+ return _sessionChangesetStart(tls, pp, __ccgo_fp_xInput, pIn, 0, uintptr(0), bInvert, 0)
}
// C documentation
@@ -194891,7 +187417,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap
rc = _sessionInputBuffer(tls, pIn, int32(9))
if rc == SQLITE_OK {
if (*TSessionInput)(unsafe.Pointer(pIn)).FiNext >= (*TSessionInput)(unsafe.Pointer(pIn)).FnData {
- rc = _sqlite3CorruptError(tls, int32(231641))
+ rc = _sqlite3CorruptError(tls, int32(231668))
} else {
v3 = pIn + 8
v2 = *(*int32)(unsafe.Pointer(v3))
@@ -194915,7 +187441,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap
rc = _sessionInputBuffer(tls, pIn, *(*int32)(unsafe.Pointer(bp)))
if rc == SQLITE_OK {
if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext {
- rc = _sqlite3CorruptError(tls, int32(231661))
+ rc = _sqlite3CorruptError(tls, int32(231688))
} else {
if eType == int32(SQLITE_TEXT) {
v4 = int32(SQLITE_UTF8)
@@ -194930,7 +187456,7 @@ func _sessionReadRecord(tls *libc.TLS, pIn uintptr, nCol int32, abPK uintptr, ap
}
if eType == int32(SQLITE_INTEGER) || eType == int32(SQLITE_FLOAT) {
if (*TSessionInput)(unsafe.Pointer(pIn)).FnData-(*TSessionInput)(unsafe.Pointer(pIn)).FiNext < int32(8) {
- rc = _sqlite3CorruptError(tls, int32(231671))
+ rc = _sqlite3CorruptError(tls, int32(231698))
} else {
*(*Tsqlite3_int64)(unsafe.Pointer(bp + 8)) = _sessionGetI64(tls, aVal)
if eType == int32(SQLITE_INTEGER) {
@@ -194986,7 +187512,7 @@ func _sessionChangesetBufferTblhdr(tls *libc.TLS, pIn uintptr, pnByte uintptr) (
** large value for nCol may cause nRead to wrap around and become
** negative. Leading to a crash. */
if *(*int32)(unsafe.Pointer(bp)) < 0 || *(*int32)(unsafe.Pointer(bp)) > int32(65536) {
- rc = _sqlite3CorruptError(tls, int32(231719))
+ rc = _sqlite3CorruptError(tls, int32(231746))
} else {
rc = _sessionInputBuffer(tls, pIn, nRead+*(*int32)(unsafe.Pointer(bp))+int32(100))
nRead += *(*int32)(unsafe.Pointer(bp))
@@ -195091,7 +187617,7 @@ func _sessionChangesetReadTblhdr(tls *libc.TLS, p uintptr) (r int32) {
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Ftblhdr.FnBuf = 0
_sessionBufferGrow(tls, p+44, int64(nByte), bp)
} else {
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(231807))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(231834))
}
}
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
@@ -195197,7 +187723,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin
if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FzTab == uintptr(0) || (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbPatchset != 0 && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbInvert != 0 {
/* The first record in the changeset is not a table header. Must be a
** corrupt changeset. */
- v7 = _sqlite3CorruptError(tls, int32(231893))
+ v7 = _sqlite3CorruptError(tls, int32(231920))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v7
return v7
}
@@ -195207,7 +187733,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin
*(*int32)(unsafe.Pointer(v9))++
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FbIndirect = libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fin.FaData + uintptr(v8))))
if (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_UPDATE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_DELETE) && (*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Fop != int32(SQLITE_INSERT) {
- v10 = _sqlite3CorruptError(tls, int32(231899))
+ v10 = _sqlite3CorruptError(tls, int32(231926))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v10
return v10
}
@@ -195286,7 +187812,7 @@ func _sessionChangesetNextOne(tls *libc.TLS, p uintptr, paRec uintptr, pnRec uin
if *(*Tu8)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FabPK + uintptr(i))) != 0 {
*(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) = *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i+(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FnCol)*4))
if *(*uintptr)(unsafe.Pointer((*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).FapValue + uintptr(i)*4)) == uintptr(0) {
- v16 = _sqlite3CorruptError(tls, int32(231943))
+ v16 = _sqlite3CorruptError(tls, int32(231970))
(*Tsqlite3_changeset_iter)(unsafe.Pointer(p)).Frc = v16
return v16
}
@@ -195547,7 +188073,7 @@ func Xsqlite3changeset_finalize(tls *libc.TLS, p uintptr) (r int32) {
return rc
}
-func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) (r int32) {
+func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr, pnInverted uintptr, ppInverted uintptr) (r int32) {
bp := tls.Alloc(48)
defer tls.Free(48)
var abPK, apVal, pVal, pVal1, v7 uintptr
@@ -195696,11 +188222,11 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu
goto finished_invert
}
default:
- *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(232308))
+ *(*int32)(unsafe.Pointer(bp)) = _sqlite3CorruptError(tls, int32(232335))
goto finished_invert
}
- if xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf >= _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf)
+ if __ccgo_fp_xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf >= _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf)
(*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf = 0
if *(*int32)(unsafe.Pointer(bp)) != SQLITE_OK {
goto finished_invert
@@ -195712,8 +188238,8 @@ func _sessionChangesetInvert(tls *libc.TLS, pInput uintptr, xOutput uintptr, pOu
*(*uintptr)(unsafe.Pointer(ppInverted)) = (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FaBuf
(*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FaBuf = uintptr(0)
} else {
- if (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf > 0 && xOutput != uintptr(0) {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf)
+ if (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf > 0 && __ccgo_fp_xOutput != uintptr(0) {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf)
}
}
goto finished_invert
@@ -195741,12 +188267,16 @@ func Xsqlite3changeset_invert(tls *libc.TLS, nChangeset int32, pChangeset uintpt
return _sessionChangesetInvert(tls, bp, uintptr(0), uintptr(0), pnInverted, ppInverted)
}
+type t__ccgo_fp__Xsqlite3changeset_invert_strm_0 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_invert_strm_2 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3changeset_invert().
// */
-func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) (r int32) {
+func Xsqlite3changeset_invert_strm(tls *libc.TLS, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
bp := tls.Alloc(48)
defer tls.Free(48)
var rc int32
@@ -195754,9 +188284,9 @@ func Xsqlite3changeset_invert_strm(tls *libc.TLS, xInput uintptr, pIn uintptr, x
_ = rc
/* Set up the input stream */
libc.Xmemset(tls, bp, 0, uint32(44))
- (*(*TSessionInput)(unsafe.Pointer(bp))).FxInput = xInput
+ (*(*TSessionInput)(unsafe.Pointer(bp))).FxInput = __ccgo_fp_xInput
(*(*TSessionInput)(unsafe.Pointer(bp))).FpIn = pIn
- rc = _sessionChangesetInvert(tls, bp, xOutput, pOut, uintptr(0), uintptr(0))
+ rc = _sessionChangesetInvert(tls, bp, __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
Xsqlite3_free(tls, (*(*TSessionInput)(unsafe.Pointer(bp))).Fbuf.FaBuf)
return rc
}
@@ -195769,14 +188299,6 @@ type TSessionUpdate = struct {
type SessionUpdate = TSessionUpdate
-type TSessionUpdate1 = struct {
- FpStmt uintptr
- FaMask uintptr
- FpNext uintptr
-}
-
-type SessionUpdate1 = TSessionUpdate1
-
type TSessionApplyCtx = struct {
Fdb uintptr
FpDelete uintptr
@@ -195800,29 +188322,6 @@ type TSessionApplyCtx = struct {
type SessionApplyCtx = TSessionApplyCtx
-type TSessionApplyCtx1 = struct {
- Fdb uintptr
- FpDelete uintptr
- FpInsert uintptr
- FpSelect uintptr
- FnCol int32
- FazCol uintptr
- FabPK uintptr
- FaUpdateMask uintptr
- FpUp uintptr
- FbStat1 int32
- FbDeferConstraints int32
- FbInvertConstraints int32
- Fconstraints TSessionBuffer
- Frebase TSessionBuffer
- FbRebaseStarted Tu8
- FbRebase Tu8
- FbIgnoreNoop Tu8
- FbRowid int32
-}
-
-type SessionApplyCtx1 = TSessionApplyCtx1
-
/* Number of prepared UPDATE statements to cache. */
// C documentation
@@ -196226,7 +188725,7 @@ func _sessionBindValue(tls *libc.TLS, pStmt uintptr, i int32, pVal uintptr) (r i
// **
// ** An SQLite error code is returned if an error occurs. Otherwise, SQLITE_OK.
// */
-func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) (r int32) {
+func _sessionBindRow(tls *libc.TLS, pIter uintptr, __ccgo_fp_xValue uintptr, nCol int32, abPK uintptr, pStmt uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var i, rc int32
@@ -196244,11 +188743,11 @@ func _sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, a
}
if !(abPK != 0) || *(*Tu8)(unsafe.Pointer(abPK + uintptr(i))) != 0 {
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
- (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xValue})))(tls, pIter, i, bp)
+ (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xValue})))(tls, pIter, i, bp)
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
/* The value in the changeset was "undefined". This indicates a
** corrupt changeset blob. */
- rc = _sqlite3CorruptError(tls, int32(232790))
+ rc = _sqlite3CorruptError(tls, int32(232817))
} else {
rc = _sessionBindValue(tls, pStmt, i+int32(1), *(*uintptr)(unsafe.Pointer(bp)))
}
@@ -196425,7 +188924,7 @@ func _sessionRebaseAdd(tls *libc.TLS, p uintptr, eType int32, pIter uintptr) (r
// ** SQLITE_MISUSE. If the conflict handler returns SQLITE_CHANGESET_OMIT,
// ** this function returns SQLITE_OK.
// */
-func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr) (r int32) {
+func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, pbReplace uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var aBlob uintptr
@@ -196449,7 +188948,7 @@ func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintpt
res = SQLITE_CHANGESET_OMIT
} else {
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = (*TSessionApplyCtx)(unsafe.Pointer(p)).FpSelect
- res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConflict})))(tls, pCtx, eType, pIter)
+ res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConflict})))(tls, pCtx, eType, pIter)
(*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FpConflict = uintptr(0)
}
*(*int32)(unsafe.Pointer(bp)) = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpSelect)
@@ -196464,7 +188963,7 @@ func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintpt
return SQLITE_OK
} else {
/* No other row with the new.* primary key. */
- res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConflict})))(tls, pCtx, eType+int32(1), pIter)
+ res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConflict})))(tls, pCtx, eType+int32(1), pIter)
if res == int32(SQLITE_CHANGESET_REPLACE) {
*(*int32)(unsafe.Pointer(bp)) = int32(SQLITE_MISUSE)
}
@@ -196515,7 +189014,7 @@ func _sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintpt
// ** returns SQLITE_ABORT. Otherwise, if no error occurs, SQLITE_OK is
// ** returned.
// */
-func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) (r int32) {
+func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, pbReplace uintptr, pbRetry uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var abPK, pNew, pOld, v1 uintptr
@@ -196555,10 +189054,10 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
Xsqlite3_step(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpDelete)
rc = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpDelete)
if rc == SQLITE_OK && Xsqlite3_changes(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).Fdb) == 0 && libc.Int32FromUint8((*TSessionApplyCtx)(unsafe.Pointer(p)).FbIgnoreNoop) == 0 {
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, xConflict, pCtx, pbRetry)
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, __ccgo_fp_xConflict, pCtx, pbRetry)
} else {
if rc&int32(0xff) == int32(SQLITE_CONSTRAINT) {
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, xConflict, pCtx, uintptr(0))
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, __ccgo_fp_xConflict, pCtx, uintptr(0))
}
}
} else {
@@ -196596,11 +189095,11 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
/* A NOTFOUND or DATA error. Search the table to see if it contains
** a row with a matching primary key. If so, this is a DATA conflict.
** Otherwise, if there is no primary key match, it is a NOTFOUND. */
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, xConflict, pCtx, pbRetry)
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_DATA), p, pIter, __ccgo_fp_xConflict, pCtx, pbRetry)
} else {
if rc&int32(0xff) == int32(SQLITE_CONSTRAINT) {
/* This is always a CONSTRAINT conflict. */
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, xConflict, pCtx, uintptr(0))
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, __ccgo_fp_xConflict, pCtx, uintptr(0))
}
}
} else {
@@ -196623,7 +189122,7 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
rc = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(p)).FpInsert)
}
if rc&int32(0xff) == int32(SQLITE_CONSTRAINT) {
- rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, xConflict, pCtx, pbReplace)
+ rc = _sessionConflictHandler(tls, int32(SQLITE_CHANGESET_CONFLICT), p, pIter, __ccgo_fp_xConflict, pCtx, pbReplace)
}
}
}
@@ -196642,7 +189141,7 @@ func _sessionApplyOneOp(tls *libc.TLS, pIter uintptr, p uintptr, xConflict uintp
// ** returns SQLITE_CHANGESET_REPLACE - indicating that the change should be
// ** retried in some manner.
// */
-func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
+func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
@@ -196651,7 +189150,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
_ = rc
*(*int32)(unsafe.Pointer(bp)) = 0
*(*int32)(unsafe.Pointer(bp + 4)) = 0
- rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, bp, bp+4)
+ rc = _sessionApplyOneOp(tls, pIter, pApply, __ccgo_fp_xConflict, pCtx, bp, bp+4)
if rc == SQLITE_OK {
/* If the bRetry flag is set, the change has not been applied due to an
** SQLITE_CHANGESET_DATA problem (i.e. this is an UPDATE or DELETE and
@@ -196661,7 +189160,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
** but pass NULL as the final argument so that sessionApplyOneOp() ignores
** the SQLITE_CHANGESET_DATA problem. */
if *(*int32)(unsafe.Pointer(bp + 4)) != 0 {
- rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
+ rc = _sessionApplyOneOp(tls, pIter, pApply, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0))
} else {
if *(*int32)(unsafe.Pointer(bp)) != 0 {
rc = Xsqlite3_exec(tls, db, __ccgo_ts+34779, uintptr(0), uintptr(0), uintptr(0))
@@ -196674,7 +189173,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
rc = Xsqlite3_reset(tls, (*TSessionApplyCtx)(unsafe.Pointer(pApply)).FpDelete)
}
if rc == SQLITE_OK {
- rc = _sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0))
+ rc = _sessionApplyOneOp(tls, pIter, pApply, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0))
}
if rc == SQLITE_OK {
rc = Xsqlite3_exec(tls, db, __ccgo_ts+34800, uintptr(0), uintptr(0), uintptr(0))
@@ -196690,7 +189189,7 @@ func _sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply
// /*
// ** Retry the changes accumulated in the pApply->constraints buffer.
// */
-func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
+func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab uintptr, pApply uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var cons TSessionBuffer
@@ -196717,7 +189216,7 @@ func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab u
libc.Xmemset(tls, (*Tsqlite3_changeset_iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 4)))).FapValue, 0, nByte)
}
for *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp + 4))) {
- *(*int32)(unsafe.Pointer(bp)) = _sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp + 4)), pApply, xConflict, pCtx)
+ *(*int32)(unsafe.Pointer(bp)) = _sessionApplyOneWithRetry(tls, db, *(*uintptr)(unsafe.Pointer(bp + 4)), pApply, __ccgo_fp_xConflict, pCtx)
}
rc2 = Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 4)))
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
@@ -196745,7 +189244,7 @@ func _sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab u
// ** conflict handler callback is invoked to resolve any conflicts encountered
// ** while applying the change.
// */
-func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
+func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
bp := tls.Alloc(240)
defer tls.Free(240)
var bPatchset, i, nMinCol, nTab, rc, rc2, res, schemaMismatch, v2, v3, v4, v6 int32
@@ -196785,7 +189284,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
for rc == SQLITE_OK && int32(SQLITE_ROW) == Xsqlite3changeset_next(tls, pIter) {
Xsqlite3changeset_op(tls, pIter, bp+92, bp+84, bp+88, uintptr(0))
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) || Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 92)), *(*uintptr)(unsafe.Pointer(bp)), nTab+int32(1)) != 0 {
- rc = _sessionRetryConstraints(tls, db, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+4, xConflict, pCtx)
+ rc = _sessionRetryConstraints(tls, db, (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+4, __ccgo_fp_xConflict, pCtx)
if rc != SQLITE_OK {
break
}
@@ -196809,7 +189308,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
/* If an xFilter() callback was specified, invoke it now. If the
** xFilter callback returns zero, skip this table. If it returns
** non-zero, proceed. */
- schemaMismatch = libc.BoolInt32(xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 92))))
+ schemaMismatch = libc.BoolInt32(__ccgo_fp_xFilter != 0 && 0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xFilter})))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 92))))
if schemaMismatch != 0 {
*(*uintptr)(unsafe.Pointer(bp)) = Xsqlite3_mprintf(tls, __ccgo_ts+3890, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(bp + 92))))
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
@@ -196885,7 +189384,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
if schemaMismatch != 0 {
continue
}
- rc = _sessionApplyOneWithRetry(tls, db, pIter, bp+4, xConflict, pCtx)
+ rc = _sessionApplyOneWithRetry(tls, db, pIter, bp+4, __ccgo_fp_xConflict, pCtx)
}
bPatchset = (*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset
if rc == SQLITE_OK {
@@ -196894,7 +189393,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
Xsqlite3changeset_finalize(tls, pIter)
}
if rc == SQLITE_OK {
- rc = _sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+4, xConflict, pCtx)
+ rc = _sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp)), bp+4, __ccgo_fp_xConflict, pCtx)
}
if rc == SQLITE_OK {
Xsqlite3_db_status(tls, db, int32(SQLITE_DBSTATUS_DEFERRED_FKS), bp+100, bp+104, 0)
@@ -196902,7 +189401,7 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
res = int32(SQLITE_CHANGESET_ABORT)
libc.Xmemset(tls, bp+108, 0, uint32(100))
(*(*Tsqlite3_changeset_iter)(unsafe.Pointer(bp + 108))).FnCol = *(*int32)(unsafe.Pointer(bp + 100))
- res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xConflict})))(tls, pCtx, int32(SQLITE_CHANGESET_FOREIGN_KEY), bp+108)
+ res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xConflict})))(tls, pCtx, int32(SQLITE_CHANGESET_FOREIGN_KEY), bp+108)
if res != SQLITE_CHANGESET_OMIT {
rc = int32(SQLITE_CONSTRAINT)
}
@@ -196941,13 +189440,17 @@ func _sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter ui
return rc
}
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
// ** Apply the changeset passed via pChangeset/nChangeset to the main
// ** database attached to handle "db".
// */
-func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
+func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var bInv, rc int32
@@ -196956,11 +189459,15 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh
bInv = libc.BoolInt32(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_INVERT) != 0))
rc = _sessionChangesetStart(tls, bp, uintptr(0), uintptr(0), nChangeset, pChangeset, bInv, int32(1))
if rc == SQLITE_OK {
- rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags)
+ rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, ppRebase, pnRebase, flags)
}
return rc
}
+type t__ccgo_fp__Xsqlite3changeset_apply_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
@@ -196968,10 +189475,16 @@ func Xsqlite3changeset_apply_v2(tls *libc.TLS, db uintptr, nChangeset int32, pCh
// ** attached to handle "db". Invoke the supplied conflict handler callback
// ** to resolve any conflicts encountered while applying the change.
// */
-func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
- return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0)
+func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChangeset uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
+ return Xsqlite3changeset_apply_v2(tls, db, nChangeset, pChangeset, __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0), 0)
}
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_strm_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_v2_strm_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
+
// C documentation
//
// /*
@@ -196979,37 +189492,29 @@ func Xsqlite3changeset_apply(tls *libc.TLS, db uintptr, nChangeset int32, pChang
// ** attached to handle "db". Invoke the supplied conflict handler callback
// ** to resolve any conflicts encountered while applying the change.
// */
-func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
+func Xsqlite3changeset_apply_v2_strm(tls *libc.TLS, db uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var bInverse, rc int32
var _ /* pIter at bp+0 */ uintptr
_, _ = bInverse, rc /* Iterator to skip through changeset */
bInverse = libc.BoolInt32(!!(flags&libc.Int32FromInt32(SQLITE_CHANGESETAPPLY_INVERT) != 0))
- rc = _sessionChangesetStart(tls, bp, xInput, pIn, 0, uintptr(0), bInverse, int32(1))
+ rc = _sessionChangesetStart(tls, bp, __ccgo_fp_xInput, pIn, 0, uintptr(0), bInverse, int32(1))
if rc == SQLITE_OK {
- rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), xFilter, xConflict, pCtx, ppRebase, pnRebase, flags)
+ rc = _sessionChangesetApply(tls, db, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, ppRebase, pnRebase, flags)
}
return rc
}
-func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, xInput uintptr, pIn uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr) (r int32) {
- return Xsqlite3changeset_apply_v2_strm(tls, db, xInput, pIn, xFilter, xConflict, pCtx, uintptr(0), uintptr(0), 0)
-}
+type t__ccgo_fp__Xsqlite3changeset_apply_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
-/*
-** sqlite3_changegroup handle.
- */
-type Tsqlite3_changegroup1 = struct {
- Frc int32
- FbPatch int32
- FpList uintptr
- Frec TSessionBuffer
- Fdb uintptr
- FzDb uintptr
-}
+type t__ccgo_fp__Xsqlite3changeset_apply_strm_3 = func(*libc.TLS, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_apply_strm_4 = func(*libc.TLS, uintptr, int32, uintptr) int32
-type sqlite3_changegroup1 = Tsqlite3_changegroup1
+func Xsqlite3changeset_apply_strm(tls *libc.TLS, db uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xFilter uintptr, __ccgo_fp_xConflict uintptr, pCtx uintptr) (r int32) {
+ return Xsqlite3changeset_apply_v2_strm(tls, db, __ccgo_fp_xInput, pIn, __ccgo_fp_xFilter, __ccgo_fp_xConflict, pCtx, uintptr(0), uintptr(0), 0)
+}
// C documentation
//
@@ -197585,7 +190090,7 @@ func _sessionChangesetToHash(tls *libc.TLS, pIter uintptr, pGrp uintptr, bRebase
// ** error code. If an error occurs and xOutput is NULL, (*ppOut) and (*pnOut)
// ** are both set to 0 before returning.
// */
-func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
+func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var i int32
@@ -197620,8 +190125,8 @@ func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOu
_sessionAppendByte(tls, bp+4, (*TSessionChange)(unsafe.Pointer(p)).Fop, bp)
_sessionAppendByte(tls, bp+4, (*TSessionChange)(unsafe.Pointer(p)).FbIndirect, bp)
_sessionAppendBlob(tls, bp+4, (*TSessionChange)(unsafe.Pointer(p)).FaRecord, (*TSessionChange)(unsafe.Pointer(p)).FnRecord, bp)
- if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf >= _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf)
+ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && __ccgo_fp_xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf >= _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf)
(*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf = 0
}
goto _3
@@ -197640,9 +190145,9 @@ func _sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOu
pTab = (*TSessionTable)(unsafe.Pointer(pTab)).FpNext
}
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
- if xOutput != 0 {
+ if __ccgo_fp_xOutput != 0 {
if (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf > 0 {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf)
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 4))).FnBuf)
}
} else {
if ppOut != 0 {
@@ -197753,18 +190258,20 @@ func Xsqlite3changegroup_output(tls *libc.TLS, pGrp uintptr, pnData uintptr, ppD
return _sessionChangegroupOutput(tls, pGrp, uintptr(0), uintptr(0), pnData, ppData)
}
+type t__ccgo_fp__Xsqlite3changegroup_add_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
// C documentation
//
// /*
// ** Streaming versions of changegroup_add().
// */
-func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, pIn uintptr) (r int32) {
+func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, __ccgo_fp_xInput uintptr, pIn uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
var _ /* pIter at bp+0 */ uintptr
_ = rc /* Return code */
- rc = Xsqlite3changeset_start_strm(tls, bp, xInput, pIn)
+ rc = Xsqlite3changeset_start_strm(tls, bp, __ccgo_fp_xInput, pIn)
if rc == SQLITE_OK {
rc = _sessionChangesetToHash(tls, *(*uintptr)(unsafe.Pointer(bp)), pGrp, 0)
}
@@ -197772,13 +190279,15 @@ func Xsqlite3changegroup_add_strm(tls *libc.TLS, pGrp uintptr, xInput uintptr, p
return rc
}
+type t__ccgo_fp__Xsqlite3changegroup_output_strm_1 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming versions of changegroup_output().
// */
-func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut uintptr) (r int32) {
- return _sessionChangegroupOutput(tls, pGrp, xOutput, pOut, uintptr(0), uintptr(0))
+func Xsqlite3changegroup_output_strm(tls *libc.TLS, pGrp uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
+ return _sessionChangegroupOutput(tls, pGrp, __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
}
// C documentation
@@ -197820,12 +190329,18 @@ func Xsqlite3changeset_concat(tls *libc.TLS, nLeft int32, pLeft uintptr, nRight
return rc
}
+type t__ccgo_fp__Xsqlite3changeset_concat_strm_0 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_concat_strm_2 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3changeset_concat_strm_4 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Streaming version of sqlite3changeset_concat().
// */
-func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr, xInputB uintptr, pInB uintptr, xOutput uintptr, pOut uintptr) (r int32) {
+func Xsqlite3changeset_concat_strm(tls *libc.TLS, __ccgo_fp_xInputA uintptr, pInA uintptr, __ccgo_fp_xInputB uintptr, pInB uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
@@ -197833,27 +190348,18 @@ func Xsqlite3changeset_concat_strm(tls *libc.TLS, xInputA uintptr, pInA uintptr,
_ = rc
rc = Xsqlite3changegroup_new(tls, bp)
if rc == SQLITE_OK {
- rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), xInputA, pInA)
+ rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xInputA, pInA)
}
if rc == SQLITE_OK {
- rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), xInputB, pInB)
+ rc = Xsqlite3changegroup_add_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xInputB, pInB)
}
if rc == SQLITE_OK {
- rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), xOutput, pOut)
+ rc = Xsqlite3changegroup_output_strm(tls, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xOutput, pOut)
}
Xsqlite3changegroup_delete(tls, *(*uintptr)(unsafe.Pointer(bp)))
return rc
}
-/*
-** Changeset rebaser handle.
- */
-type Tsqlite3_rebaser1 = struct {
- Fgrp Tsqlite3_changegroup
-}
-
-type sqlite3_rebaser1 = Tsqlite3_rebaser1
-
// C documentation
//
// /*
@@ -198008,7 +190514,7 @@ func _sessionAppendPartialUpdate(tls *libc.TLS, pBuf uintptr, pIter uintptr, aRe
// ** pnOut are not NULL, then the two output parameters are set to 0 before
// ** returning.
// */
-func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
+func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr, pnOut uintptr, ppOut uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var bDone, iHash, v2 int32
@@ -198116,8 +190622,8 @@ func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pO
_sessionAppendByte(tls, bp+16, libc.Uint8FromInt32((*Tsqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbIndirect), bp)
_sessionAppendBlob(tls, bp+16, *(*uintptr)(unsafe.Pointer(bp + 4)), *(*int32)(unsafe.Pointer(bp + 8)), bp)
}
- if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FnBuf > _sessions_strm_chunk_size {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FnBuf)
+ if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && __ccgo_fp_xOutput != 0 && (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FnBuf > _sessions_strm_chunk_size {
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FnBuf)
(*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FnBuf = 0
}
if *(*int32)(unsafe.Pointer(bp)) != 0 {
@@ -198129,9 +190635,9 @@ func _sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pO
libc.Xmemset(tls, bp+16, 0, uint32(12))
}
if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
- if xOutput != 0 {
+ if __ccgo_fp_xOutput != 0 {
if (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FnBuf > 0 {
- *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FnBuf)
+ *(*int32)(unsafe.Pointer(bp)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xOutput})))(tls, pOut, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FaBuf, (*(*TSessionBuffer)(unsafe.Pointer(bp + 16))).FnBuf)
}
} else {
if ppOut != 0 {
@@ -198205,21 +190711,25 @@ func Xsqlite3rebaser_rebase(tls *libc.TLS, p uintptr, nIn int32, pIn uintptr, pn
return rc
}
+type t__ccgo_fp__Xsqlite3rebaser_rebase_strm_1 = func(*libc.TLS, uintptr, uintptr, uintptr) int32
+
+type t__ccgo_fp__Xsqlite3rebaser_rebase_strm_3 = func(*libc.TLS, uintptr, uintptr, int32) int32
+
// C documentation
//
// /*
// ** Rebase a changeset according to current rebaser configuration
// */
-func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, xInput uintptr, pIn uintptr, xOutput uintptr, pOut uintptr) (r int32) {
+func Xsqlite3rebaser_rebase_strm(tls *libc.TLS, p uintptr, __ccgo_fp_xInput uintptr, pIn uintptr, __ccgo_fp_xOutput uintptr, pOut uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
var _ /* pIter at bp+0 */ uintptr
_ = rc
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0) /* Iterator to skip through input */
- rc = Xsqlite3changeset_start_strm(tls, bp, xInput, pIn)
+ rc = Xsqlite3changeset_start_strm(tls, bp, __ccgo_fp_xInput, pIn)
if rc == SQLITE_OK {
- rc = _sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp)), xOutput, pOut, uintptr(0), uintptr(0))
+ rc = _sessionRebase(tls, p, *(*uintptr)(unsafe.Pointer(bp)), __ccgo_fp_xOutput, pOut, uintptr(0), uintptr(0))
Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp)))
}
return rc
@@ -198376,18 +190886,6 @@ type TFts5Colset = struct {
type Fts5Colset = TFts5Colset
-/* If a NEAR() clump or phrase may only match a specific set of columns,
-** then an object of the following type is used to record the set of columns.
-** Each entry in the aiCol[] array is a column that may be matched.
-**
-** This object is used by fts5_expr.c and fts5_index.c.
- */
-type TFts5Colset1 = struct {
- FnCol int32
-}
-
-type Fts5Colset1 = TFts5Colset1
-
/* Size (int bytes) of a complete Fts5Colset object with N columns. */
/**************************************************************************
@@ -198447,99 +190945,6 @@ type TFts5TokenizerConfig = struct {
type Fts5TokenizerConfig = TFts5TokenizerConfig
-type TFts5TokenizerConfig1 = struct {
- FpTok uintptr
- FpApi2 uintptr
- FpApi1 uintptr
- FazArg uintptr
- FnArg int32
- FePattern int32
- FpLocale uintptr
- FnLocale int32
-}
-
-type Fts5TokenizerConfig1 = TFts5TokenizerConfig1
-
-/*
-** An instance of the following structure encodes all information that can
-** be gleaned from the CREATE VIRTUAL TABLE statement.
-**
-** And all information loaded from the %_config table.
-**
-** nAutomerge:
-** The minimum number of segments that an auto-merge operation should
-** attempt to merge together. A value of 1 sets the object to use the
-** compile time default. Zero disables auto-merge altogether.
-**
-** bContentlessDelete:
-** True if the contentless_delete option was present in the CREATE
-** VIRTUAL TABLE statement.
-**
-** zContent:
-**
-** zContentRowid:
-** The value of the content_rowid= option, if one was specified. Or
-** the string "rowid" otherwise. This text is not quoted - if it is
-** used as part of an SQL statement it needs to be quoted appropriately.
-**
-** zContentExprlist:
-**
-** pzErrmsg:
-** This exists in order to allow the fts5_index.c module to return a
-** decent error message if it encounters a file-format version it does
-** not understand.
-**
-** bColumnsize:
-** True if the %_docsize table is created.
-**
-** bPrefixIndex:
-** This is only used for debugging. If set to false, any prefix indexes
-** are ignored. This value is configured using:
-**
-** INSERT INTO tbl(tbl, rank) VALUES('prefix-index', $bPrefixIndex);
-**
-** bLocale:
-** Set to true if locale=1 was specified when the table was created.
- */
-type TFts5Config1 = struct {
- Fdb uintptr
- FpGlobal uintptr
- FzDb uintptr
- FzName uintptr
- FnCol int32
- FazCol uintptr
- FabUnindexed uintptr
- FnPrefix int32
- FaPrefix uintptr
- FeContent int32
- FbContentlessDelete int32
- FbContentlessUnindexed int32
- FzContent uintptr
- FzContentRowid uintptr
- FbColumnsize int32
- FbTokendata int32
- FbLocale int32
- FeDetail int32
- FzContentExprlist uintptr
- Ft TFts5TokenizerConfig
- FbLock int32
- FiVersion int32
- FiCookie int32
- Fpgsz int32
- FnAutomerge int32
- FnCrisisMerge int32
- FnUsermerge int32
- FnHashSize int32
- FzRank uintptr
- FzRankArgs uintptr
- FbSecureDelete int32
- FnDeleteMerge int32
- FbPrefixInsttoken int32
- FpzErrmsg uintptr
-}
-
-type Fts5Config1 = TFts5Config1
-
/*
** End of interface to code in fts5_config.c.
**************************************************************************/
@@ -198561,14 +190966,6 @@ type TFts5Buffer = struct {
type Fts5Buffer = TFts5Buffer
-type TFts5Buffer1 = struct {
- Fp uintptr
- Fn int32
- FnSpace int32
-}
-
-type Fts5Buffer1 = TFts5Buffer1
-
type TFts5PoslistReader = struct {
Fa uintptr
Fn int32
@@ -198580,29 +190977,12 @@ type TFts5PoslistReader = struct {
type Fts5PoslistReader = TFts5PoslistReader
-type TFts5PoslistReader1 = struct {
- Fa uintptr
- Fn int32
- Fi int32
- FbFlag Tu8
- FbEof Tu8
- FiPos Ti64
-}
-
-type Fts5PoslistReader1 = TFts5PoslistReader1
-
type TFts5PoslistWriter = struct {
FiPrev Ti64
}
type Fts5PoslistWriter = TFts5PoslistWriter
-type TFts5PoslistWriter1 = struct {
- FiPrev Ti64
-}
-
-type Fts5PoslistWriter1 = TFts5PoslistWriter1
-
// C documentation
//
// /* Bucket of terms object used by the integrity-check in offsets=0 mode. */
@@ -198658,15 +191038,6 @@ type TFts5IndexIter = struct {
type Fts5IndexIter = TFts5IndexIter
-type TFts5IndexIter1 = struct {
- FiRowid Ti64
- FpData uintptr
- FnData int32
- FbEof Tu8
-}
-
-type Fts5IndexIter1 = TFts5IndexIter1
-
/*
** End of interface to code in fts5_varint.c.
**************************************************************************/
@@ -198688,14 +191059,6 @@ type TFts5Table = struct {
type Fts5Table = TFts5Table
-type TFts5Table1 = struct {
- Fbase Tsqlite3_vtab
- FpConfig uintptr
- FpIndex uintptr
-}
-
-type Fts5Table1 = TFts5Table1
-
/*
** End of interface to code in fts5.c.
**************************************************************************/
@@ -198805,13 +191168,6 @@ type TFts5ExprNearset = struct {
type Fts5ExprNearset = TFts5ExprNearset
-type TFts5Token1 = struct {
- Fp uintptr
- Fn int32
-}
-
-type Fts5Token1 = TFts5Token1
-
type TFts5PoslistPopulator = struct {
Fwriter TFts5PoslistWriter
FbOk int32
@@ -199378,14 +191734,6 @@ var _fts5yy_default = [35]uint8{
** actually contains the reduce action for the second half of the
** SHIFTREDUCE.
*/
-type Tfts5yyStackEntry1 = struct {
- Fstateno uint8
- Fmajor uint8
- Fminor Tfts5YYMINORTYPE
-}
-
-type fts5yyStackEntry1 = Tfts5yyStackEntry1
-
type Tfts5yyStackEntry = struct {
Fstateno uint8
Fmajor uint8
@@ -199396,16 +191744,6 @@ type fts5yyStackEntry = Tfts5yyStackEntry
/* The state of the parser is completely contained in an instance of
** the following structure */
-type Tfts5yyParser1 = struct {
- Ffts5yytos uintptr
- FpParse uintptr
- Ffts5yystackEnd uintptr
- Ffts5yystack uintptr
- Ffts5yystk0 [100]Tfts5yyStackEntry
-}
-
-type fts5yyParser1 = Tfts5yyParser1
-
type Tfts5yyParser = struct {
Ffts5yytos uintptr
FpParse uintptr
@@ -199457,10 +191795,10 @@ func _sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) {
// ** A pointer to a parser. This pointer is used in subsequent calls
// ** to sqlite3Fts5Parser and sqlite3Fts5ParserFree.
// */
-func _sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) (r uintptr) {
+func _sqlite3Fts5ParserAlloc(tls *libc.TLS, __ccgo_fp_mallocProc uintptr) (r uintptr) {
var fts5yypParser uintptr
_ = fts5yypParser
- fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{mallocProc})))(tls, libc.Uint64FromInt64(1216))
+ fts5yypParser = (*(*func(*libc.TLS, Tu64) uintptr)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_mallocProc})))(tls, libc.Uint64FromInt64(1216))
if fts5yypParser != 0 {
_sqlite3Fts5ParserInit(tls, fts5yypParser)
}
@@ -199566,12 +191904,12 @@ func _sqlite3Fts5ParserFinalize(tls *libc.TLS, p uintptr) {
// ** is defined in a %include section of the input grammar) then it is
// ** assumed that the input pointer is never NULL.
// */
-func _sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) {
+func _sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, __ccgo_fp_freeProc uintptr) {
if p == uintptr(0) {
return
}
_sqlite3Fts5ParserFinalize(tls, p)
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{freeProc})))(tls, p)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_freeProc})))(tls, p)
}
/*
@@ -200158,18 +192496,6 @@ type TCInstIter = struct {
type CInstIter = TCInstIter
-type TCInstIter1 = struct {
- FpApi uintptr
- FpFts uintptr
- FiCol int32
- FiInst int32
- FnInst int32
- FiStart int32
- FiEnd int32
-}
-
-type CInstIter1 = TCInstIter1
-
// C documentation
//
// /*
@@ -200252,22 +192578,6 @@ type THighlightContext = struct {
type HighlightContext = THighlightContext
-type THighlightContext1 = struct {
- FiRangeStart int32
- FiRangeEnd int32
- FzOpen uintptr
- FzClose uintptr
- FzIn uintptr
- FnIn int32
- Fiter TCInstIter
- FiPos int32
- FiOff int32
- FbOpen int32
- FzOut uintptr
-}
-
-type HighlightContext1 = THighlightContext1
-
// C documentation
//
// /*
@@ -200445,16 +192755,6 @@ type TFts5SFinder = struct {
type Fts5SFinder = TFts5SFinder
-type TFts5SFinder1 = struct {
- FiPos int32
- FnFirstAlloc int32
- FnFirst int32
- FaFirst uintptr
- FzDoc uintptr
-}
-
-type Fts5SFinder1 = TFts5SFinder1
-
// C documentation
//
// /*
@@ -200822,15 +193122,6 @@ type TFts5Bm25Data = struct {
type Fts5Bm25Data = TFts5Bm25Data
-type TFts5Bm25Data1 = struct {
- FnPhrase int32
- Favgdl float64
- FaIDF uintptr
- FaFreq uintptr
-}
-
-type Fts5Bm25Data1 = TFts5Bm25Data1
-
// C documentation
//
// /*
@@ -201561,21 +193852,6 @@ type TFts5TermsetEntry = struct {
type Fts5TermsetEntry = TFts5TermsetEntry
-type TFts5TermsetEntry1 = struct {
- FpTerm uintptr
- FnTerm int32
- FiIdx int32
- FpNext uintptr
-}
-
-type Fts5TermsetEntry1 = TFts5TermsetEntry1
-
-type TFts5Termset1 = struct {
- FapHash [512]uintptr
-}
-
-type Fts5Termset1 = TFts5Termset1
-
func _sqlite3Fts5TermsetNew(tls *libc.TLS, pp uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
@@ -201884,13 +194160,6 @@ func _sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) {
}
}
-type TFts5Enum1 = struct {
- FzName uintptr
- FeVal int32
-}
-
-type Fts5Enum1 = TFts5Enum1
-
type TFts5Enum = struct {
FzName uintptr
FeVal int32
@@ -202546,7 +194815,7 @@ func _sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) (r int32) {
// ** because the callback returned another non-zero value, it is assumed
// ** to be an SQLite error code and returned to the caller.
// */
-func _sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, xToken uintptr) (r int32) {
+func _sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uintptr, nText int32, pCtx uintptr, __ccgo_fp_xToken uintptr) (r int32) {
var rc int32
_ = rc
rc = SQLITE_OK
@@ -202556,9 +194825,9 @@ func _sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uin
}
if rc == SQLITE_OK {
if (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi1 != 0 {
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi1)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, xToken)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi1)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, __ccgo_fp_xToken)
} else {
- rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer_v2)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi2)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpLocale, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FnLocale, xToken)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tfts5_tokenizer_v2)(unsafe.Pointer((*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpApi2)).FxTokenize})))(tls, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpTok, pCtx, flags, pText, nText, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FpLocale, (*TFts5Config)(unsafe.Pointer(pConfig)).Ft.FnLocale, __ccgo_fp_xToken)
}
}
}
@@ -202920,115 +195189,6 @@ type TFts5ExprTerm = struct {
type Fts5ExprTerm = TFts5ExprTerm
-type TFts5Expr1 = struct {
- FpIndex uintptr
- FpConfig uintptr
- FpRoot uintptr
- FbDesc int32
- FnPhrase int32
- FapExprPhrase uintptr
-}
-
-type Fts5Expr1 = TFts5Expr1
-
-/*
-** eType:
-** Expression node type. Usually one of:
-**
-** FTS5_AND (nChild, apChild valid)
-** FTS5_OR (nChild, apChild valid)
-** FTS5_NOT (nChild, apChild valid)
-** FTS5_STRING (pNear valid)
-** FTS5_TERM (pNear valid)
-**
-** An expression node with eType==0 may also exist. It always matches zero
-** rows. This is created when a phrase containing no tokens is parsed.
-** e.g. "".
-**
-** iHeight:
-** Distance from this node to furthest leaf. This is always 0 for nodes
-** of type FTS5_STRING and FTS5_TERM. For all other nodes it is one
-** greater than the largest child value.
- */
-type TFts5ExprNode1 = struct {
- FeType int32
- FbEof int32
- FbNomatch int32
- FiHeight int32
- FxNext uintptr
- FiRowid Ti64
- FpNear uintptr
- FnChild int32
-}
-
-type Fts5ExprNode1 = TFts5ExprNode1
-
-/* Size (in bytes) of an Fts5ExprNode object that holds up to N children */
-
-/*
-** Invoke the xNext method of an Fts5ExprNode object. This macro should be
-** used as if it has the same signature as the xNext() methods themselves.
- */
-
-/*
-** An instance of the following structure represents a single search term
-** or term prefix.
- */
-type TFts5ExprTerm1 = struct {
- FbPrefix Tu8
- FbFirst Tu8
- FpTerm uintptr
- FnQueryTerm int32
- FnFullTerm int32
- FpIter uintptr
- FpSynonym uintptr
-}
-
-type Fts5ExprTerm1 = TFts5ExprTerm1
-
-/*
-** A phrase. One or more terms that must appear in a contiguous sequence
-** within a document for it to match.
- */
-type TFts5ExprPhrase1 = struct {
- FpNode uintptr
- Fposlist TFts5Buffer
- FnTerm int32
-}
-
-type Fts5ExprPhrase1 = TFts5ExprPhrase1
-
-/* Size (in bytes) of an Fts5ExprPhrase object that holds up to N terms */
-
-/*
-** One or more phrases that must appear within a certain token distance of
-** each other within each matching document.
- */
-type TFts5ExprNearset1 = struct {
- FnNear int32
- FpColset uintptr
- FnPhrase int32
-}
-
-type Fts5ExprNearset1 = TFts5ExprNearset1
-
-/* Size (in bytes) of an Fts5ExprNearset object covering up to N phrases */
-
-/*
-** Parse context.
- */
-type TFts5Parse1 = struct {
- FpConfig uintptr
- FzErr uintptr
- Frc int32
- FnPhrase int32
- FapPhrase uintptr
- FpExpr uintptr
- FbPhraseToAnd int32
-}
-
-type Fts5Parse1 = TFts5Parse1
-
/*
** Check that the Fts5ExprNode.iHeight variables are set correctly in
** the expression tree passed as the only argument.
@@ -203713,16 +195873,6 @@ type TFts5LookaheadReader = struct {
type Fts5LookaheadReader = TFts5LookaheadReader
-type TFts5LookaheadReader1 = struct {
- Fa uintptr
- Fn int32
- Fi int32
- FiPos Ti64
- FiLookahead Ti64
-}
-
-type Fts5LookaheadReader1 = TFts5LookaheadReader1
-
func _fts5LookaheadReaderNext(tls *libc.TLS, p uintptr) (r int32) {
(*TFts5LookaheadReader)(unsafe.Pointer(p)).FiPos = (*TFts5LookaheadReader)(unsafe.Pointer(p)).FiLookahead
if _sqlite3Fts5PoslistNext64(tls, (*TFts5LookaheadReader)(unsafe.Pointer(p)).Fa, (*TFts5LookaheadReader)(unsafe.Pointer(p)).Fn, p+8, p+20) != 0 {
@@ -203747,14 +195897,6 @@ type TFts5NearTrimmer = struct {
type Fts5NearTrimmer = TFts5NearTrimmer
-type TFts5NearTrimmer1 = struct {
- Freader TFts5LookaheadReader
- Fwriter TFts5PoslistWriter
- FpOut uintptr
-}
-
-type Fts5NearTrimmer1 = TFts5NearTrimmer1
-
// C documentation
//
// /*
@@ -204875,14 +197017,6 @@ type TTokenCtx = struct {
type TokenCtx = TTokenCtx
-type TTokenCtx1 = struct {
- FpPhrase uintptr
- FpConfig uintptr
- Frc int32
-}
-
-type TokenCtx1 = TTokenCtx1
-
// C documentation
//
// /*
@@ -205823,14 +197957,6 @@ func _sqlite3Fts5ExprPoslist(tls *libc.TLS, pExpr uintptr, iPhrase int32, pa uin
return nRet
}
-type TFts5PoslistPopulator1 = struct {
- Fwriter TFts5PoslistWriter
- FbOk int32
- FbMiss int32
-}
-
-type Fts5PoslistPopulator1 = TFts5PoslistPopulator1
-
// C documentation
//
// /*
@@ -205870,14 +197996,6 @@ func _sqlite3Fts5ExprClearPoslists(tls *libc.TLS, pExpr uintptr, bLive int32) (r
return pRet
}
-type TFts5ExprCtx1 = struct {
- FpExpr uintptr
- FaPopulator uintptr
- FiOff Ti64
-}
-
-type Fts5ExprCtx1 = TFts5ExprCtx1
-
type TFts5ExprCtx = struct {
FpExpr uintptr
FaPopulator uintptr
@@ -206241,66 +198359,6 @@ type TFts5HashEntry = struct {
type Fts5HashEntry = TFts5HashEntry
-/*
-** This file contains the implementation of an in-memory hash table used
-** to accumulate "term -> doclist" content before it is flushed to a level-0
-** segment.
- */
-
-type TFts5Hash1 = struct {
- FeDetail int32
- FpnByte uintptr
- FnEntry int32
- FnSlot int32
- FpScan uintptr
- FaSlot uintptr
-}
-
-type Fts5Hash1 = TFts5Hash1
-
-/*
-** Each entry in the hash table is represented by an object of the
-** following type. Each object, its key, and its current data are stored
-** in a single memory allocation. The key immediately follows the object
-** in memory. The position list data immediately follows the key data
-** in memory.
-**
-** The key is Fts5HashEntry.nKey bytes in size. It consists of a single
-** byte identifying the index (either the main term index or a prefix-index),
-** followed by the term data. For example: "0token". There is no
-** nul-terminator - in this case nKey=6.
-**
-** The data that follows the key is in a similar, but not identical format
-** to the doclist data stored in the database. It is:
-**
-** * Rowid, as a varint
-** * Position list, without 0x00 terminator.
-** * Size of previous position list and rowid, as a 4 byte
-** big-endian integer.
-**
-** iRowidOff:
-** Offset of last rowid written to data area. Relative to first byte of
-** structure.
-**
-** nData:
-** Bytes of data written since iRowidOff.
- */
-type TFts5HashEntry1 = struct {
- FpHashNext uintptr
- FpScanNext uintptr
- FnAlloc int32
- FiSzPoslist int32
- FnData int32
- FnKey int32
- FbDel Tu8
- FbContent Tu8
- FiCol Ti16
- FiPos int32
- FiRowid Ti64
-}
-
-type Fts5HashEntry1 = TFts5HashEntry1
-
/*
** Equivalent to:
**
@@ -207348,143 +199406,6 @@ type TFts5TombstoneArray = struct {
type Fts5TombstoneArray = TFts5TombstoneArray
-type TFts5Data1 = struct {
- Fp uintptr
- Fnn int32
- FszLeaf int32
-}
-
-type Fts5Data1 = TFts5Data1
-
-/*
-** One object per %_data table.
-**
-** nContentlessDelete:
-** The number of contentless delete operations since the most recent
-** call to fts5IndexFlush() or fts5IndexDiscardData(). This is tracked
-** so that extra auto-merge work can be done by fts5IndexFlush() to
-** account for the delete operations.
- */
-type TFts5Index1 = struct {
- FpConfig uintptr
- FzDataTbl uintptr
- FnWorkUnit int32
- FpHash uintptr
- FnPendingData int32
- FiWriteRowid Ti64
- FbDelete int32
- FnContentlessDelete int32
- FnPendingRow int32
- Frc int32
- FflushRc int32
- FpReader uintptr
- FpWriter uintptr
- FpDeleter uintptr
- FpIdxWriter uintptr
- FpIdxDeleter uintptr
- FpIdxSelect uintptr
- FpIdxNextSelect uintptr
- FnRead int32
- FpDeleteFromIdx uintptr
- FpDataVersion uintptr
- FiStructVersion Ti64
- FpStruct uintptr
-}
-
-type Fts5Index1 = TFts5Index1
-
-type TFts5DoclistIter1 = struct {
- FaEof uintptr
- FiRowid Ti64
- FaPoslist uintptr
- FnPoslist int32
- FnSize int32
-}
-
-type Fts5DoclistIter1 = TFts5DoclistIter1
-
-/*
-** The contents of the "structure" record for each index are represented
-** using an Fts5Structure record in memory. Which uses instances of the
-** other Fts5StructureXXX types as components.
-**
-** nOriginCntr:
-** This value is set to non-zero for structure records created for
-** contentlessdelete=1 tables only. In that case it represents the
-** origin value to apply to the next top-level segment created.
- */
-type TFts5StructureSegment1 = struct {
- FiSegid int32
- FpgnoFirst int32
- FpgnoLast int32
- FiOrigin1 Tu64
- FiOrigin2 Tu64
- FnPgTombstone int32
- FnEntryTombstone Tu64
- FnEntry Tu64
-}
-
-type Fts5StructureSegment1 = TFts5StructureSegment1
-
-type TFts5StructureLevel1 = struct {
- FnMerge int32
- FnSeg int32
- FaSeg uintptr
-}
-
-type Fts5StructureLevel1 = TFts5StructureLevel1
-
-type TFts5Structure1 = struct {
- FnRef int32
- FnWriteCounter Tu64
- FnOriginCntr Tu64
- FnSegment int32
- FnLevel int32
-}
-
-type Fts5Structure1 = TFts5Structure1
-
-/* Size (in bytes) of an Fts5Structure object holding up to N levels */
-
-/*
-** An object of type Fts5SegWriter is used to write to segments.
- */
-type TFts5PageWriter1 = struct {
- Fpgno int32
- FiPrevPgidx int32
- Fbuf TFts5Buffer
- Fpgidx TFts5Buffer
- Fterm TFts5Buffer
-}
-
-type Fts5PageWriter1 = TFts5PageWriter1
-
-type TFts5DlidxWriter1 = struct {
- Fpgno int32
- FbPrevValid int32
- FiPrev Ti64
- Fbuf TFts5Buffer
-}
-
-type Fts5DlidxWriter1 = TFts5DlidxWriter1
-
-type TFts5SegWriter1 = struct {
- FiSegid int32
- Fwriter TFts5PageWriter
- FiPrevRowid Ti64
- FbFirstRowidInDoclist Tu8
- FbFirstRowidInPage Tu8
- FbFirstTermInPage Tu8
- FnLeafWritten int32
- FnEmpty int32
- FnDlidx int32
- FaDlidx uintptr
- Fbtterm TFts5Buffer
- FiBtPage int32
-}
-
-type Fts5SegWriter1 = TFts5SegWriter1
-
type TFts5CResult = struct {
FiFirst Tu16
FbTermEq Tu8
@@ -207492,189 +199413,6 @@ type TFts5CResult = struct {
type Fts5CResult = TFts5CResult
-type TFts5CResult1 = struct {
- FiFirst Tu16
- FbTermEq Tu8
-}
-
-type Fts5CResult1 = TFts5CResult1
-
-/*
-** Object for iterating through a single segment, visiting each term/rowid
-** pair in the segment.
-**
-** pSeg:
-** The segment to iterate through.
-**
-** iLeafPgno:
-** Current leaf page number within segment.
-**
-** iLeafOffset:
-** Byte offset within the current leaf that is the first byte of the
-** position list data (one byte passed the position-list size field).
-**
-** pLeaf:
-** Buffer containing current leaf page data. Set to NULL at EOF.
-**
-** iTermLeafPgno, iTermLeafOffset:
-** Leaf page number containing the last term read from the segment. And
-** the offset immediately following the term data.
-**
-** flags:
-** Mask of FTS5_SEGITER_XXX values. Interpreted as follows:
-**
-** FTS5_SEGITER_ONETERM:
-** If set, set the iterator to point to EOF after the current doclist
-** has been exhausted. Do not proceed to the next term in the segment.
-**
-** FTS5_SEGITER_REVERSE:
-** This flag is only ever set if FTS5_SEGITER_ONETERM is also set. If
-** it is set, iterate through rowid in descending order instead of the
-** default ascending order.
-**
-** iRowidOffset/nRowidOffset/aRowidOffset:
-** These are used if the FTS5_SEGITER_REVERSE flag is set.
-**
-** For each rowid on the page corresponding to the current term, the
-** corresponding aRowidOffset[] entry is set to the byte offset of the
-** start of the "position-list-size" field within the page.
-**
-** iTermIdx:
-** Index of current term on iTermLeafPgno.
-**
-** apTombstone/nTombstone:
-** These are used for contentless_delete=1 tables only. When the cursor
-** is first allocated, the apTombstone[] array is allocated so that it
-** is large enough for all tombstones hash pages associated with the
-** segment. The pages themselves are loaded lazily from the database as
-** they are required.
- */
-type TFts5SegIter1 = struct {
- FpSeg uintptr
- Fflags int32
- FiLeafPgno int32
- FpLeaf uintptr
- FpNextLeaf uintptr
- FiLeafOffset Ti64
- FpTombArray uintptr
- FxNext uintptr
- FiTermLeafPgno int32
- FiTermLeafOffset int32
- FiPgidxOff int32
- FiEndofDoclist int32
- FiRowidOffset int32
- FnRowidOffset int32
- FaRowidOffset uintptr
- FpDlidx uintptr
- Fterm TFts5Buffer
- FiRowid Ti64
- FnPos int32
- FbDel Tu8
-}
-
-type Fts5SegIter1 = TFts5SegIter1
-
-/*
-** Array of tombstone pages. Reference counted.
- */
-type TFts5TombstoneArray1 = struct {
- FnRef int32
- FnTombstone int32
-}
-
-type Fts5TombstoneArray1 = TFts5TombstoneArray1
-
-/* Size (in bytes) of an Fts5TombstoneArray holding up to N tombstones */
-
-/*
-** Argument is a pointer to an Fts5Data structure that contains a
-** leaf page.
- */
-
-/*
-** Argument is a pointer to an Fts5Data structure that contains a leaf
-** page. This macro evaluates to true if the leaf contains no terms, or
-** false if it contains at least one term.
- */
-
-/*
-** Object for iterating through the merged results of one or more segments,
-** visiting each term/rowid pair in the merged data.
-**
-** nSeg is always a power of two greater than or equal to the number of
-** segments that this object is merging data from. Both the aSeg[] and
-** aFirst[] arrays are sized at nSeg entries. The aSeg[] array is padded
-** with zeroed objects - these are handled as if they were iterators opened
-** on empty segments.
-**
-** The results of comparing segments aSeg[N] and aSeg[N+1], where N is an
-** even number, is stored in aFirst[(nSeg+N)/2]. The "result" of the
-** comparison in this context is the index of the iterator that currently
-** points to the smaller term/rowid combination. Iterators at EOF are
-** considered to be greater than all other iterators.
-**
-** aFirst[1] contains the index in aSeg[] of the iterator that points to
-** the smallest key overall. aFirst[0] is unused.
-**
-** poslist:
-** Used by sqlite3Fts5IterPoslist() when the poslist needs to be buffered.
-** There is no way to tell if this is populated or not.
-**
-** pColset:
-** If not NULL, points to an object containing a set of column indices.
-** Only matches that occur in one of these columns will be returned.
-** The Fts5Iter does not own the Fts5Colset object, and so it is not
-** freed when the iterator is closed - it is owned by the upper layer.
- */
-type TFts5Iter1 = struct {
- Fbase TFts5IndexIter
- FpTokenDataIter uintptr
- FpIndex uintptr
- Fposlist TFts5Buffer
- FpColset uintptr
- FxSetOutputs uintptr
- FnSeg int32
- FbRev int32
- FbSkipEmpty Tu8
- FiSwitchRowid Ti64
- FaFirst uintptr
-}
-
-type Fts5Iter1 = TFts5Iter1
-
-/* Size (in bytes) of an Fts5Iter object holding up to N segment iterators */
-
-/*
-** An instance of the following type is used to iterate through the contents
-** of a doclist-index record.
-**
-** pData:
-** Record containing the doclist-index data.
-**
-** bEof:
-** Set to true once iterator has reached EOF.
-**
-** iOff:
-** Set to the current offset within record pData.
- */
-type TFts5DlidxLvl1 = struct {
- FpData uintptr
- FiOff int32
- FbEof int32
- FiFirstOff int32
- FiLeafPgno int32
- FiRowid Ti64
-}
-
-type Fts5DlidxLvl1 = TFts5DlidxLvl1
-
-type TFts5DlidxIter1 = struct {
- FnLvl int32
- FiSegid int32
-}
-
-type Fts5DlidxIter1 = TFts5DlidxIter1
-
/* Size (in bytes) of an Fts5DlidxIter object with up to N levels */
func _fts5PutU16(tls *libc.TLS, aOut uintptr, iVal Tu16) {
@@ -210606,14 +202344,6 @@ type TPoslistCallbackCtx = struct {
type PoslistCallbackCtx = TPoslistCallbackCtx
-type TPoslistCallbackCtx1 = struct {
- FpBuf uintptr
- FpColset uintptr
- FeState int32
-}
-
-type PoslistCallbackCtx1 = TPoslistCallbackCtx1
-
type TPoslistOffsetsCtx = struct {
FpBuf uintptr
FpColset uintptr
@@ -210623,15 +202353,6 @@ type TPoslistOffsetsCtx = struct {
type PoslistOffsetsCtx = TPoslistOffsetsCtx
-type TPoslistOffsetsCtx1 = struct {
- FpBuf uintptr
- FpColset uintptr
- FiRead int32
- FiWrite int32
-}
-
-type PoslistOffsetsCtx1 = TPoslistOffsetsCtx1
-
// C documentation
//
// /*
@@ -210745,7 +202466,7 @@ func _fts5PoslistFilterCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr
}
}
-func _fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChunk uintptr) {
+func _fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, __ccgo_fp_xChunk uintptr) {
var nChunk, nRem, pgno, pgnoSave, v2 int32
var pChunk, pData uintptr
var v1 int64
@@ -210766,7 +202487,7 @@ func _fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xCh
pgnoSave = pgno + int32(1)
}
for int32(1) != 0 {
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{xChunk})))(tls, p, pCtx, pChunk, nChunk)
+ (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xChunk})))(tls, p, pCtx, pChunk, nChunk)
nRem -= nChunk
_fts5DataRelease(tls, pData)
if nRem <= 0 {
@@ -212358,13 +204079,6 @@ type TFts5FlushCtx = struct {
type Fts5FlushCtx = TFts5FlushCtx
-type TFts5FlushCtx1 = struct {
- FpIdx uintptr
- Fwriter TFts5SegWriter
-}
-
-type Fts5FlushCtx1 = TFts5FlushCtx1
-
// C documentation
//
// /*
@@ -213485,16 +205199,6 @@ type TPrefixMerger = struct {
type PrefixMerger = TPrefixMerger
-type TPrefixMerger1 = struct {
- Fiter TFts5DoclistIter
- FiPos Ti64
- FiOff int32
- FaPos uintptr
- FpNext uintptr
-}
-
-type PrefixMerger1 = TPrefixMerger1
-
func _fts5PrefixMergerInsertByRowid(tls *libc.TLS, ppHead uintptr, p uintptr) {
var pp uintptr
_ = pp
@@ -213712,7 +205416,7 @@ func _fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBu
// ** If parameter pColset is not NULL, then it is used to filter entries before
// ** the callback is invoked.
// */
-func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr, nToken int32, bPrefix int32, xVisit uintptr, pCtx uintptr) (r int32) {
+func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr, nToken int32, bPrefix int32, __ccgo_fp_xVisit uintptr, pCtx uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var flags, nNew, v1 int32
@@ -213749,7 +205453,7 @@ func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr
break
}
}
- (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{xVisit})))(tls, p, pCtx, *(*uintptr)(unsafe.Pointer(bp)), pNew, nNew)
+ (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xVisit})))(tls, p, pCtx, *(*uintptr)(unsafe.Pointer(bp)), pNew, nNew)
goto _2
_2:
;
@@ -213760,70 +205464,6 @@ func _fts5VisitEntries(tls *libc.TLS, p uintptr, pColset uintptr, pToken uintptr
return (*TFts5Index)(unsafe.Pointer(p)).Frc
}
-/*
-** Usually, a tokendata=1 iterator (struct Fts5TokenDataIter) accumulates an
-** array of these for each row it visits (so all iRowid fields are the same).
-** Or, for an iterator used by an "ORDER BY rank" query, it accumulates an
-** array of these for the entire query (in which case iRowid fields may take
-** a variety of values).
-**
-** Each instance in the array indicates the iterator (and therefore term)
-** associated with position iPos of rowid iRowid. This is used by the
-** xInstToken() API.
-**
-** iRowid:
-** Rowid for the current entry.
-**
-** iPos:
-** Position of current entry within row. In the usual ((iCol<<32)+iOff)
-** format (e.g. see macros FTS5_POS2COLUMN() and FTS5_POS2OFFSET()).
-**
-** iIter:
-** If the Fts5TokenDataIter iterator that the entry is part of is
-** actually an iterator (i.e. with nIter>0, not just a container for
-** Fts5TokenDataMap structures), then this variable is an index into
-** the apIter[] array. The corresponding term is that which the iterator
-** at apIter[iIter] currently points to.
-**
-** Or, if the Fts5TokenDataIter iterator is just a container object
-** (nIter==0), then iIter is an index into the term.p[] buffer where
-** the term is stored.
-**
-** nByte:
-** In the case where iIter is an index into term.p[], this variable
-** is the size of the term in bytes. If iIter is an index into apIter[],
-** this variable is unused.
- */
-type TFts5TokenDataMap1 = struct {
- FiRowid Ti64
- FiPos Ti64
- FiIter int32
- FnByte int32
-}
-
-type Fts5TokenDataMap1 = TFts5TokenDataMap1
-
-/*
-** An object used to supplement Fts5Iter for tokendata=1 iterators.
-**
-** This object serves two purposes. The first is as a container for an array
-** of Fts5TokenDataMap structures, which are used to find the token required
-** when the xInstToken() API is used. This is done by the nMapAlloc, nMap and
-** aMap[] variables.
- */
-type TFts5TokenDataIter1 = struct {
- FnMapAlloc int32
- FnMap int32
- FaMap uintptr
- Fterms TFts5Buffer
- FnIter int32
- FnIterAlloc int32
- FaPoslistReader uintptr
- FaPoslistToIter uintptr
-}
-
-type Fts5TokenDataIter1 = TFts5TokenDataIter1
-
/* Size in bytes of an Fts5TokenDataIter object holding up to N iterators */
// C documentation
@@ -213992,14 +205632,6 @@ type TTokendataSetupCtx = struct {
type TokendataSetupCtx = TTokendataSetupCtx
-type TTokendataSetupCtx1 = struct {
- FpT uintptr
- FiTermOff int32
- FnTermByte int32
-}
-
-type TokendataSetupCtx1 = TTokendataSetupCtx1
-
// C documentation
//
// /*
@@ -214046,19 +205678,6 @@ type TPrefixSetupCtx = struct {
type PrefixSetupCtx = TPrefixSetupCtx
-type TPrefixSetupCtx1 = struct {
- FxMerge uintptr
- FxAppend uintptr
- FiLastRowid Ti64
- FnMerge int32
- FaBuf uintptr
- FnBuf int32
- Fdoclist TFts5Buffer
- FpTokendata uintptr
-}
-
-type PrefixSetupCtx1 = TPrefixSetupCtx1
-
// C documentation
//
// /*
@@ -216374,87 +207993,6 @@ type TFts5TransactionState = struct {
type Fts5TransactionState = TFts5TransactionState
-/*
-** A single object of this type is allocated when the FTS5 module is
-** registered with a database handle. It is used to store pointers to
-** all registered FTS5 extensions - tokenizers and auxiliary functions.
- */
-type TFts5Global1 = struct {
- Fapi Tfts5_api
- Fdb uintptr
- FiNextId Ti64
- FpAux uintptr
- FpTok uintptr
- FpDfltTok uintptr
- FpCsr uintptr
- FaLocaleHdr [4]Tu32
-}
-
-type Fts5Global1 = TFts5Global1
-
-/*
-** Size of header on fts5_locale() values. And macro to access a buffer
-** containing a copy of the header from an Fts5Config pointer.
- */
-
-/*
-** Each auxiliary function registered with the FTS5 module is represented
-** by an object of the following type. All such objects are stored as part
-** of the Fts5Global.pAux list.
- */
-type TFts5Auxiliary1 = struct {
- FpGlobal uintptr
- FzFunc uintptr
- FpUserData uintptr
- FxFunc Tfts5_extension_function
- FxDestroy uintptr
- FpNext uintptr
-}
-
-type Fts5Auxiliary1 = TFts5Auxiliary1
-
-/*
-** Each tokenizer module registered with the FTS5 module is represented
-** by an object of the following type. All such objects are stored as part
-** of the Fts5Global.pTok list.
-**
-** bV2Native:
-** True if the tokenizer was registered using xCreateTokenizer_v2(), false
-** for xCreateTokenizer(). If this variable is true, then x2 is populated
-** with the routines as supplied by the caller and x1 contains synthesized
-** wrapper routines. In this case the user-data pointer passed to
-** x1.xCreate should be a pointer to the Fts5TokenizerModule structure,
-** not a copy of pUserData.
-**
-** Of course, if bV2Native is false, then x1 contains the real routines and
-** x2 the synthesized ones. In this case a pointer to the Fts5TokenizerModule
-** object should be passed to x2.xCreate.
-**
-** The synthesized wrapper routines are necessary for xFindTokenizer(_v2)
-** calls.
- */
-type TFts5TokenizerModule1 = struct {
- FzName uintptr
- FpUserData uintptr
- FbV2Native int32
- Fx1 Tfts5_tokenizer
- Fx2 Tfts5_tokenizer_v2
- FxDestroy uintptr
- FpNext uintptr
-}
-
-type Fts5TokenizerModule1 = TFts5TokenizerModule1
-
-type TFts5FullTable1 = struct {
- Fp TFts5Table
- FpStorage uintptr
- FpGlobal uintptr
- FpSortCsr uintptr
- FiSavepoint int32
-}
-
-type Fts5FullTable1 = TFts5FullTable1
-
type TFts5MatchPhrase = struct {
FpPoslist uintptr
FnTerm int32
@@ -216462,97 +208000,6 @@ type TFts5MatchPhrase = struct {
type Fts5MatchPhrase = TFts5MatchPhrase
-/*
-** pStmt:
-** SELECT rowid, FROM ORDER BY +rank;
-**
-** aIdx[]:
-** There is one entry in the aIdx[] array for each phrase in the query,
-** the value of which is the offset within aPoslist[] following the last
-** byte of the position list for the corresponding phrase.
- */
-type TFts5Sorter1 = struct {
- FpStmt uintptr
- FiRowid Ti64
- FaPoslist uintptr
- FnIdx int32
-}
-
-type Fts5Sorter1 = TFts5Sorter1
-
-/* Size (int bytes) of an Fts5Sorter object with N indexes */
-
-/*
-** Virtual-table cursor object.
-**
-** iSpecial:
-** If this is a 'special' query (refer to function fts5SpecialMatch()),
-** then this variable contains the result of the query.
-**
-** iFirstRowid, iLastRowid:
-** These variables are only used for FTS5_PLAN_MATCH cursors. Assuming the
-** cursor iterates in ascending order of rowids, iFirstRowid is the lower
-** limit of rowids to return, and iLastRowid the upper. In other words, the
-** WHERE clause in the user's query might have been:
-**
-** MATCH AND rowid BETWEEN $iFirstRowid AND $iLastRowid
-**
-** If the cursor iterates in descending order of rowid, iFirstRowid
-** is the upper limit (i.e. the "first" rowid visited) and iLastRowid
-** the lower.
- */
-type TFts5Cursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FpNext uintptr
- FaColumnSize uintptr
- FiCsrId Ti64
- FePlan int32
- FbDesc int32
- FiFirstRowid Ti64
- FiLastRowid Ti64
- FpStmt uintptr
- FpExpr uintptr
- FpSorter uintptr
- Fcsrflags int32
- FiSpecial Ti64
- FzRank uintptr
- FzRankArgs uintptr
- FpRank uintptr
- FnRankArg int32
- FapRankArg uintptr
- FpRankArgStmt uintptr
- FpAux uintptr
- FpAuxdata uintptr
- FaInstIter uintptr
- FnInstAlloc int32
- FnInstCount int32
- FaInst uintptr
-}
-
-type Fts5Cursor1 = TFts5Cursor1
-
-/*
-** Bits that make up the "idxNum" parameter passed indirectly by
-** xBestIndex() to xFilter().
- */
-
-/*
-** Values for Fts5Cursor.csrflags
- */
-
-/*
-** Macros to Set(), Clear() and Test() cursor flags.
- */
-
-type TFts5Auxdata1 = struct {
- FpAux uintptr
- FpPtr uintptr
- FxDelete uintptr
- FpNext uintptr
-}
-
-type Fts5Auxdata1 = TFts5Auxdata1
-
// C documentation
//
// /*
@@ -218520,7 +209967,7 @@ func _fts5ApiRowCount(tls *libc.TLS, pCtx uintptr, pnRow uintptr) (r int32) {
// /*
// ** Implementation of xTokenize_v2() API.
// */
-func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pLoc uintptr, nLoc int32, pUserData uintptr, xToken uintptr) (r int32) {
+func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pLoc uintptr, nLoc int32, pUserData uintptr, __ccgo_fp_xToken uintptr) (r int32) {
var pCsr, pTab uintptr
var rc int32
_, _, _ = pCsr, pTab, rc
@@ -218528,7 +209975,7 @@ func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32
pTab = (*TFts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab
rc = SQLITE_OK
_sqlite3Fts5SetLocale(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, pLoc, nLoc)
- rc = _sqlite3Fts5Tokenize(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, int32(FTS5_TOKENIZE_AUX), pText, nText, pUserData, xToken)
+ rc = _sqlite3Fts5Tokenize(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, int32(FTS5_TOKENIZE_AUX), pText, nText, pUserData, __ccgo_fp_xToken)
_sqlite3Fts5SetLocale(tls, (*TFts5Table)(unsafe.Pointer(pTab)).FpConfig, uintptr(0), 0)
return rc
}
@@ -218539,8 +209986,8 @@ func _fts5ApiTokenize_v2(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32
// ** Implementation of xTokenize() API. This is just xTokenize_v2() with NULL/0
// ** passed as the locale.
// */
-func _fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, xToken uintptr) (r int32) {
- return _fts5ApiTokenize_v2(tls, pCtx, pText, nText, uintptr(0), 0, pUserData, xToken)
+func _fts5ApiTokenize(tls *libc.TLS, pCtx uintptr, pText uintptr, nText int32, pUserData uintptr, __ccgo_fp_xToken uintptr) (r int32) {
+ return _fts5ApiTokenize_v2(tls, pCtx, pText, nText, uintptr(0), 0, pUserData, __ccgo_fp_xToken)
}
func _fts5ApiPhraseCount(tls *libc.TLS, pCtx uintptr) (r int32) {
@@ -218948,7 +210395,7 @@ func _fts5ApiColumnSize(tls *libc.TLS, pCtx uintptr, iCol int32, pnToken uintptr
// /*
// ** Implementation of the xSetAuxdata() method.
// */
-func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintptr) (r int32) {
+func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, __ccgo_fp_xDelete uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var pCsr, pData uintptr
@@ -218978,8 +210425,8 @@ func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintp
*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
pData = _sqlite3Fts5MallocZero(tls, bp, int64(16))
if pData == uintptr(0) {
- if xDelete != 0 {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{xDelete})))(tls, pPtr)
+ if __ccgo_fp_xDelete != 0 {
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xDelete})))(tls, pPtr)
}
return *(*int32)(unsafe.Pointer(bp))
}
@@ -218987,7 +210434,7 @@ func _fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintp
(*TFts5Auxdata)(unsafe.Pointer(pData)).FpNext = (*TFts5Cursor)(unsafe.Pointer(pCsr)).FpAuxdata
(*TFts5Cursor)(unsafe.Pointer(pCsr)).FpAuxdata = pData
}
- (*TFts5Auxdata)(unsafe.Pointer(pData)).FxDelete = xDelete
+ (*TFts5Auxdata)(unsafe.Pointer(pData)).FxDelete = __ccgo_fp_xDelete
(*TFts5Auxdata)(unsafe.Pointer(pData)).FpPtr = pPtr
return SQLITE_OK
}
@@ -219279,7 +210726,7 @@ func init() {
// /*
// ** Implementation of API function xQueryPhrase().
// */
-func _fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, xCallback uintptr) (r int32) {
+func _fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData uintptr, __ccgo_fp_xCallback uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var pCsr, pTab uintptr
@@ -219303,7 +210750,7 @@ func _fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData u
if !(rc == SQLITE_OK && (*TFts5Cursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcsrflags&int32(FTS5CSR_EOF) == 0) {
break
}
- rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xCallback})))(tls, uintptr(unsafe.Pointer(&_sFts5Api)), *(*uintptr)(unsafe.Pointer(bp)), pUserData)
+ rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xCallback})))(tls, uintptr(unsafe.Pointer(&_sFts5Api)), *(*uintptr)(unsafe.Pointer(bp)), pUserData)
if rc != SQLITE_OK {
if rc == int32(SQLITE_DONE) {
rc = SQLITE_OK
@@ -219590,14 +211037,14 @@ func _fts5ColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32)
// ** This routine implements the xFindFunction method for the FTS3
// ** virtual table.
// */
-func _fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, pxFunc uintptr, ppArg uintptr) (r int32) {
+func _fts5FindFunctionMethod(tls *libc.TLS, pVtab uintptr, nUnused int32, zName uintptr, __ccgo_fp_pxFunc uintptr, ppArg uintptr) (r int32) {
var pAux, pTab uintptr
_, _ = pAux, pTab
pTab = pVtab
_ = nUnused
pAux = _fts5FindAuxiliary(tls, pTab, zName)
if pAux != 0 {
- *(*uintptr)(unsafe.Pointer(pxFunc)) = __ccgo_fp(_fts5ApiCallback)
+ *(*uintptr)(unsafe.Pointer(__ccgo_fp_pxFunc)) = __ccgo_fp(_fts5ApiCallback)
*(*uintptr)(unsafe.Pointer(ppArg)) = pAux
return int32(1)
}
@@ -219692,7 +211139,7 @@ func _fts5RollbackToMethod(tls *libc.TLS, pVtab uintptr, iSavepoint int32) (r in
// /*
// ** Register a new auxiliary function with global context pGlobal.
// */
-func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, xFunc Tfts5_extension_function, xDestroy uintptr) (r int32) {
+func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, __ccgo_fp_xFunc Tfts5_extension_function, __ccgo_fp_xDestroy uintptr) (r int32) {
var nByte, nName Tsqlite3_int64
var pAux, pGlobal uintptr
var rc int32
@@ -219709,8 +211156,8 @@ func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintpt
libc.Xmemcpy(tls, (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FzFunc, zName, libc.Uint32FromInt64(nName))
(*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpGlobal = pGlobal
(*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpUserData = pUserData
- (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxFunc = xFunc
- (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy = xDestroy
+ (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxFunc = __ccgo_fp_xFunc
+ (*TFts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy = __ccgo_fp_xDestroy
(*TFts5Auxiliary)(unsafe.Pointer(pAux)).FpNext = (*TFts5Global)(unsafe.Pointer(pGlobal)).FpAux
(*TFts5Global)(unsafe.Pointer(pGlobal)).FpAux = pAux
} else {
@@ -219737,7 +211184,7 @@ func _fts5CreateAux(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintpt
// ** If an error occurs, an SQLite error code is returned and the final value
// ** of (*ppNew) undefined.
// */
-func _fts5NewTokenizerModule(tls *libc.TLS, pGlobal uintptr, zName uintptr, pUserData uintptr, xDestroy uintptr, ppNew uintptr) (r int32) {
+func _fts5NewTokenizerModule(tls *libc.TLS, pGlobal uintptr, zName uintptr, pUserData uintptr, __ccgo_fp_xDestroy uintptr, ppNew uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var nByte, nName Tsqlite3_int64
@@ -219754,7 +211201,7 @@ func _fts5NewTokenizerModule(tls *libc.TLS, pGlobal uintptr, zName uintptr, pUse
(*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FzName = pNew + 1*48
libc.Xmemcpy(tls, (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FzName, zName, libc.Uint32FromInt64(nName))
(*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FpUserData = pUserData
- (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FxDestroy = xDestroy
+ (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FxDestroy = __ccgo_fp_xDestroy
(*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FpNext = (*TFts5Global)(unsafe.Pointer(pGlobal)).FpTok
(*TFts5Global)(unsafe.Pointer(pGlobal)).FpTok = pNew
if (*TFts5TokenizerModule)(unsafe.Pointer(pNew)).FpNext == uintptr(0) {
@@ -219781,15 +211228,6 @@ type TFts5VtoVTokenizer = struct {
type Fts5VtoVTokenizer = TFts5VtoVTokenizer
-type TFts5VtoVTokenizer1 = struct {
- FbV2Native int32
- Fx1 Tfts5_tokenizer
- Fx2 Tfts5_tokenizer_v2
- FpReal uintptr
-}
-
-type Fts5VtoVTokenizer1 = TFts5VtoVTokenizer1
-
// C documentation
//
// /*
@@ -219849,11 +211287,11 @@ func _fts5VtoVDelete(tls *libc.TLS, pTok uintptr) {
// ** xTokenizer method for a wrapper tokenizer that offers the v1 interface
// ** (no support for locales).
// */
-func _fts5V1toV2Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5V1toV2Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
var p uintptr
_ = p
p = pTok
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx2.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, uintptr(0), 0, xToken)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx2.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, uintptr(0), 0, __ccgo_fp_xToken)
}
// C documentation
@@ -219862,13 +211300,13 @@ func _fts5V1toV2Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32,
// ** xTokenizer method for a wrapper tokenizer that offers the v2 interface
// ** (with locale support).
// */
-func _fts5V2toV1Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLocale uintptr, nLocale int32, xToken uintptr) (r int32) {
+func _fts5V2toV1Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLocale uintptr, nLocale int32, __ccgo_fp_xToken uintptr) (r int32) {
var p uintptr
_ = p
p = pTok
_ = pLocale
_ = nLocale
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx1.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, xToken)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFts5VtoVTokenizer)(unsafe.Pointer(p)).Fx1.FxTokenize})))(tls, (*TFts5VtoVTokenizer)(unsafe.Pointer(p)).FpReal, pCtx, flags, pText, nText, __ccgo_fp_xToken)
}
// C documentation
@@ -219877,7 +211315,7 @@ func _fts5V2toV1Tokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, flags int32,
// ** Register a new tokenizer. This is the implementation of the
// ** fts5_api.xCreateTokenizer_v2() method.
// */
-func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) (r int32) {
+func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var pGlobal uintptr
@@ -219890,7 +211328,7 @@ func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserDa
rc = int32(SQLITE_ERROR)
} else {
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
- rc = _fts5NewTokenizerModule(tls, pGlobal, zName, pUserData, xDestroy, bp)
+ rc = _fts5NewTokenizerModule(tls, pGlobal, zName, pUserData, __ccgo_fp_xDestroy, bp)
if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fx2 = *(*Tfts5_tokenizer_v2)(unsafe.Pointer(pTokenizer))
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FbV2Native = int32(1)
@@ -219907,7 +211345,7 @@ func _fts5CreateTokenizer_v2(tls *libc.TLS, pApi uintptr, zName uintptr, pUserDa
// /*
// ** The fts5_api.xCreateTokenizer() method.
// */
-func _fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, xDestroy uintptr) (r int32) {
+func _fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData uintptr, pTokenizer uintptr, __ccgo_fp_xDestroy uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var rc int32
@@ -219915,7 +211353,7 @@ func _fts5CreateTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, pUserData
_ = rc
*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
rc = SQLITE_OK
- rc = _fts5NewTokenizerModule(tls, pApi, zName, pUserData, xDestroy, bp)
+ rc = _fts5NewTokenizerModule(tls, pApi, zName, pUserData, __ccgo_fp_xDestroy, bp)
if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fx1 = *(*Tfts5_tokenizer)(unsafe.Pointer(pTokenizer))
(*TFts5TokenizerModule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fx2.FxCreate = __ccgo_fp(_fts5VtoVCreate)
@@ -220387,60 +211825,6 @@ func _sqlite3Fts5Init(tls *libc.TLS, db uintptr) (r int32) {
return _fts5Init(tls, db)
}
-/*
-** 2014 May 31
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
- */
-
-/* #include "fts5Int.h" */
-
-/*
-** pSavedRow:
-** SQL statement FTS5_STMT_LOOKUP2 is a copy of FTS5_STMT_LOOKUP, it
-** does a by-rowid lookup to retrieve a single row from the %_content
-** table or equivalent external-content table/view.
-**
-** However, FTS5_STMT_LOOKUP2 is only used when retrieving the original
-** values for a row being UPDATEd. In that case, the SQL statement is
-** not reset and pSavedRow is set to point at it. This is so that the
-** insert operation that follows the delete may access the original
-** row values for any new values for which sqlite3_value_nochange() returns
-** true. i.e. if the user executes:
-**
-** CREATE VIRTUAL TABLE ft USING fts5(a, b, c, locale=1);
-** ...
-** UPDATE fts SET a=?, b=? WHERE rowid=?;
-**
-** then the value passed to the xUpdate() method of this table as the
-** new.c value is an sqlite3_value_nochange() value. So in this case it
-** must be read from the saved row stored in Fts5Storage.pSavedRow.
-**
-** This is necessary - using sqlite3_value_nochange() instead of just having
-** SQLite pass the original value back via xUpdate() - so as not to discard
-** any locale information associated with such values.
-**
- */
-type TFts5Storage1 = struct {
- FpConfig uintptr
- FpIndex uintptr
- FbTotalsValid int32
- FnTotalRow Ti64
- FaTotalSize uintptr
- FpSavedRow uintptr
- FaStmt [12]uintptr
-}
-
-type Fts5Storage1 = TFts5Storage1
-
// C documentation
//
// /*
@@ -220797,14 +212181,6 @@ type TFts5InsertCtx = struct {
type Fts5InsertCtx = TFts5InsertCtx
-type TFts5InsertCtx1 = struct {
- FpStorage uintptr
- FiCol int32
- FszCol int32
-}
-
-type Fts5InsertCtx1 = TFts5InsertCtx1
-
// C documentation
//
// /*
@@ -221535,17 +212911,6 @@ type TFts5IntegrityCtx = struct {
type Fts5IntegrityCtx = TFts5IntegrityCtx
-type TFts5IntegrityCtx1 = struct {
- FiRowid Ti64
- FiCol int32
- FszCol int32
- Fcksum Tu64
- FpTermset uintptr
- FpConfig uintptr
-}
-
-type Fts5IntegrityCtx1 = TFts5IntegrityCtx1
-
// C documentation
//
// /*
@@ -222050,12 +213415,6 @@ type TAsciiTokenizer = struct {
type AsciiTokenizer = TAsciiTokenizer
-type TAsciiTokenizer1 = struct {
- FaTokenChar [128]uint8
-}
-
-type AsciiTokenizer1 = TAsciiTokenizer1
-
func _fts5AsciiAddExceptions(tls *libc.TLS, p uintptr, zArg uintptr, bTokenChars int32) {
var i int32
_ = i
@@ -222160,7 +213519,7 @@ func _asciiFold(tls *libc.TLS, aOut uintptr, aIn uintptr, nByte int32) {
// /*
// ** Tokenize some text using the ascii tokenizer.
// */
-func _fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
bp := tls.Alloc(64)
defer tls.Free(64)
var a, p, pFold uintptr
@@ -222202,7 +213561,7 @@ func _fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused
}
_asciiFold(tls, pFold, pText+uintptr(is), nByte)
/* Invoke the token callback */
- rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xToken})))(tls, pCtx, 0, pFold, nByte, is, ie)
+ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xToken})))(tls, pCtx, 0, pFold, nByte, is, ie)
is = ie + int32(1)
}
if pFold != bp {
@@ -222236,18 +213595,6 @@ type TUnicode61Tokenizer = struct {
type Unicode61Tokenizer = TUnicode61Tokenizer
-type TUnicode61Tokenizer1 = struct {
- FaTokenChar [128]uint8
- FaFold uintptr
- FnFold int32
- FeRemoveDiacritic int32
- FnException int32
- FaiException uintptr
- FaCategory [32]uint8
-}
-
-type Unicode61Tokenizer1 = TUnicode61Tokenizer1
-
/* Values for eRemoveDiacritic (must match internals of fts5_unicode2.c) */
func _fts5UnicodeAddExceptions(tls *libc.TLS, p uintptr, z uintptr, bTokenChars int32) (r int32) {
@@ -222473,7 +213820,7 @@ func _fts5UnicodeIsAlnum(tls *libc.TLS, p uintptr, iCode int32) (r int32) {
return libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(p + 148 + uintptr(_sqlite3Fts5UnicodeCategory(tls, libc.Uint32FromInt32(iCode)))))) ^ _fts5UnicodeIsException(tls, p, iCode)
}
-func _fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5UnicodeTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
var a, aFold, p, pEnd, zCsr, zOut, zTerm, v10, v11, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v26, v27, v3, v4 uintptr
var iCode Tu32
var ie, is, nFold, rc, v7 int32
@@ -222660,7 +214007,7 @@ _9:
_5:
;
/* Invoke the token callback */
- rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xToken})))(tls, pCtx, 0, aFold, int32(zOut)-int32(aFold), is, ie)
+ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xToken})))(tls, pCtx, 0, aFold, int32(zOut)-int32(aFold), is, ie)
goto _2
_1:
;
@@ -222688,14 +214035,6 @@ type TPorterTokenizer = struct {
type PorterTokenizer = TPorterTokenizer
-type TPorterTokenizer1 = struct {
- Ftokenizer_v2 Tfts5_tokenizer_v2
- FpTokenizer uintptr
- FaBuf [128]int8
-}
-
-type PorterTokenizer1 = TPorterTokenizer1
-
// C documentation
//
// /*
@@ -222773,14 +214112,6 @@ type TPorterContext = struct {
type PorterContext = TPorterContext
-type TPorterContext1 = struct {
- FpCtx uintptr
- FxToken uintptr
- FaBuf uintptr
-}
-
-type PorterContext1 = TPorterContext1
-
type TPorterRule = struct {
FzSuffix uintptr
FnSuffix int32
@@ -222791,16 +214122,6 @@ type TPorterRule = struct {
type PorterRule = TPorterRule
-type TPorterRule1 = struct {
- FzSuffix uintptr
- FnSuffix int32
- FxCond uintptr
- FzOutput uintptr
- FnOutput int32
-}
-
-type PorterRule1 = TPorterRule1
-
func _fts5PorterIsVowel(tls *libc.TLS, c int8, bYIsVowel int32) (r int32) {
return libc.BoolInt32(int32(c) == int32('a') || int32(c) == int32('e') || int32(c) == int32('i') || int32(c) == int32('o') || int32(c) == int32('u') || bYIsVowel != 0 && int32(c) == int32('y'))
}
@@ -223426,14 +214747,14 @@ pass_through:
// /*
// ** Tokenize using the porter tokenizer.
// */
-func _fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLoc uintptr, nLoc int32, xToken uintptr) (r int32) {
+func _fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, pLoc uintptr, nLoc int32, __ccgo_fp_xToken uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var p uintptr
var _ /* sCtx at bp+0 */ TPorterContext
_ = p
p = pTokenizer
- (*(*TPorterContext)(unsafe.Pointer(bp))).FxToken = xToken
+ (*(*TPorterContext)(unsafe.Pointer(bp))).FxToken = __ccgo_fp_xToken
(*(*TPorterContext)(unsafe.Pointer(bp))).FpCtx = pCtx
(*(*TPorterContext)(unsafe.Pointer(bp))).FaBuf = p + 20
return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TPorterTokenizer)(unsafe.Pointer(p)).Ftokenizer_v2.FxTokenize})))(tls, (*TPorterTokenizer)(unsafe.Pointer(p)).FpTokenizer, bp, flags, pText, nText, pLoc, nLoc, __ccgo_fp(_fts5PorterCb))
@@ -223451,13 +214772,6 @@ type TTrigramTokenizer = struct {
type TrigramTokenizer = TTrigramTokenizer
-type TTrigramTokenizer1 = struct {
- FbFold int32
- FiFoldParam int32
-}
-
-type TrigramTokenizer1 = TTrigramTokenizer1
-
// C documentation
//
// /*
@@ -223539,7 +214853,7 @@ func _fts5TriCreate(tls *libc.TLS, pUnused uintptr, azArg uintptr, nArg int32, p
// /*
// ** Trigram tokenizer tokenize routine.
// */
-func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, xToken uintptr) (r int32) {
+func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int32, pText uintptr, nText int32, __ccgo_fp_xToken uintptr) (r int32) {
bp := tls.Alloc(32)
defer tls.Free(32)
var aStart [3]int32
@@ -223667,7 +214981,7 @@ func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int
}
}
/* Pass the current trigram back to fts5 */
- rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{xToken})))(tls, pCtx, 0, bp, int32(zOut)-t__predefined_ptrdiff_t(bp), aStart[0], iNext)
+ rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xToken})))(tls, pCtx, 0, bp, int32(zOut)-t__predefined_ptrdiff_t(bp), aStart[0], iNext)
if iCode == uint32(0) || rc != SQLITE_OK {
break
}
@@ -223743,11 +215057,11 @@ func _fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int
// ** "trigram" tokenizer, case_sensitive=0 (the default) - FTS5_PATTERN_LIKE
// ** all other tokenizers - FTS5_PATTERN_NONE
// */
-func _sqlite3Fts5TokenizerPattern(tls *libc.TLS, xCreate uintptr, pTok uintptr) (r int32) {
+func _sqlite3Fts5TokenizerPattern(tls *libc.TLS, __ccgo_fp_xCreate uintptr, pTok uintptr) (r int32) {
var p uintptr
var v1 int32
_, _ = p, v1
- if xCreate == __ccgo_fp(_fts5TriCreate) {
+ if __ccgo_fp_xCreate == __ccgo_fp(_fts5TriCreate) {
p = pTok
if (*TTrigramTokenizer)(unsafe.Pointer(p)).FiFoldParam == 0 {
if (*TTrigramTokenizer)(unsafe.Pointer(p)).FbFold != 0 {
@@ -229302,39 +220616,6 @@ type TFts5VocabCursor = struct {
type Fts5VocabCursor = TFts5VocabCursor
-type TFts5VocabTable1 = struct {
- Fbase Tsqlite3_vtab
- FzFts5Tbl uintptr
- FzFts5Db uintptr
- Fdb uintptr
- FpGlobal uintptr
- FeType int32
- FbBusy uint32
-}
-
-type Fts5VocabTable1 = TFts5VocabTable1
-
-type TFts5VocabCursor1 = struct {
- Fbase Tsqlite3_vtab_cursor
- FpStmt uintptr
- FpFts5 uintptr
- FbEof int32
- FpIter uintptr
- FpStruct uintptr
- FnLeTerm int32
- FzLeTerm uintptr
- FcolUsed int32
- FiCol int32
- FaCnt uintptr
- FaDoc uintptr
- Frowid Ti64
- Fterm TFts5Buffer
- FiInstPos Ti64
- FiInstOff int32
-}
-
-type Fts5VocabCursor1 = TFts5VocabCursor1
-
/*
** Bits for the mask used as the idxNum value by xBestIndex/xFilter.
*/
@@ -230418,11 +221699,11 @@ var Xsqlite3_temp_directory uintptr
// **
// ** See also: [sqlite_version()] and [sqlite_source_id()].
// */
-var Xsqlite3_version = [7]int8{'3', '.', '5', '0', '.', '3'}
+var Xsqlite3_version = [7]int8{'3', '.', '5', '0', '.', '4'}
var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
-var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-12.2.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=1000\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_PTHREADS\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00unistr('\x000123456789abcdef\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenWrite\x00OpenDup\x00BitNot\x00OpenAutoindex\x00OpenEphemeral\x00String8\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00DropTrigger\x00Real\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00subrtnsig:%d,%s\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d: %s; [%s]\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: %s; [%s]\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open table with generated columns: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00more than %d aggregate terms\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%#Q\x00%Q\x00invalid Unicode escape\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00unistr\x00quote\x00unistr_quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00if\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00builtin\x00enc\x00narg\x00flags\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00unique\x00origin\x00partial\x00wdth\x00hght\x00flgs\x00rowid\x00fkid\x00busy\x00checkpointed\x00file\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00CREATE BLOOM FILTER\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00vacuum_%016llx\x00ATTACH %Q AS %s\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO %s.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM %s.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO %s.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX \x000x%x:%s\x00%d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00internal query planner error\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00near \"%T\": syntax error\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00#\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1, 0 UNION ALL SELECT 1, 'idx', '', 0, '', 2, 0 UNION ALL SELECT 2, 'stat', '', 0, '', 0, 0\x00PRAGMA '%q'.table_xinfo('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00SELECT * FROM %Q.sqlite_schema\x00no such table: %s.%s\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00wrong number of arguments to function fts5_get_locale()\x00non-integer argument passed to function fts5_get_locale()\x00snippet\x00highlight\x00bm25\x00fts5_get_locale\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00contentless_unindexed\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00locale\x00malformed locale=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00, NULL\x00, T.l%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00contentless_unindexed=1 requires a contentless table\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00insttoken\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00REPLACE INTO %Q.'%q_config' VALUES ('version', %d)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%.*s\x00%s: table does not support scanning\x00fts5: missing row %lld from content table %s\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00%s a subset of columns on fts5 contentless-delete table: %s\x00%s contentless fts5 table: %s\x00cannot UPDATE\x00'delete' may not be used with a contentless_delete=1 table\x00cannot DELETE from contentless fts5 table: %s\x00fts5_locale() requires locale=1\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2025-07-17 13:25:10 3ce993b8657d6d9deda380a93cdd6404a8c8ba1b185b2bc423703e41ae5f2543\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00fts5_locale\x00fts5_insttoken\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00%z%s?%d\x00%z,?%d\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00, l%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00DELETE FROM %Q.'%q_content';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00trigram\x00ascii\x00porter\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002025-07-17 13:25:10 3ce993b8657d6d9deda380a93cdd6404a8c8ba1b185b2bc423703e41ae5f2543\x00"
+var __ccgo_ts1 = "ATOMIC_INTRINSICS=1\x00COMPILER=gcc-12.2.0\x00DEFAULT_AUTOVACUUM\x00DEFAULT_CACHE_SIZE=-2000\x00DEFAULT_FILE_FORMAT=4\x00DEFAULT_JOURNAL_SIZE_LIMIT=-1\x00DEFAULT_MEMSTATUS=0\x00DEFAULT_MMAP_SIZE=0\x00DEFAULT_PAGE_SIZE=4096\x00DEFAULT_PCACHE_INITSZ=20\x00DEFAULT_RECURSIVE_TRIGGERS\x00DEFAULT_SECTOR_SIZE=4096\x00DEFAULT_SYNCHRONOUS=2\x00DEFAULT_WAL_AUTOCHECKPOINT=1000\x00DEFAULT_WAL_SYNCHRONOUS=2\x00DEFAULT_WORKER_THREADS=0\x00DIRECT_OVERFLOW_READ\x00ENABLE_COLUMN_METADATA\x00ENABLE_DBSTAT_VTAB\x00ENABLE_FTS5\x00ENABLE_GEOPOLY\x00ENABLE_MATH_FUNCTIONS\x00ENABLE_MEMORY_MANAGEMENT\x00ENABLE_OFFSET_SQL_FUNC\x00ENABLE_PREUPDATE_HOOK\x00ENABLE_RBU\x00ENABLE_RTREE\x00ENABLE_SESSION\x00ENABLE_SNAPSHOT\x00ENABLE_STAT4\x00ENABLE_UNLOCK_NOTIFY\x00LIKE_DOESNT_MATCH_BLOBS\x00MALLOC_SOFT_LIMIT=1024\x00MAX_ATTACHED=10\x00MAX_COLUMN=2000\x00MAX_COMPOUND_SELECT=500\x00MAX_DEFAULT_PAGE_SIZE=8192\x00MAX_EXPR_DEPTH=1000\x00MAX_FUNCTION_ARG=1000\x00MAX_LENGTH=1000000000\x00MAX_LIKE_PATTERN_LENGTH=50000\x00MAX_MMAP_SIZE=0x7fff0000\x00MAX_PAGE_COUNT=0xfffffffe\x00MAX_PAGE_SIZE=65536\x00MAX_SQL_LENGTH=1000000000\x00MAX_TRIGGER_DEPTH=1000\x00MAX_VARIABLE_NUMBER=32766\x00MAX_VDBE_OP=250000000\x00MAX_WORKER_THREADS=8\x00MUTEX_PTHREADS\x00SOUNDEX\x00SYSTEM_MALLOC\x00TEMP_STORE=1\x00THREADSAFE=1\x00ANY\x00BLOB\x00INT\x00INTEGER\x00REAL\x00TEXT\x0020b:20e\x0020c:20e\x0020e\x0040f-21a-21d\x00now\x00subsec\x00subsecond\x00local time unavailable\x00auto\x00ceiling\x00floor\x00julianday\x00localtime\x00unixepoch\x00utc\x00weekday \x00start of \x00month\x00year\x00day\x0040f\x0050f\x0040f-20a-20d\x0050f-20a-20d\x00%02d\x00%2d\x00%06.3f\x00%04d-%02d-%02d\x00%04d\x00%03d\x00%.16g\x00PM\x00pm\x00AM\x00am\x00%02d:%02d\x00%.3f\x00%lld\x00%02d:%02d:%02d\x00%c%04d-%02d-%02d %02d:%02d:%06.3f\x00date\x00time\x00datetime\x00strftime\x00timediff\x00current_time\x00current_timestamp\x00current_date\x00failed to allocate %u bytes of memory\x00failed memory resize %u to %u bytes\x00out of memory\x00%\x00null\x00NaN\x00-Inf\x00\x00NULL\x00(NULL)\x00unistr('\x000123456789abcdef\x00.\x00(join-%u)\x00%u-ROW VALUES CLAUSE\x00(subquery-%u)\x00unrecognized token: \"%s\"\x00922337203685477580\x00+- \n\t0123456789\x000\x00API call with %s database connection pointer\x00unopened\x00invalid\x00Savepoint\x00AutoCommit\x00Transaction\x00Checkpoint\x00JournalMode\x00Vacuum\x00VFilter\x00VUpdate\x00Init\x00Goto\x00Gosub\x00InitCoroutine\x00Yield\x00MustBeInt\x00Jump\x00Once\x00If\x00IfNot\x00IsType\x00Not\x00IfNullRow\x00SeekLT\x00SeekLE\x00SeekGE\x00SeekGT\x00IfNotOpen\x00IfNoHope\x00NoConflict\x00NotFound\x00Found\x00SeekRowid\x00NotExists\x00Last\x00IfSizeBetween\x00SorterSort\x00Sort\x00Rewind\x00SorterNext\x00Prev\x00Next\x00IdxLE\x00IdxGT\x00IdxLT\x00Or\x00And\x00IdxGE\x00RowSetRead\x00RowSetTest\x00Program\x00FkIfZero\x00IfPos\x00IsNull\x00NotNull\x00Ne\x00Eq\x00Gt\x00Le\x00Lt\x00Ge\x00ElseEq\x00IfNotZero\x00DecrJumpZero\x00IncrVacuum\x00VNext\x00Filter\x00PureFunc\x00Function\x00Return\x00EndCoroutine\x00HaltIfNull\x00Halt\x00Integer\x00Int64\x00String\x00BeginSubrtn\x00Null\x00SoftNull\x00Blob\x00Variable\x00Move\x00Copy\x00SCopy\x00IntCopy\x00FkCheck\x00ResultRow\x00CollSeq\x00AddImm\x00RealAffinity\x00Cast\x00Permutation\x00Compare\x00IsTrue\x00ZeroOrNull\x00Offset\x00Column\x00TypeCheck\x00Affinity\x00MakeRecord\x00Count\x00ReadCookie\x00SetCookie\x00ReopenIdx\x00OpenRead\x00BitAnd\x00BitOr\x00ShiftLeft\x00ShiftRight\x00Add\x00Subtract\x00Multiply\x00Divide\x00Remainder\x00Concat\x00OpenWrite\x00OpenDup\x00BitNot\x00OpenAutoindex\x00OpenEphemeral\x00String8\x00SorterOpen\x00SequenceTest\x00OpenPseudo\x00Close\x00ColumnsUsed\x00SeekScan\x00SeekHit\x00Sequence\x00NewRowid\x00Insert\x00RowCell\x00Delete\x00ResetCount\x00SorterCompare\x00SorterData\x00RowData\x00Rowid\x00NullRow\x00SeekEnd\x00IdxInsert\x00SorterInsert\x00IdxDelete\x00DeferredSeek\x00IdxRowid\x00FinishSeek\x00Destroy\x00Clear\x00ResetSorter\x00CreateBtree\x00SqlExec\x00ParseSchema\x00LoadAnalysis\x00DropTable\x00DropIndex\x00DropTrigger\x00Real\x00IntegrityCk\x00RowSetAdd\x00Param\x00FkCounter\x00MemMax\x00OffsetLimit\x00AggInverse\x00AggStep\x00AggStep1\x00AggValue\x00AggFinal\x00Expire\x00CursorLock\x00CursorUnlock\x00TableLock\x00VBegin\x00VCreate\x00VDestroy\x00VOpen\x00VCheck\x00VInitIn\x00VColumn\x00VRename\x00Pagecount\x00MaxPgcnt\x00ClrSubtype\x00GetSubtype\x00SetSubtype\x00FilterAdd\x00Trace\x00CursorHint\x00ReleaseReg\x00Noop\x00Explain\x00Abortable\x00open\x00close\x00access\x00getcwd\x00stat\x00fstat\x00ftruncate\x00fcntl\x00read\x00pread\x00pread64\x00write\x00pwrite\x00pwrite64\x00fchmod\x00fallocate\x00unlink\x00openDirectory\x00mkdir\x00rmdir\x00fchown\x00geteuid\x00mmap\x00munmap\x00mremap\x00getpagesize\x00readlink\x00lstat\x00ioctl\x00attempt to open \"%s\" as file descriptor %d\x00/dev/null\x00os_unix.c:%d: (%d) %s(%s) - %s\x00cannot fstat db file %s\x00file unlinked while open: %s\x00multiple links to file: %s\x00file renamed while open: %s\x00%s\x00full_fsync\x00%s-shm\x00readonly_shm\x00psow\x00unix-excl\x00%s.lock\x00/var/tmp\x00/usr/tmp\x00/tmp\x00SQLITE_TMPDIR\x00TMPDIR\x00%s/etilqs_%llx%c\x00modeof\x00fsync\x00/dev/urandom\x00unix\x00unix-none\x00unix-dotfile\x00memdb\x00memdb(%p,%lld)\x00PRAGMA \"%w\".page_count\x00BEGIN IMMEDIATE; COMMIT;\x00ATTACH x AS %Q\x00recovered %d pages from %s\x00-journal\x00-wal\x00nolock\x00immutable\x00PRAGMA table_list\x00recovered %d frames from WAL file %s\x00cannot limit WAL size: %s\x00:memory:\x00@ \x00\n\x00invalid page number %u\x002nd reference to page %u\x00Failed to read ptrmap key=%u\x00Bad ptr map entry key=%u expected=(%u,%u) got=(%u,%u)\x00failed to get page %u\x00freelist leaf count too big on page %u\x00size\x00overflow list length\x00%s is %u but should be %u\x00Tree %u page %u: \x00unable to get the page. error code=%d\x00btreeInitPage() returns error code %d\x00free space corruption\x00Tree %u page %u cell %u: \x00Tree %u page %u right child: \x00Offset %u out of range %u..%u\x00Extends off end of page\x00Rowid %lld out of order\x00Child page depth differs\x00Multiple uses for byte %u of page %u\x00Fragmentation of %u bytes reported as %u on page %u\x00Freelist: \x00max rootpage (%u) disagrees with header (%u)\x00incremental_vacuum enabled with a max rootpage of zero\x00Page %u: never used\x00Page %u: pointer map referenced\x00unknown database %s\x00destination database is in use\x00source and destination must be distinct\x00%!.15g\x00-\x00%s%s\x00k(%d\x00BINARY\x00B\x00N.\x00,%s%s%s\x00)\x00?\x008\x0016LE\x0016BE\x00%.18s-%s\x00%s(%d)\x00%d\x00(blob)\x00vtab:%p\x00%c%u\x00]\x00program\x00subrtnsig:%d,%s\x00%.4c%s%.16c\x00MJ delete: %s\x00MJ collide: %s\x00-mj%06X9%02X\x00FOREIGN KEY constraint failed\x00a CHECK constraint\x00a generated column\x00an index\x00non-deterministic use of %s() in %s\x00API called with finalized prepared statement\x00API called with NULL prepared statement\x00string or blob too big\x00addr\x00opcode\x00p1\x00p2\x00p3\x00p4\x00p5\x00comment\x00id\x00parent\x00notused\x00detail\x00bind on a busy prepared statement: [%s]\x00-- \x00'%.*q'\x00zeroblob(%d)\x00x'\x00%02x\x00'\x00NOT NULL\x00UNIQUE\x00CHECK\x00FOREIGN KEY\x00%s constraint failed\x00%z: %s\x00abort at %d: %s; [%s]\x00cannot store %s value in %s column %s.%s\x00cannot open savepoint - SQL statements in progress\x00no such savepoint: %s\x00cannot release savepoint - SQL statements in progress\x00cannot commit transaction - SQL statements in progress\x00cannot start a transaction within a transaction\x00cannot rollback - no transaction is active\x00cannot commit - no transaction is active\x00database schema has changed\x00index corruption\x00sqlite_master\x00SELECT*FROM\"%w\".%s WHERE %s ORDER BY rowid\x00too many levels of trigger recursion\x00into\x00out of\x00cannot change %s wal mode from within a transaction\x00database table is locked: %s\x00ValueList\x00-- %s\x00statement aborts at %d: %s; [%s]\x00real\x00integer\x00cannot open value of type %s\x00no such rowid: %lld\x00cannot open virtual table: %s\x00cannot open table without rowid: %s\x00cannot open table with generated columns: %s\x00cannot open view: %s\x00no such column: \"%s\"\x00foreign key\x00indexed\x00cannot open %s column for writing\x00sqlite_\x00sqlite_temp_master\x00sqlite_temp_schema\x00sqlite_schema\x00main\x00*\x00new\x00old\x00excluded\x00misuse of aliased aggregate %s\x00misuse of aliased window function %s\x00row value misused\x00double-quoted string literal: \"%w\"\x00coalesce\x00no such column\x00ambiguous column name\x00%s: %s.%s.%s\x00%s: %s.%s\x00%s: \"%s\" - should this be a string literal in single-quotes?\x00%s: %s\x00partial index WHERE clauses\x00index expressions\x00CHECK constraints\x00generated columns\x00%s prohibited in %s\x00the \".\" operator\x00second argument to %#T() must be a constant between 0.0 and 1.0\x00not authorized to use function: %#T\x00non-deterministic functions\x00%#T() may not be used as a window function\x00window\x00aggregate\x00misuse of %s function %#T()\x00no such function: %#T\x00wrong number of arguments to function %#T()\x00FILTER may not be used with non-aggregate %#T()\x00subqueries\x00parameters\x00%r %s BY term out of range - should be between 1 and %d\x00too many terms in ORDER BY clause\x00ORDER\x00%r ORDER BY term does not match any column in the result set\x00too many terms in %s BY clause\x00HAVING clause on a non-aggregate query\x00GROUP\x00aggregate functions are not allowed in the GROUP BY clause\x00Expression tree is too large (maximum depth %d)\x00s\x00IN(...) element has %d term%s - expected %d\x00too many arguments on function %T\x00ORDER BY may not be used with non-aggregate %#T()\x00unsafe use of %#T()\x00variable number must be between ?1 and ?%d\x00too many SQL variables\x00%d columns assigned %d values\x00too many columns in %s\x00true\x00false\x00_ROWID_\x00ROWID\x00OID\x00USING ROWID SEARCH ON TABLE %s FOR IN-OPERATOR\x00USING INDEX %s FOR IN-OPERATOR\x00sub-select returns %d columns - expected %d\x00REUSE LIST SUBQUERY %d\x00CORRELATED \x00%sLIST SUBQUERY %d\x00REUSE SUBQUERY %d\x00%sSCALAR SUBQUERY %d\x001\x000x\x00hex literal too big: %s%#T\x00generated column loop on \"%s\"\x00blob\x00text\x00numeric\x00flexnum\x00none\x00misuse of aggregate: %#T()\x00unknown function: %#T()\x00RAISE() may only be used within a trigger-program\x00more than %d aggregate terms\x00table %s may not be altered\x00SELECT 1 FROM \"%w\".sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, %d, %Q, %d)=NULL \x00SELECT 1 FROM temp.sqlite_master WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%' AND sqlite_rename_test(%Q, sql, type, name, 1, %Q, %d)=NULL \x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_quotefix(%Q, sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_quotefix('temp', sql)WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND sql NOT LIKE 'create virtual%%'\x00there is already another table or index with this name: %s\x00table\x00view %s may not be altered\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, %d) WHERE (type!='index' OR tbl_name=%Q COLLATE nocase)AND name NOT LIKE 'sqliteX_%%' ESCAPE 'X'\x00UPDATE %Q.sqlite_master SET tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqliteX_autoindex%%' ESCAPE 'X' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q COLLATE nocase AND (type='table' OR type='index' OR type='trigger');\x00sqlite_sequence\x00UPDATE \"%w\".sqlite_sequence set name = %Q WHERE name = %Q\x00UPDATE sqlite_temp_schema SET sql = sqlite_rename_table(%Q, type, name, sql, %Q, %Q, 1), tbl_name = CASE WHEN tbl_name=%Q COLLATE nocase AND sqlite_rename_test(%Q, sql, type, name, 1, 'after rename', 0) THEN %Q ELSE tbl_name END WHERE type IN ('view', 'trigger')\x00after rename\x00SELECT raise(ABORT,%Q) FROM \"%w\".\"%w\"\x00Cannot add a PRIMARY KEY column\x00Cannot add a UNIQUE column\x00Cannot add a REFERENCES column with non-NULL default value\x00Cannot add a NOT NULL column with default value NULL\x00Cannot add a column with non-constant default\x00cannot add a STORED column\x00UPDATE \"%w\".sqlite_master SET sql = printf('%%.%ds, ',sql) || %Q || substr(sql,1+length(printf('%%.%ds',sql))) WHERE type = 'table' AND name = %Q\x00SELECT CASE WHEN quick_check GLOB 'CHECK*' THEN raise(ABORT,'CHECK constraint failed') WHEN quick_check GLOB 'non-* value in*' THEN raise(ABORT,'type mismatch on DEFAULT') ELSE raise(ABORT,'NOT NULL constraint failed') END FROM pragma_quick_check(%Q,%Q) WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*' OR quick_check GLOB 'non-* value in*'\x00virtual tables may not be altered\x00Cannot add a column to a view\x00sqlite_altertab_%s\x00view\x00virtual table\x00drop column from\x00rename columns of\x00cannot %s %s \"%s\"\x00no such column: \"%T\"\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, %d) WHERE name NOT LIKE 'sqliteX_%%' ESCAPE 'X' AND (type != 'index' OR tbl_name = %Q)\x00UPDATE temp.sqlite_master SET sql = sqlite_rename_column(sql, type, name, %Q, %Q, %d, %Q, %d, 1) WHERE type IN ('trigger', 'view')\x00 \x00error in %s %s%s%s: %s\x00CREATE \x00\"%w\" \x00%Q%s\x00%.*s%s\x00PRIMARY KEY\x00cannot drop %s column: \"%s\"\x00cannot drop column \"%s\": no other columns exist\x00UPDATE \"%w\".sqlite_master SET sql = sqlite_drop_column(%d, sql, %d) WHERE (type=='table' AND tbl_name=%Q COLLATE nocase)\x00after drop column\x00sqlite_rename_column\x00sqlite_rename_table\x00sqlite_rename_test\x00sqlite_drop_column\x00sqlite_rename_quotefix\x00sqlite_stat1\x00tbl,idx,stat\x00sqlite_stat4\x00tbl,idx,neq,nlt,ndlt,sample\x00sqlite_stat3\x00CREATE TABLE %Q.%s(%s)\x00DELETE FROM %Q.%s WHERE %s=%Q\x00DELETE FROM %Q.%s\x00stat_init\x00stat_push\x00%llu\x00 %llu\x00%llu \x00stat_get\x00sqlite\\_%\x00BBB\x00idx\x00tbl\x00unordered*\x00sz=[0-9]*\x00noskipscan*\x00SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx COLLATE nocase\x00SELECT idx,neq,nlt,ndlt,sample FROM %Q.sqlite_stat4\x00SELECT tbl,idx,stat FROM %Q.sqlite_stat1\x00x\x00\x00too many attached databases - max %d\x00database %s is already in use\x00database is already attached\x00attached databases must use the same text encoding as main database\x00unable to open database: %s\x00no such database: %s\x00cannot detach database %s\x00database %s is locked\x00sqlite_detach\x00sqlite_attach\x00%s cannot use variables\x00%s %T cannot reference objects in database %s\x00authorizer malfunction\x00%s.%s\x00%s.%z\x00access to %z is prohibited\x00not authorized\x00pragma_\x00no such view\x00no such table\x00corrupt database\x00unknown database %T\x00object name reserved for internal use: %s\x00temporary table name must be unqualified\x00%s %T already exists\x00there is already an index named %s\x00cannot use RETURNING in a trigger\x00sqlite_returning_%p\x00too many columns on %s\x00always\x00generated\x00duplicate column name: %s\x00default value of column [%s] is not constant\x00cannot use DEFAULT on a generated column\x00generated columns cannot be part of the PRIMARY KEY\x00table \"%s\" has more than one primary key\x00AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY\x00virtual tables cannot use computed columns\x00virtual\x00stored\x00error in generated column \"%s\"\x00,\x00\n \x00,\n \x00\n)\x00CREATE TABLE \x00 TEXT\x00 NUM\x00 INT\x00 REAL\x00unknown datatype for %s.%s: \"%s\"\x00missing datatype for %s.%s\x00AUTOINCREMENT not allowed on WITHOUT ROWID tables\x00PRIMARY KEY missing on table %s\x00must have at least one non-generated column\x00TABLE\x00VIEW\x00CREATE %s %.*s\x00UPDATE %Q.sqlite_master SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q WHERE rowid=#%d\x00CREATE TABLE %Q.sqlite_sequence(name,seq)\x00tbl_name='%q' AND type!='trigger'\x00SELECT*FROM\"%w\".\"%w\"\x00parameters are not allowed in views\x00view %s is circularly defined\x00corrupt schema\x00UPDATE %Q.sqlite_master SET rootpage=%d WHERE #%d AND rootpage=#%d\x00sqlite_stat%d\x00DELETE FROM %Q.sqlite_sequence WHERE name=%Q\x00DELETE FROM %Q.sqlite_master WHERE tbl_name=%Q and type!='trigger'\x00table %s may not be dropped\x00use DROP TABLE to delete table %s\x00use DROP VIEW to delete view %s\x00foreign key on %s should reference only one column of table %T\x00number of columns in foreign key does not match the number of columns in the referenced table\x00unknown column \"%s\" in foreign key definition\x00FIRST\x00LAST\x00unsupported use of NULLS %s\x00index\x00cannot create a TEMP index on non-TEMP table \"%s\"\x00table %s may not be indexed\x00views may not be indexed\x00virtual tables may not be indexed\x00there is already a table named %s\x00index %s already exists\x00sqlite_autoindex_%s_%d\x00expressions prohibited in PRIMARY KEY and UNIQUE constraints\x00conflicting ON CONFLICT clauses specified\x00invalid rootpage\x00 UNIQUE\x00CREATE%s INDEX %.*s\x00INSERT INTO %Q.sqlite_master VALUES('index',%Q,%Q,#%d,%Q);\x00name='%q' AND type='index'\x00no such index: %S\x00index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='index'\x00too many FROM clause terms, max: %d\x00ON\x00USING\x00a JOIN clause is required before %s\x00BEGIN\x00ROLLBACK\x00COMMIT\x00RELEASE\x00unable to open a temporary database file for storing temporary tables\x00index '%q'\x00, \x00%s.rowid\x00unable to identify the object to be reindexed\x00duplicate WITH table name: %s\x00no such collation sequence: %s\x00unsafe use of virtual table \"%s\"\x00table %s may not be modified\x00cannot modify %s because it is a view\x00rows deleted\x00integer overflow\x00%!.*f\x00LIKE or GLOB pattern too complex\x00ESCAPE expression must be a single character\x00%!0.15g\x00%!0.20e\x00%#Q\x00%Q\x00invalid Unicode escape\x00?000\x00MATCH\x00like\x00implies_nonnull_row\x00expr_compare\x00expr_implies_expr\x00affinity\x00soundex\x00load_extension\x00sqlite_compileoption_used\x00sqlite_compileoption_get\x00unlikely\x00likelihood\x00likely\x00sqlite_offset\x00ltrim\x00rtrim\x00trim\x00min\x00max\x00typeof\x00subtype\x00length\x00octet_length\x00instr\x00printf\x00format\x00unicode\x00char\x00abs\x00round\x00upper\x00lower\x00hex\x00unhex\x00concat\x00concat_ws\x00ifnull\x00random\x00randomblob\x00nullif\x00sqlite_version\x00sqlite_source_id\x00sqlite_log\x00unistr\x00quote\x00unistr_quote\x00last_insert_rowid\x00changes\x00total_changes\x00replace\x00zeroblob\x00substr\x00substring\x00sum\x00total\x00avg\x00count\x00group_concat\x00string_agg\x00glob\x00ceil\x00trunc\x00ln\x00log\x00log10\x00log2\x00exp\x00pow\x00power\x00mod\x00acos\x00asin\x00atan\x00atan2\x00cos\x00sin\x00tan\x00cosh\x00sinh\x00tanh\x00acosh\x00asinh\x00atanh\x00sqrt\x00radians\x00degrees\x00pi\x00sign\x00iif\x00if\x00foreign key mismatch - \"%w\" referencing \"%w\"\x00cannot INSERT into generated column \"%s\"\x00table %S has no column named %s\x00SCAN %S\x00table %S has %d columns but %d values were supplied\x00%d values for %d columns\x00UPSERT not implemented for virtual table \"%s\"\x00cannot UPSERT a view\x00rows inserted\x00so\x00sqlite3_extension_init\x00sqlite3_\x00lib\x00_init\x00no entry point [%s] in shared library [%s]\x00error during initialization: %s\x00unable to open shared library [%.*s]\x00automatic extension loading failed: %s\x00seq\x00from\x00to\x00on_update\x00on_delete\x00match\x00cid\x00name\x00type\x00notnull\x00dflt_value\x00pk\x00hidden\x00builtin\x00enc\x00narg\x00flags\x00schema\x00ncol\x00wr\x00strict\x00seqno\x00desc\x00coll\x00key\x00unique\x00origin\x00partial\x00wdth\x00hght\x00flgs\x00rowid\x00fkid\x00busy\x00checkpointed\x00file\x00database\x00status\x00cache_size\x00timeout\x00analysis_limit\x00application_id\x00auto_vacuum\x00automatic_index\x00busy_timeout\x00cache_spill\x00case_sensitive_like\x00cell_size_check\x00checkpoint_fullfsync\x00collation_list\x00compile_options\x00count_changes\x00data_version\x00database_list\x00default_cache_size\x00defer_foreign_keys\x00empty_result_callbacks\x00encoding\x00foreign_key_check\x00foreign_key_list\x00foreign_keys\x00freelist_count\x00full_column_names\x00fullfsync\x00function_list\x00hard_heap_limit\x00ignore_check_constraints\x00incremental_vacuum\x00index_info\x00index_list\x00index_xinfo\x00integrity_check\x00journal_mode\x00journal_size_limit\x00legacy_alter_table\x00locking_mode\x00max_page_count\x00mmap_size\x00module_list\x00optimize\x00page_count\x00page_size\x00pragma_list\x00query_only\x00quick_check\x00read_uncommitted\x00recursive_triggers\x00reverse_unordered_selects\x00schema_version\x00secure_delete\x00short_column_names\x00shrink_memory\x00soft_heap_limit\x00synchronous\x00table_info\x00table_list\x00table_xinfo\x00temp_store\x00temp_store_directory\x00threads\x00trusted_schema\x00user_version\x00wal_autocheckpoint\x00wal_checkpoint\x00writable_schema\x00exclusive\x00normal\x00full\x00incremental\x00memory\x00temporary storage cannot be changed from within a transaction\x00SET NULL\x00SET DEFAULT\x00CASCADE\x00RESTRICT\x00NO ACTION\x00delete\x00persist\x00off\x00truncate\x00wal\x00utf8\x00utf16le\x00utf16be\x00w\x00a\x00sissii\x00-%T\x00fast\x00not a writable directory\x00Safety level may not be changed inside a transaction\x00reset\x00issisii\x00issisi\x00SELECT*FROM\"%w\"\x00shadow\x00sssiii\x00iisX\x00isiX\x00c\x00u\x00isisi\x00iss\x00is\x00iissssss\x00NONE\x00siX\x00*** in database %s ***\n\x00wrong # of entries in index \x00row not in PRIMARY KEY order for %s\x00NULL value in %s.%s\x00non-%s value in %s.%s\x00NUMERIC value in %s.%s\x00C\x00TEXT value in %s.%s\x00CHECK constraint failed in %s\x00row \x00 missing from index \x00rowid not at end-of-record for row \x00 of index \x00 values differ from index \x00non-unique entry in index \x00ok\x00UTF8\x00UTF-8\x00UTF-16le\x00UTF-16be\x00UTF16le\x00UTF16be\x00UTF-16\x00UTF16\x00unsupported encoding: %s\x00restart\x00ANALYZE \"%w\".\"%w\"\x00CREATE TABLE x\x00%c\"%s\"\x00(\"%s\"\x00,arg HIDDEN\x00,schema HIDDEN\x00PRAGMA \x00%Q.\x00=%Q\x00rename\x00drop column\x00add column\x00error in %s %s after %s: %s\x00malformed database schema (%s)\x00%z - %s\x00orphan index\x00CREATE TABLE x(type text,name text,tbl_name text,rootpage int,sql text)\x00unsupported file format\x00SELECT*FROM\"%w\".%s ORDER BY rowid\x00database schema is locked: %s\x00statement too long\x00unknown join type: %T%s%T%s%T\x00a NATURAL join may not have an ON or USING clause\x00cannot join using column %s - column not present in both tables\x00ambiguous reference to %s in USING()\x00CREATE BLOOM FILTER\x00UNION ALL\x00INTERSECT\x00EXCEPT\x00UNION\x00USE TEMP B-TREE FOR %s\x00LAST TERM OF \x00USE TEMP B-TREE FOR %sORDER BY\x00USE TEMP B-TREE FOR LAST %d TERMS OF ORDER BY\x00column%d\x00%.*z:%u\x00NUM\x00cannot use window functions in recursive queries\x00recursive aggregate queries not supported\x00SETUP\x00RECURSIVE STEP\x00S\x00SCAN %d CONSTANT ROW%s\x00COMPOUND QUERY\x00LEFT-MOST SUBQUERY\x00%s USING TEMP B-TREE\x00all VALUES must have the same number of terms\x00SELECTs to the left and right of %s do not have the same number of result columns\x00MERGE (%s)\x00LEFT\x00RIGHT\x00no such index: %s\x00'%s' is not a function\x00no such index: \"%s\"\x00multiple references to recursive table: %s\x00circular reference: %s\x00table %s has %d values for %d columns\x00multiple recursive references: %s\x00recursive reference in a subquery: %s\x00%!S\x00too many references to \"%s\": max 65535\x00access to view \"%s\" prohibited\x00..%s\x00%s.%s.%s\x00no such table: %s\x00no tables specified\x00too many columns in result set\x00DISTINCT aggregates must have exactly one argument\x00USE TEMP B-TREE FOR %s(DISTINCT)\x00USE TEMP B-TREE FOR %s(ORDER BY)\x00 USING COVERING INDEX \x00SCAN %s%s%s\x00target object/alias may not appear in FROM clause: %s\x00expected %d columns for '%s' but got %d\x00CO-ROUTINE %!S\x00MATERIALIZE %!S\x00DISTINCT\x00GROUP BY\x00sqlite3_get_table() called with two or more incompatible queries\x00temporary trigger may not have qualified name\x00trigger\x00cannot create triggers on virtual tables\x00cannot create triggers on shadow tables\x00trigger %T already exists\x00cannot create trigger on system table\x00BEFORE\x00AFTER\x00cannot create %s trigger on view: %S\x00cannot create INSTEAD OF trigger on table: %S\x00trigger \"%s\" may not write to shadow table \"%s\"\x00INSERT INTO %Q.sqlite_master VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')\x00type='trigger' AND name='%q'\x00no such trigger: %S\x00DELETE FROM %Q.sqlite_master WHERE name=%Q AND type='trigger'\x00DELETE\x00UPDATE\x00%s RETURNING is not available on virtual tables\x00RETURNING may not use \"TABLE.*\" wildcards\x00-- TRIGGER %s\x00cannot UPDATE generated column \"%s\"\x00no such column: %s\x00rows updated\x00%r \x00%sON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint\x00CRE\x00INS\x00cannot VACUUM from within a transaction\x00cannot VACUUM - SQL statements in progress\x00non-text filename\x00vacuum_%016llx\x00ATTACH %Q AS %s\x00output file already exists\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='table'AND name<>'sqlite_sequence' AND coalesce(rootpage,1)>0\x00SELECT sql FROM \"%w\".sqlite_schema WHERE type='index'\x00SELECT'INSERT INTO %s.'||quote(name)||' SELECT*FROM\"%w\".'||quote(name)FROM %s.sqlite_schema WHERE type='table'AND coalesce(rootpage,1)>0\x00INSERT INTO %s.sqlite_schema SELECT*FROM \"%w\".sqlite_schema WHERE type IN('view','trigger') OR(type='table'AND rootpage=0)\x00CREATE VIRTUAL TABLE %T\x00UPDATE %Q.sqlite_master SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q WHERE rowid=#%d\x00name=%Q AND sql=%Q\x00vtable constructor called recursively: %s\x00vtable constructor failed: %s\x00vtable constructor did not declare schema: %s\x00no such module: %s\x00syntax error\x00\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00SEARCH\x00SCAN\x00%s %S\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00 USING INTEGER PRIMARY KEY (%s\x00>? AND %s\x00%c?)\x00 VIRTUAL TABLE INDEX \x000x%x:%s\x00%d:%s\x00 LEFT-JOIN\x00BLOOM FILTER ON %S (\x00rowid=?\x00MULTI-INDEX OR\x00INDEX %d\x00RIGHT-JOIN %s\x00regexp\x00ON clause references tables to its right\x00NOCASE\x00too many arguments on %s() - max %d\x00automatic index on %s(%s)\x00auto-index\x00%s.xBestIndex malfunction\x00abbreviated query algorithm search\x00no query solution\x00at most %d tables in a join\x00SCAN CONSTANT ROW\x00internal query planner error\x00second argument to nth_value must be a positive integer\x00argument of ntile must be a positive integer\x00no such window: %s\x00RANGE with offset PRECEDING/FOLLOWING requires one ORDER BY expression\x00FILTER clause may only be used with aggregate window functions\x00misuse of aggregate: %s()\x00unsupported frame specification\x00PARTITION clause\x00ORDER BY clause\x00frame specification\x00cannot override %s of window: %s\x00DISTINCT is not supported for window functions\x00frame starting offset must be a non-negative integer\x00frame ending offset must be a non-negative integer\x00frame starting offset must be a non-negative number\x00frame ending offset must be a non-negative number\x00near \"%T\": syntax error\x00ORDER BY\x00LIMIT\x00%s clause should come after %s not before\x00too many terms in compound SELECT\x00syntax error after column name \"%.*s\"\x00unknown table option: %.*s\x00set list\x00qualified table names are not allowed on INSERT, UPDATE, and DELETE statements within triggers\x00the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers\x00the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers\x00incomplete input\x00unrecognized token: \"%T\"\x00%s in \"%s\"\x00create\x00temp\x00temporary\x00end\x00explain\x00unable to close due to unfinalized statements or unfinished backups\x00not an error\x00SQL logic error\x00access permission denied\x00query aborted\x00database is locked\x00database table is locked\x00attempt to write a readonly database\x00interrupted\x00disk I/O error\x00database disk image is malformed\x00unknown operation\x00database or disk is full\x00unable to open database file\x00locking protocol\x00constraint failed\x00datatype mismatch\x00bad parameter or other API misuse\x00authorization denied\x00column index out of range\x00file is not a database\x00notification message\x00warning message\x00unknown error\x00abort due to ROLLBACK\x00another row available\x00no more rows available\x00unable to delete/modify user-function due to active statements\x00unable to use function %s in the requested context\x00unknown database: %s\x00unable to delete/modify collation sequence due to active statements\x00file:\x00localhost\x00invalid uri authority: %.*s\x00vfs\x00cache\x00shared\x00private\x00mode\x00ro\x00rw\x00rwc\x00no such %s mode: %s\x00%s mode not allowed: %s\x00no such vfs: %s\x00RTRIM\x00\x00\x00\x00%s at line %d of [%.10s]\x00database corruption\x00misuse\x00cannot open file\x00no such table column: %s.%s\x00SQLITE_\x00database is deadlocked\x00array\x00object\x00JSON cannot hold BLOB values\x00malformed JSON\x00inf\x009.0e999\x00infinity\x00QNaN\x00SNaN\x00json_%s() needs an odd number of arguments\x00\"\\/bfnrt\x00-9e999\x009e999\x00inity\x00\\\"\x00\\u0009\x00\\u00\x00\\u0000\x00,\n\x00: \x00bad JSON path: %Q\x00@\x00[\x00#\x00.\"\x00\"\x00json_object() requires an even number of arguments\x00json_object() labels must be TEXT\x00set\x00insert\x00 \x00FLAGS parameter to json_valid() must be between 1 and 15\x00[]\x00{}\x00CREATE TABLE x(key,value,type,atom,id,parent,fullkey,path,json HIDDEN,root HIDDEN)\x00[%lld]\x00.\"%.*s\"\x00.%.*s\x00$\x00json\x00jsonb\x00json_array\x00jsonb_array\x00json_array_length\x00json_error_position\x00json_extract\x00jsonb_extract\x00->\x00->>\x00json_insert\x00jsonb_insert\x00json_object\x00jsonb_object\x00json_patch\x00jsonb_patch\x00json_pretty\x00json_quote\x00json_remove\x00jsonb_remove\x00json_replace\x00jsonb_replace\x00json_set\x00jsonb_set\x00json_type\x00json_valid\x00json_group_array\x00jsonb_group_array\x00json_group_object\x00jsonb_group_object\x00json_each\x00json_tree\x00data\x00DROP TABLE '%q'.'%q_node';DROP TABLE '%q'.'%q_rowid';DROP TABLE '%q'.'%q_parent';\x00RtreeMatchArg\x00SELECT * FROM %Q.%Q\x00UNIQUE constraint failed: %s.%s\x00rtree constraint failed: %s.(%s<=%s)\x00ALTER TABLE %Q.'%q_node' RENAME TO \"%w_node\";ALTER TABLE %Q.'%q_parent' RENAME TO \"%w_parent\";ALTER TABLE %Q.'%q_rowid' RENAME TO \"%w_rowid\";\x00SELECT stat FROM %Q.sqlite_stat1 WHERE tbl = '%q_rowid'\x00node\x00INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_node' WHERE nodeno = ?1\x00SELECT nodeno FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_rowid' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_rowid' WHERE rowid = ?1\x00SELECT parentnode FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00INSERT OR REPLACE INTO '%q'.'%q_parent' VALUES(?1, ?2)\x00DELETE FROM '%q'.'%q_parent' WHERE nodeno = ?1\x00CREATE TABLE \"%w\".\"%w_rowid\"(rowid INTEGER PRIMARY KEY,nodeno\x00,a%d\x00);CREATE TABLE \"%w\".\"%w_node\"(nodeno INTEGER PRIMARY KEY,data);\x00CREATE TABLE \"%w\".\"%w_parent\"(nodeno INTEGER PRIMARY KEY,parentnode);\x00INSERT INTO \"%w\".\"%w_node\"VALUES(1,zeroblob(%d))\x00INSERT INTO\"%w\".\"%w_rowid\"(rowid,nodeno)VALUES(?1,?2)ON CONFLICT(rowid)DO UPDATE SET nodeno=excluded.nodeno\x00SELECT * FROM \"%w\".\"%w_rowid\" WHERE rowid=?1\x00UPDATE \"%w\".\"%w_rowid\"SET \x00a%d=coalesce(?%d,a%d)\x00a%d=?%d\x00 WHERE rowid=?1\x00PRAGMA %Q.page_size\x00SELECT length(data) FROM '%q'.'%q_node' WHERE nodeno = 1\x00undersize RTree blobs in \"%q_node\"\x00Wrong number of columns for an rtree table\x00Too few columns for an rtree table\x00Too many columns for an rtree table\x00Auxiliary rtree columns must be last\x00_node\x00CREATE TABLE x(%.*s INT\x00,%.*s\x00,%.*s REAL\x00,%.*s INT\x00);\x00{%lld\x00 %g\x00}\x00Invalid argument to rtreedepth()\x00%z%s%z\x00SELECT data FROM %Q.'%q_node' WHERE nodeno=?\x00Node %lld missing from database\x00SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?1\x00SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?1\x00%_rowid\x00%_parent\x00Mapping (%lld -> %lld) missing from %s table\x00Found (%lld -> %lld) in %s table, expected (%lld -> %lld)\x00Dimension %d of cell %d on node %lld is corrupt\x00Dimension %d of cell %d on node %lld is corrupt relative to parent\x00Node %lld is too small (%d bytes)\x00Rtree depth out of range (%d)\x00Node %lld is too small for cell count of %d (%d bytes)\x00SELECT count(*) FROM %Q.'%q%s'\x00Wrong number of entries in %%%s table - expected %lld, actual %lld\x00SELECT * FROM %Q.'%q_rowid'\x00Schema corrupt or not an rtree\x00_rowid\x00_parent\x00In RTree %s.%s:\n%z\x00wrong number of arguments to function rtreecheck()\x00[%!g,%!g],\x00[%!g,%!g]]\x00\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00geopoly\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql COLLATE nocase BETWEEN 'CREATE VIRTUAL' AND 'CREATE VIRTUAM'), rootpage FROM sqlite_schema WHERE name=%Q\x00PRAGMA index_list=%Q\x00SELECT rootpage FROM sqlite_schema WHERE name = %Q\x00PRAGMA table_info=%Q\x00PRAGMA main.index_list = %Q\x00PRAGMA main.index_xinfo = %Q\x00SELECT * FROM '%q'\x00rbu_\x00rbu_rowid\x00may not have\x00requires\x00table %q %s rbu_rowid column\x00PRAGMA table_info(%Q)\x00column missing from %q: %s\x00%z%s\"%w\"\x00%z%s%s\"%w\"%s\x00SELECT max(_rowid_) FROM \"%s%w\"\x00 WHERE _rowid_ > %lld \x00 DESC\x00quote(\x00||','||\x00SELECT %s FROM \"%s%w\" ORDER BY %s LIMIT 1\x00 WHERE (%s) > (%s) \x00_rowid_\x00%z%s \"%w\" COLLATE %Q\x00%z%s \"rbu_imp_%d%w\" COLLATE %Q DESC\x00%z%s quote(\"rbu_imp_%d%w\")\x00SELECT %s FROM \"rbu_imp_%w\" ORDER BY %s LIMIT 1\x00%z%s%s\x00(%s) > (%s)\x00%z%s(%.*s) COLLATE %Q\x00%z%s\"%w\" COLLATE %Q\x00%z%s\"rbu_imp_%d%w\"%s\x00%z%s\"rbu_imp_%d%w\" %s COLLATE %Q\x00%z%s\"rbu_imp_%d%w\" IS ?\x00%z%s%s.\"%w\"\x00%z%sNULL\x00%z, %s._rowid_\x00_rowid_ = ?%d\x00%z%sc%d=?%d\x00_rowid_ = (SELECT id FROM rbu_imposter2 WHERE %z)\x00%z%s\"%w\"=?%d\x00invalid rbu_control value\x00%z%s\"%w\"=rbu_delta(\"%w\", ?%d)\x00%z%s\"%w\"=rbu_fossil_delta(\"%w\", ?%d)\x00PRIMARY KEY(\x00%z%s\"%w\"%s\x00%z)\x00SELECT name FROM sqlite_schema WHERE rootpage = ?\x00%z%sc%d %s COLLATE %Q\x00%z%sc%d%s\x00%z, id INTEGER\x00CREATE TABLE rbu_imposter2(%z, PRIMARY KEY(%z)) WITHOUT ROWID\x00PRIMARY KEY \x00 NOT NULL\x00%z%s\"%w\" %s %sCOLLATE %Q%s\x00%z, %z\x00 WITHOUT ROWID\x00CREATE TABLE \"rbu_imp_%w\"(%z)%s\x00INSERT INTO %s.'rbu_tmp_%q'(rbu_control,%s%s) VALUES(%z)\x00SELECT trim(sql) FROM sqlite_schema WHERE type='index' AND name=?\x00 LIMIT -1 OFFSET %d\x00CREATE TABLE \"rbu_imp_%w\"( %s, PRIMARY KEY( %s ) ) WITHOUT ROWID\x00INSERT INTO \"rbu_imp_%w\" VALUES(%s)\x00DELETE FROM \"rbu_imp_%w\" WHERE %s\x00AND\x00WHERE\x00SELECT %s, 0 AS rbu_control FROM '%q' %s %s %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s ORDER BY %s%s\x00SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' %s UNION ALL SELECT %s, rbu_control FROM '%q' %s %s typeof(rbu_control)='integer' AND rbu_control!=1 ORDER BY %s%s\x00rbu_imp_\x00, _rowid_\x00INSERT INTO \"%s%w\"(%s%s) VALUES(%s)\x00DELETE FROM \"%s%w\" WHERE %s\x00, rbu_rowid\x00, 0 AS rbu_rowid\x00CREATE TABLE IF NOT EXISTS %s.'rbu_tmp_%q' AS SELECT *%s FROM '%q' WHERE 0;\x00CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(3, %s);END;CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(4, %s);END;\x00CREATE TEMP TRIGGER rbu_insert_tr AFTER INSERT ON \"%s%w\" BEGIN SELECT rbu_tmp_insert(0, %s);END;\x00,_rowid_ \x00,rbu_rowid\x000 AS \x00SELECT %s,%s rbu_control%s FROM '%q'%s %s %s %s\x00UPDATE \"%s%w\" SET %s WHERE %s\x00SELECT k, v FROM %s.rbu_state\x00file:///%s-vacuum?modeof=%s\x00ATTACH %Q AS stat\x00CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)\x00cannot vacuum wal mode database\x00&\x00file:%s-vactmp?rbu_memory=1%s%s\x00rbu_tmp_insert\x00rbu_fossil_delta\x00rbu_target_name\x00SELECT * FROM sqlite_schema\x00rbu vfs not found\x00PRAGMA main.wal_checkpoint=restart\x00rbu_exclusive_checkpoint\x00%s-oal\x00%s-wal\x00PRAGMA schema_version\x00PRAGMA schema_version = %d\x00INSERT OR REPLACE INTO %s.rbu_state(k, v) VALUES (%d, %d), (%d, %Q), (%d, %Q), (%d, %d), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %lld), (%d, %Q) \x00PRAGMA main.%s\x00PRAGMA main.%s = %d\x00PRAGMA writable_schema=1\x00SELECT sql FROM sqlite_schema WHERE sql!='' AND rootpage!=0 AND name!='sqlite_sequence' ORDER BY type DESC\x00SELECT * FROM sqlite_schema WHERE rootpage=0 OR rootpage IS NULL\x00INSERT INTO sqlite_schema VALUES(?,?,?,?,?)\x00PRAGMA writable_schema=0\x00DELETE FROM %s.'rbu_tmp_%q'\x00rbu_state mismatch error\x00rbu_vfs_%d\x00SELECT count(*) FROM sqlite_schema WHERE type='index' AND tbl_name = %Q\x00rbu_index_cnt\x00SELECT 1 FROM sqlite_schema WHERE tbl_name = 'rbu_count'\x00SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))FROM rbu_count\x00cannot update wal mode database\x00vacuum\x00update\x00database modified during rbu %s\x00BEGIN IMMEDIATE\x00PRAGMA journal_mode=off\x00-vactmp\x00DELETE FROM stat.rbu_state\x00rbu/zipvfs setup error\x00rbu(%s)/%z\x00rbu_memory\x00/\x00overflow\x00%s%.3x+%.6x\x00%s%.3x/\x00internal\x00leaf\x00corrupted\x00SELECT * FROM (SELECT 'sqlite_schema' AS name,1 AS rootpage,'table' AS type UNION ALL SELECT name,rootpage,type FROM \"%w\".sqlite_schema WHERE rootpage!=0)\x00WHERE name=%Q\x00 ORDER BY name\x00dbstat\x00SELECT 0, 'tbl', '', 0, '', 1, 0 UNION ALL SELECT 1, 'idx', '', 0, '', 2, 0 UNION ALL SELECT 2, 'stat', '', 0, '', 0, 0\x00PRAGMA '%q'.table_xinfo('%q')\x00SELECT\x00%z%s\"%w\".\"%w\".\"%w\"=\"%w\".\"%w\".\"%w\"\x00%z%s\"%w\".\"%w\".\"%w\" IS NOT \"%w\".\"%w\".\"%w\"\x00 OR \x00_rowid_, *\x00SELECT %s FROM \"%w\".\"%w\" WHERE NOT EXISTS ( SELECT 1 FROM \"%w\".\"%w\" WHERE %s)\x00%z%s\"%w\".\"%w\".\"%w\"\x00SELECT %s,%s FROM \"%w\".\"%w\", \"%w\".\"%w\" WHERE %s AND (%z)\x00SELECT * FROM %Q.sqlite_schema\x00no such table: %s.%s\x00table schemas do not match\x00, 1\x00 AND (?6 OR ?3 IS stat)\x00tbl, idx\x00?1, (CASE WHEN ?2=X'' THEN NULL ELSE ?2 END)\x00tbl, ?2, stat\x00?%d\x00 AND (?%d OR ?%d IS %w.%w)\x00SELECT %s%s FROM %Q.%Q WHERE (%s) IS (%s)\x00SAVEPOINT changeset\x00RELEASE changeset\x00UPDATE main.\x00 SET \x00 = ?\x00 WHERE \x00idx IS CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END \x00 IS ?\x00DELETE FROM main.\x00 AND (?\x00AND \x00INSERT INTO main.\x00) VALUES(?\x00, ?\x00INSERT INTO main.sqlite_stat1 VALUES(?1, CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, ?3)\x00DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END AND (?4 OR stat IS ?3)\x00SAVEPOINT replace_op\x00RELEASE replace_op\x00SAVEPOINT changeset_apply\x00PRAGMA defer_foreign_keys = 1\x00sqlite3changeset_apply(): no such table: %s\x00sqlite3changeset_apply(): table %s has %d columns, expected %d or more\x00sqlite3changeset_apply(): primary key mismatch for table %s\x00PRAGMA defer_foreign_keys = 0\x00RELEASE changeset_apply\x00ROLLBACK TO changeset_apply\x00fts5: parser stack overflow\x00fts5: syntax error near \"%.*s\"\x00%z%.*s\x00wrong number of arguments to function highlight()\x00wrong number of arguments to function snippet()\x00wrong number of arguments to function fts5_get_locale()\x00non-integer argument passed to function fts5_get_locale()\x00snippet\x00highlight\x00bm25\x00fts5_get_locale\x00prefix\x00malformed prefix=... directive\x00too many prefix indexes (max %d)\x00prefix length out of range (max 999)\x00tokenize\x00multiple tokenize=... directives\x00parse error in tokenize directive\x00content\x00multiple content=... directives\x00%Q.%Q\x00contentless_delete\x00malformed contentless_delete=... directive\x00contentless_unindexed\x00content_rowid\x00multiple content_rowid=... directives\x00columnsize\x00malformed columnsize=... directive\x00locale\x00malformed locale=... directive\x00columns\x00malformed detail=... directive\x00tokendata\x00malformed tokendata=... directive\x00unrecognized option: \"%.*s\"\x00rank\x00reserved fts5 column name: %s\x00unindexed\x00unrecognized column option: %s\x00T.%Q\x00, T.%Q\x00, T.c%d\x00, NULL\x00, T.l%d\x00reserved fts5 table name: %s\x00parse error in \"%s\"\x00contentless_delete=1 requires a contentless table\x00contentless_delete=1 is incompatible with columnsize=0\x00contentless_unindexed=1 requires a contentless table\x00docsize\x00%Q.'%q_%s'\x00CREATE TABLE x(\x00%z%s%Q\x00%z, %Q HIDDEN, %s HIDDEN)\x00pgsz\x00hashsize\x00automerge\x00usermerge\x00crisismerge\x00deletemerge\x00secure-delete\x00insttoken\x00SELECT k, v FROM %Q.'%q_config'\x00version\x00invalid fts5 file format (found %d, expected %d or %d) - run 'rebuild'\x00unterminated string\x00fts5: syntax error near \"%.1s\"\x00OR\x00NOT\x00NEAR\x00expected integer, got \"%.*s\"\x00fts5: column queries are not supported (detail=none)\x00phrase\x00fts5: %s queries are not supported (detail!=full)\x00fts5 expression tree is too large (maximum depth %d)\x00block\x00REPLACE INTO '%q'.'%q_data'(id, block) VALUES(?,?)\x00DELETE FROM '%q'.'%q_data' WHERE id>=? AND id<=?\x00DELETE FROM '%q'.'%q_idx' WHERE segid=?\x00\xff\x00\x00\x01\x00PRAGMA %Q.data_version\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term<=? ORDER BY term DESC LIMIT 1\x00SELECT pgno FROM '%q'.'%q_idx' WHERE segid=? AND term>? ORDER BY term ASC LIMIT 1\x00INSERT INTO '%q'.'%q_idx'(segid,term,pgno) VALUES(?,?,?)\x00DELETE FROM '%q'.'%q_idx' WHERE (segid, (pgno/2)) = (?1, ?2)\x00REPLACE INTO %Q.'%q_config' VALUES ('version', %d)\x00%s_data\x00id INTEGER PRIMARY KEY, block BLOB\x00segid, term, pgno, PRIMARY KEY(segid, term)\x00\x00\x00SELECT segid, term, (pgno>>1), (pgno&1) FROM %Q.'%q_idx' WHERE segid=%d ORDER BY 1, 2\x00\x00\x00\x00\x00\x00recursively defined fts5 content table\x00DESC\x00ASC\x00SELECT rowid, rank FROM %Q.%Q ORDER BY %s(\"%w\"%s%s) %s\x00reads\x00unknown special query: %.*s\x00SELECT %s\x00no such function: %s\x00parse error in rank function: %s\x00%.*s\x00%s: table does not support scanning\x00fts5: missing row %lld from content table %s\x00delete-all\x00'delete-all' may only be used with a contentless or external content fts5 table\x00rebuild\x00'rebuild' may not be used with a contentless fts5 table\x00merge\x00integrity-check\x00flush\x00%s a subset of columns on fts5 contentless-delete table: %s\x00%s contentless fts5 table: %s\x00cannot UPDATE\x00'delete' may not be used with a contentless_delete=1 table\x00cannot DELETE from contentless fts5 table: %s\x00fts5_locale() requires locale=1\x00no such cursor: %lld\x00no such tokenizer: %s\x00error in tokenizer constructor\x00fts5_api_ptr\x00fts5: 2025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3\x00config\x00malformed inverted index for FTS5 table %s.%s\x00unable to validate the inverted index for FTS5 table %s.%s: %s\x00fts5\x00fts5_source_id\x00fts5_locale\x00fts5_insttoken\x00SELECT %s FROM %s T WHERE T.%Q >= ? AND T.%Q <= ? ORDER BY T.%Q ASC\x00SELECT %s FROM %s T WHERE T.%Q <= ? AND T.%Q >= ? ORDER BY T.%Q DESC\x00SELECT %s FROM %s T WHERE T.%Q=?\x00INSERT INTO %Q.'%q_content' VALUES(%s)\x00REPLACE INTO %Q.'%q_content' VALUES(%s)\x00DELETE FROM %Q.'%q_content' WHERE id=?\x00REPLACE INTO %Q.'%q_docsize' VALUES(?,?%s)\x00DELETE FROM %Q.'%q_docsize' WHERE id=?\x00SELECT sz%s FROM %Q.'%q_docsize' WHERE id=?\x00REPLACE INTO %Q.'%q_config' VALUES(?,?)\x00SELECT %s FROM %s AS T\x00%z%s?%d\x00%z,?%d\x00,?\x00,origin\x00DROP TABLE IF EXISTS %Q.'%q_data';DROP TABLE IF EXISTS %Q.'%q_idx';DROP TABLE IF EXISTS %Q.'%q_config';\x00DROP TABLE IF EXISTS %Q.'%q_docsize';\x00DROP TABLE IF EXISTS %Q.'%q_content';\x00ALTER TABLE %Q.'%q_%s' RENAME TO '%q_%s';\x00CREATE TABLE %Q.'%q_%q'(%s)%s\x00fts5: error creating shadow table %q_%s: %s\x00id INTEGER PRIMARY KEY\x00, c%d\x00, l%d\x00id INTEGER PRIMARY KEY, sz BLOB\x00id INTEGER PRIMARY KEY, sz BLOB, origin INTEGER\x00k PRIMARY KEY, v\x00DELETE FROM %Q.'%q_data';DELETE FROM %Q.'%q_idx';\x00DELETE FROM %Q.'%q_docsize';\x00DELETE FROM %Q.'%q_content';\x00SELECT count(*) FROM %Q.'%q_%s'\x00tokenchars\x00separators\x00L* N* Co\x00categories\x00remove_diacritics\x00unicode61\x00al\x00ance\x00ence\x00er\x00ic\x00able\x00ible\x00ant\x00ement\x00ment\x00ent\x00ion\x00ou\x00ism\x00ate\x00iti\x00ous\x00ive\x00ize\x00at\x00bl\x00ble\x00iz\x00ational\x00tional\x00tion\x00enci\x00anci\x00izer\x00logi\x00bli\x00alli\x00entli\x00eli\x00e\x00ousli\x00ization\x00ation\x00ator\x00alism\x00iveness\x00fulness\x00ful\x00ousness\x00aliti\x00iviti\x00biliti\x00ical\x00ness\x00icate\x00iciti\x00ative\x00alize\x00eed\x00ee\x00ed\x00ing\x00case_sensitive\x00trigram\x00ascii\x00porter\x00col\x00row\x00instance\x00fts5vocab: unknown table type: %Q\x00CREATE TABlE vocab(term, col, doc, cnt)\x00CREATE TABlE vocab(term, doc, cnt)\x00CREATE TABlE vocab(term, doc, col, offset)\x00wrong number of vtable arguments\x00recursive definition for %s.%s\x00SELECT t.%Q FROM %Q.%Q AS t WHERE t.%Q MATCH '*id'\x00no such fts5 table: %s.%s\x00fts5vocab\x002025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3\x00"
type Sqlite3_int64 = sqlite3_int64
type Sqlite3_mutex_methods = sqlite3_mutex_methods
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_linux_amd64.go b/vendor/modernc.org/sqlite/lib/sqlite_linux_amd64.go
index e873039a3f0df..0f3932a514c59 100644
--- a/vendor/modernc.org/sqlite/lib/sqlite_linux_amd64.go
+++ b/vendor/modernc.org/sqlite/lib/sqlite_linux_amd64.go
@@ -2185,7 +2185,7 @@ const SQLITE_SHM_SHARED = 4
const SQLITE_SHM_UNLOCK = 1
const SQLITE_SORTER_PMASZ = 250
const SQLITE_SOUNDEX = 1
-const SQLITE_SOURCE_ID = "2025-07-17 13:25:10 3ce993b8657d6d9deda380a93cdd6404a8c8ba1b185b2bc423703e41ae5f2543"
+const SQLITE_SOURCE_ID = "2025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3"
const SQLITE_SO_ASC = 0
const SQLITE_SO_DESC = 1
const SQLITE_SO_UNDEFINED = -1
@@ -2296,8 +2296,8 @@ const SQLITE_UTF16LE = 2
const SQLITE_UTF16NATIVE = 2
const SQLITE_UTF16_ALIGNED = 8
const SQLITE_UTF8 = 1
-const SQLITE_VERSION = "3.50.3"
-const SQLITE_VERSION_NUMBER = 3050003
+const SQLITE_VERSION = "3.50.4"
+const SQLITE_VERSION_NUMBER = 3050004
const SQLITE_VTABRISK_High = 2
const SQLITE_VTABRISK_Low = 0
const SQLITE_VTABRISK_Normal = 1
@@ -3941,12 +3941,6 @@ type Tsqlite3_file = struct {
type sqlite3_file = Tsqlite3_file
-type Tsqlite3_file1 = struct {
- FpMethods uintptr
-}
-
-type sqlite3_file1 = Tsqlite3_file1
-
// C documentation
//
// /*
@@ -4075,30 +4069,6 @@ type Tsqlite3_io_methods = struct {
type sqlite3_io_methods = Tsqlite3_io_methods
-type Tsqlite3_io_methods1 = struct {
- FiVersion int32
- FxClose uintptr
- FxRead uintptr
- FxWrite uintptr
- FxTruncate uintptr
- FxSync uintptr
- FxFileSize uintptr
- FxLock uintptr
- FxUnlock uintptr
- FxCheckReservedLock uintptr
- FxFileControl uintptr
- FxSectorSize uintptr
- FxDeviceCharacteristics uintptr
- FxShmMap uintptr
- FxShmLock uintptr
- FxShmBarrier uintptr
- FxShmUnmap uintptr
- FxFetch uintptr
- FxUnfetch uintptr
-}
-
-type sqlite3_io_methods1 = Tsqlite3_io_methods1
-
/*
** CAPI3REF: Standard File Control Opcodes
** KEYWORDS: {file control opcodes} {file control opcode}
@@ -4986,33 +4956,6 @@ type Tsqlite3_syscall_ptr = uintptr
type sqlite3_syscall_ptr = Tsqlite3_syscall_ptr
-type Tsqlite3_vfs1 = struct {
- FiVersion int32
- FszOsFile int32
- FmxPathname int32
- FpNext uintptr
- FzName uintptr
- FpAppData uintptr
- FxOpen uintptr
- FxDelete uintptr
- FxAccess uintptr
- FxFullPathname uintptr
- FxDlOpen uintptr
- FxDlError uintptr
- FxDlSym uintptr
- FxDlClose uintptr
- FxRandomness uintptr
- FxSleep uintptr
- FxCurrentTime uintptr
- FxGetLastError uintptr
- FxCurrentTimeInt64 uintptr
- FxSetSystemCall uintptr
- FxGetSystemCall uintptr
- FxNextSystemCall uintptr
-}
-
-type sqlite3_vfs1 = Tsqlite3_vfs1
-
// C documentation
//
// /*
@@ -5091,19 +5034,6 @@ type Tsqlite3_mem_methods = struct {
type sqlite3_mem_methods = Tsqlite3_mem_methods
-type Tsqlite3_mem_methods1 = struct {
- FxMalloc uintptr
- FxFree uintptr
- FxRealloc uintptr
- FxSize uintptr
- FxRoundup uintptr
- FxInit uintptr
- FxShutdown uintptr
- FpAppData uintptr
-}
-
-type sqlite3_mem_methods1 = Tsqlite3_mem_methods1
-
// C documentation
//
// /*
@@ -5279,223 +5209,6 @@ type Tsqlite3_module = struct {
type sqlite3_module = Tsqlite3_module
-/*
-** CAPI3REF: Virtual Table Object
-** KEYWORDS: sqlite3_module {virtual table module}
-**
-** This structure, sometimes called a "virtual table module",
-** defines the implementation of a [virtual table].
-** This structure consists mostly of methods for the module.
-**
-** ^A virtual table module is created by filling in a persistent
-** instance of this structure and passing a pointer to that instance
-** to [sqlite3_create_module()] or [sqlite3_create_module_v2()].
-** ^The registration remains valid until it is replaced by a different
-** module or until the [database connection] closes. The content
-** of this structure must not change while it is registered with
-** any database connection.
- */
-type Tsqlite3_module1 = struct {
- FiVersion int32
- FxCreate uintptr
- FxConnect uintptr
- FxBestIndex uintptr
- FxDisconnect uintptr
- FxDestroy uintptr
- FxOpen uintptr
- FxClose uintptr
- FxFilter uintptr
- FxNext uintptr
- FxEof uintptr
- FxColumn uintptr
- FxRowid uintptr
- FxUpdate uintptr
- FxBegin uintptr
- FxSync uintptr
- FxCommit uintptr
- FxRollback uintptr
- FxFindFunction uintptr
- FxRename uintptr
- FxSavepoint uintptr
- FxRelease uintptr
- FxRollbackTo uintptr
- FxShadowName uintptr
- FxIntegrity uintptr
-}
-
-type sqlite3_module1 = Tsqlite3_module1
-
-/*
-** CAPI3REF: Virtual Table Indexing Information
-** KEYWORDS: sqlite3_index_info
-**
-** The sqlite3_index_info structure and its substructures is used as part
-** of the [virtual table] interface to
-** pass information into and receive the reply from the [xBestIndex]
-** method of a [virtual table module]. The fields under **Inputs** are the
-** inputs to xBestIndex and are read-only. xBestIndex inserts its
-** results into the **Outputs** fields.
-**
-** ^(The aConstraint[] array records WHERE clause constraints of the form:
-**
-** column OP expr
-**
-** where OP is =, <, <=, >, or >=.)^ ^(The particular operator is
-** stored in aConstraint[].op using one of the
-** [SQLITE_INDEX_CONSTRAINT_EQ | SQLITE_INDEX_CONSTRAINT_ values].)^
-** ^(The index of the column is stored in
-** aConstraint[].iColumn.)^ ^(aConstraint[].usable is TRUE if the
-** expr on the right-hand side can be evaluated (and thus the constraint
-** is usable) and false if it cannot.)^
-**
-** ^The optimizer automatically inverts terms of the form "expr OP column"
-** and makes other simplifications to the WHERE clause in an attempt to
-** get as many WHERE clause terms into the form shown above as possible.
-** ^The aConstraint[] array only reports WHERE clause terms that are
-** relevant to the particular virtual table being queried.
-**
-** ^Information about the ORDER BY clause is stored in aOrderBy[].
-** ^Each term of aOrderBy records a column of the ORDER BY clause.
-**
-** The colUsed field indicates which columns of the virtual table may be
-** required by the current scan. Virtual table columns are numbered from
-** zero in the order in which they appear within the CREATE TABLE statement
-** passed to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62),
-** the corresponding bit is set within the colUsed mask if the column may be
-** required by SQLite. If the table has at least 64 columns and any column
-** to the right of the first 63 is required, then bit 63 of colUsed is also
-** set. In other words, column iCol may be required if the expression
-** (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) evaluates to
-** non-zero.
-**
-** The [xBestIndex] method must fill aConstraintUsage[] with information
-** about what parameters to pass to xFilter. ^If argvIndex>0 then
-** the right-hand side of the corresponding aConstraint[] is evaluated
-** and becomes the argvIndex-th entry in argv. ^(If aConstraintUsage[].omit
-** is true, then the constraint is assumed to be fully handled by the
-** virtual table and might not be checked again by the byte code.)^ ^(The
-** aConstraintUsage[].omit flag is an optimization hint. When the omit flag
-** is left in its default setting of false, the constraint will always be
-** checked separately in byte code. If the omit flag is changed to true, then
-** the constraint may or may not be checked in byte code. In other words,
-** when the omit flag is true there is no guarantee that the constraint will
-** not be checked again using byte code.)^
-**
-** ^The idxNum and idxStr values are recorded and passed into the
-** [xFilter] method.
-** ^[sqlite3_free()] is used to free idxStr if and only if
-** needToFreeIdxStr is true.
-**
-** ^The orderByConsumed means that output from [xFilter]/[xNext] will occur in
-** the correct order to satisfy the ORDER BY clause so that no separate
-** sorting step is required.
-**
-** ^The estimatedCost value is an estimate of the cost of a particular
-** strategy. A cost of N indicates that the cost of the strategy is similar
-** to a linear scan of an SQLite table with N rows. A cost of log(N)
-** indicates that the expense of the operation is similar to that of a
-** binary search on a unique indexed field of an SQLite table with N rows.
-**
-** ^The estimatedRows value is an estimate of the number of rows that
-** will be returned by the strategy.
-**
-** The xBestIndex method may optionally populate the idxFlags field with a
-** mask of SQLITE_INDEX_SCAN_* flags. One such flag is
-** [SQLITE_INDEX_SCAN_HEX], which if set causes the [EXPLAIN QUERY PLAN]
-** output to show the idxNum as hex instead of as decimal. Another flag is
-** SQLITE_INDEX_SCAN_UNIQUE, which if set indicates that the query plan will
-** return at most one row.
-**
-** Additionally, if xBestIndex sets the SQLITE_INDEX_SCAN_UNIQUE flag, then
-** SQLite also assumes that if a call to the xUpdate() method is made as
-** part of the same statement to delete or update a virtual table row and the
-** implementation returns SQLITE_CONSTRAINT, then there is no need to rollback
-** any database changes. In other words, if the xUpdate() returns
-** SQLITE_CONSTRAINT, the database contents must be exactly as they were
-** before xUpdate was called. By contrast, if SQLITE_INDEX_SCAN_UNIQUE is not
-** set and xUpdate returns SQLITE_CONSTRAINT, any database changes made by
-** the xUpdate method are automatically rolled back by SQLite.
-**
-** IMPORTANT: The estimatedRows field was added to the sqlite3_index_info
-** structure for SQLite [version 3.8.2] ([dateof:3.8.2]).
-** If a virtual table extension is
-** used with an SQLite version earlier than 3.8.2, the results of attempting
-** to read or write the estimatedRows field are undefined (but are likely
-** to include crashing the application). The estimatedRows field should
-** therefore only be used if [sqlite3_libversion_number()] returns a
-** value greater than or equal to 3008002. Similarly, the idxFlags field
-** was added for [version 3.9.0] ([dateof:3.9.0]).
-** It may therefore only be used if
-** sqlite3_libversion_number() returns a value greater than or equal to
-** 3009000.
- */
-type Tsqlite3_index_info1 = struct {
- FnConstraint int32
- FaConstraint uintptr
- FnOrderBy int32
- FaOrderBy uintptr
- FaConstraintUsage uintptr
- FidxNum int32
- FidxStr uintptr
- FneedToFreeIdxStr int32
- ForderByConsumed int32
- FestimatedCost float64
- FestimatedRows Tsqlite3_int64
- FidxFlags int32
- FcolUsed Tsqlite3_uint64
-}
-
-type sqlite3_index_info1 = Tsqlite3_index_info1
-
-/*
-** CAPI3REF: Virtual Table Instance Object
-** KEYWORDS: sqlite3_vtab
-**
-** Every [virtual table module] implementation uses a subclass
-** of this object to describe a particular instance
-** of the [virtual table]. Each subclass will
-** be tailored to the specific needs of the module implementation.
-** The purpose of this superclass is to define certain fields that are
-** common to all module implementations.
-**
-** ^Virtual tables methods can set an error message by assigning a
-** string obtained from [sqlite3_mprintf()] to zErrMsg. The method should
-** take care that any prior string is freed by a call to [sqlite3_free()]
-** prior to assigning a new string to zErrMsg. ^After the error message
-** is delivered up to the client application, the string will be automatically
-** freed by sqlite3_free() and the zErrMsg field will be zeroed.
- */
-type Tsqlite3_vtab1 = struct {
- FpModule uintptr
- FnRef int32
- FzErrMsg uintptr
-}
-
-type sqlite3_vtab1 = Tsqlite3_vtab1
-
-/*
-** CAPI3REF: Virtual Table Cursor Object
-** KEYWORDS: sqlite3_vtab_cursor {virtual table cursor}
-**
-** Every [virtual table module] implementation uses a subclass of the
-** following structure to describe cursors that point into the
-** [virtual table] and are used
-** to loop through the virtual table. Cursors are created using the
-** [sqlite3_module.xOpen | xOpen] method of the module and are destroyed
-** by the [sqlite3_module.xClose | xClose] method. Cursors are used
-** by the [xFilter], [xNext], [xEof], [xColumn], and [xRowid] methods
-** of the module. Each module implementation will define
-** the content of a cursor structure to suit its own needs.
-**
-** This superclass exists in order to define fields of the cursor that
-** are common to all implementations.
- */
-type Tsqlite3_vtab_cursor1 = struct {
- FpVtab uintptr
-}
-
-type sqlite3_vtab_cursor1 = Tsqlite3_vtab_cursor1
-
// C documentation
//
// /*
@@ -5577,20 +5290,6 @@ type Tsqlite3_mutex_methods = struct {
type sqlite3_mutex_methods = Tsqlite3_mutex_methods
-type Tsqlite3_mutex_methods1 = struct {
- FxMutexInit uintptr
- FxMutexEnd uintptr
- FxMutexAlloc uintptr
- FxMutexFree uintptr
- FxMutexEnter uintptr
- FxMutexTry uintptr
- FxMutexLeave uintptr
- FxMutexHeld uintptr
- FxMutexNotheld uintptr
-}
-
-type sqlite3_mutex_methods1 = Tsqlite3_mutex_methods1
-
// C documentation
//
// /*
@@ -5640,13 +5339,6 @@ type Tsqlite3_pcache_page = struct {
type sqlite3_pcache_page = Tsqlite3_pcache_page
-type Tsqlite3_pcache_page1 = struct {
- FpBuf uintptr
- FpExtra uintptr
-}
-
-type sqlite3_pcache_page1 = Tsqlite3_pcache_page1
-
// C documentation
//
// /*
@@ -5826,24 +5518,6 @@ type Tsqlite3_pcache_methods2 = struct {
type sqlite3_pcache_methods2 = Tsqlite3_pcache_methods2
-type Tsqlite3_pcache_methods21 = struct {
- FiVersion int32
- FpArg uintptr
- FxInit uintptr
- FxShutdown uintptr
- FxCreate uintptr
- FxCachesize uintptr
- FxPagecount uintptr
- FxFetch uintptr
- FxUnpin uintptr
- FxRekey uintptr
- FxTruncate uintptr
- FxDestroy uintptr
- FxShrink uintptr
-}
-
-type sqlite3_pcache_methods21 = Tsqlite3_pcache_methods21
-
// C documentation
//
// /*
@@ -5867,22 +5541,6 @@ type Tsqlite3_pcache_methods = struct {
type sqlite3_pcache_methods = Tsqlite3_pcache_methods
-type Tsqlite3_pcache_methods1 = struct {
- FpArg uintptr
- FxInit uintptr
- FxShutdown uintptr
- FxCreate uintptr
- FxCachesize uintptr
- FxPagecount uintptr
- FxFetch uintptr
- FxUnpin uintptr
- FxRekey uintptr
- FxTruncate uintptr
- FxDestroy uintptr
-}
-
-type sqlite3_pcache_methods1 = Tsqlite3_pcache_methods1
-
// C documentation
//
// /*
@@ -6023,50 +5681,6 @@ type Tsqlite3_rtree_dbl = float64
type sqlite3_rtree_dbl = Tsqlite3_rtree_dbl
-/*
-** A pointer to a structure of the following type is passed as the first
-** argument to callbacks registered using rtree_geometry_callback().
- */
-type Tsqlite3_rtree_geometry1 = struct {
- FpContext uintptr
- FnParam int32
- FaParam uintptr
- FpUser uintptr
- FxDelUser uintptr
-}
-
-type sqlite3_rtree_geometry1 = Tsqlite3_rtree_geometry1
-
-/*
-** A pointer to a structure of the following type is passed as the
-** argument to scored geometry callback registered using
-** sqlite3_rtree_query_callback().
-**
-** Note that the first 5 fields of this structure are identical to
-** sqlite3_rtree_geometry. This structure is a subclass of
-** sqlite3_rtree_geometry.
- */
-type Tsqlite3_rtree_query_info1 = struct {
- FpContext uintptr
- FnParam int32
- FaParam uintptr
- FpUser uintptr
- FxDelUser uintptr
- FaCoord uintptr
- FanQueue uintptr
- FnCoord int32
- FiLevel int32
- FmxLevel int32
- FiRowid Tsqlite3_int64
- FrParentScore Tsqlite3_rtree_dbl
- FeParentWithin int32
- FeWithin int32
- FrScore Tsqlite3_rtree_dbl
- FapSqlParam uintptr
-}
-
-type sqlite3_rtree_query_info1 = Tsqlite3_rtree_query_info1
-
/*
** Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin.
*/
@@ -6463,340 +6077,6 @@ type Tfts5_extension_function = uintptr
type fts5_extension_function = Tfts5_extension_function
-type TFts5PhraseIter1 = struct {
- Fa uintptr
- Fb uintptr
-}
-
-type Fts5PhraseIter1 = TFts5PhraseIter1
-
-/*
-** EXTENSION API FUNCTIONS
-**
-** xUserData(pFts):
-** Return a copy of the pUserData pointer passed to the xCreateFunction()
-** API when the extension function was registered.
-**
-** xColumnTotalSize(pFts, iCol, pnToken):
-** If parameter iCol is less than zero, set output variable *pnToken
-** to the total number of tokens in the FTS5 table. Or, if iCol is
-** non-negative but less than the number of columns in the table, return
-** the total number of tokens in column iCol, considering all rows in
-** the FTS5 table.
-**
-** If parameter iCol is greater than or equal to the number of columns
-** in the table, SQLITE_RANGE is returned. Or, if an error occurs (e.g.
-** an OOM condition or IO error), an appropriate SQLite error code is
-** returned.
-**
-** xColumnCount(pFts):
-** Return the number of columns in the table.
-**
-** xColumnSize(pFts, iCol, pnToken):
-** If parameter iCol is less than zero, set output variable *pnToken
-** to the total number of tokens in the current row. Or, if iCol is
-** non-negative but less than the number of columns in the table, set
-** *pnToken to the number of tokens in column iCol of the current row.
-**
-** If parameter iCol is greater than or equal to the number of columns
-** in the table, SQLITE_RANGE is returned. Or, if an error occurs (e.g.
-** an OOM condition or IO error), an appropriate SQLite error code is
-** returned.
-**
-** This function may be quite inefficient if used with an FTS5 table
-** created with the "columnsize=0" option.
-**
-** xColumnText:
-** If parameter iCol is less than zero, or greater than or equal to the
-** number of columns in the table, SQLITE_RANGE is returned.
-**
-** Otherwise, this function attempts to retrieve the text of column iCol of
-** the current document. If successful, (*pz) is set to point to a buffer
-** containing the text in utf-8 encoding, (*pn) is set to the size in bytes
-** (not characters) of the buffer and SQLITE_OK is returned. Otherwise,
-** if an error occurs, an SQLite error code is returned and the final values
-** of (*pz) and (*pn) are undefined.
-**
-** xPhraseCount:
-** Returns the number of phrases in the current query expression.
-**
-** xPhraseSize:
-** If parameter iCol is less than zero, or greater than or equal to the
-** number of phrases in the current query, as returned by xPhraseCount,
-** 0 is returned. Otherwise, this function returns the number of tokens in
-** phrase iPhrase of the query. Phrases are numbered starting from zero.
-**
-** xInstCount:
-** Set *pnInst to the total number of occurrences of all phrases within
-** the query within the current row. Return SQLITE_OK if successful, or
-** an error code (i.e. SQLITE_NOMEM) if an error occurs.
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option. If the FTS5 table is created
-** with either "detail=none" or "detail=column" and "content=" option
-** (i.e. if it is a contentless table), then this API always returns 0.
-**
-** xInst:
-** Query for the details of phrase match iIdx within the current row.
-** Phrase matches are numbered starting from zero, so the iIdx argument
-** should be greater than or equal to zero and smaller than the value
-** output by xInstCount(). If iIdx is less than zero or greater than
-** or equal to the value returned by xInstCount(), SQLITE_RANGE is returned.
-**
-** Otherwise, output parameter *piPhrase is set to the phrase number, *piCol
-** to the column in which it occurs and *piOff the token offset of the
-** first token of the phrase. SQLITE_OK is returned if successful, or an
-** error code (i.e. SQLITE_NOMEM) if an error occurs.
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option.
-**
-** xRowid:
-** Returns the rowid of the current row.
-**
-** xTokenize:
-** Tokenize text using the tokenizer belonging to the FTS5 table.
-**
-** xQueryPhrase(pFts5, iPhrase, pUserData, xCallback):
-** This API function is used to query the FTS table for phrase iPhrase
-** of the current query. Specifically, a query equivalent to:
-**
-** ... FROM ftstable WHERE ftstable MATCH $p ORDER BY rowid
-**
-** with $p set to a phrase equivalent to the phrase iPhrase of the
-** current query is executed. Any column filter that applies to
-** phrase iPhrase of the current query is included in $p. For each
-** row visited, the callback function passed as the fourth argument
-** is invoked. The context and API objects passed to the callback
-** function may be used to access the properties of each matched row.
-** Invoking Api.xUserData() returns a copy of the pointer passed as
-** the third argument to pUserData.
-**
-** If parameter iPhrase is less than zero, or greater than or equal to
-** the number of phrases in the query, as returned by xPhraseCount(),
-** this function returns SQLITE_RANGE.
-**
-** If the callback function returns any value other than SQLITE_OK, the
-** query is abandoned and the xQueryPhrase function returns immediately.
-** If the returned value is SQLITE_DONE, xQueryPhrase returns SQLITE_OK.
-** Otherwise, the error code is propagated upwards.
-**
-** If the query runs to completion without incident, SQLITE_OK is returned.
-** Or, if some error occurs before the query completes or is aborted by
-** the callback, an SQLite error code is returned.
-**
-**
-** xSetAuxdata(pFts5, pAux, xDelete)
-**
-** Save the pointer passed as the second argument as the extension function's
-** "auxiliary data". The pointer may then be retrieved by the current or any
-** future invocation of the same fts5 extension function made as part of
-** the same MATCH query using the xGetAuxdata() API.
-**
-** Each extension function is allocated a single auxiliary data slot for
-** each FTS query (MATCH expression). If the extension function is invoked
-** more than once for a single FTS query, then all invocations share a
-** single auxiliary data context.
-**
-** If there is already an auxiliary data pointer when this function is
-** invoked, then it is replaced by the new pointer. If an xDelete callback
-** was specified along with the original pointer, it is invoked at this
-** point.
-**
-** The xDelete callback, if one is specified, is also invoked on the
-** auxiliary data pointer after the FTS5 query has finished.
-**
-** If an error (e.g. an OOM condition) occurs within this function,
-** the auxiliary data is set to NULL and an error code returned. If the
-** xDelete parameter was not NULL, it is invoked on the auxiliary data
-** pointer before returning.
-**
-**
-** xGetAuxdata(pFts5, bClear)
-**
-** Returns the current auxiliary data pointer for the fts5 extension
-** function. See the xSetAuxdata() method for details.
-**
-** If the bClear argument is non-zero, then the auxiliary data is cleared
-** (set to NULL) before this function returns. In this case the xDelete,
-** if any, is not invoked.
-**
-**
-** xRowCount(pFts5, pnRow)
-**
-** This function is used to retrieve the total number of rows in the table.
-** In other words, the same value that would be returned by:
-**
-** SELECT count(*) FROM ftstable;
-**
-** xPhraseFirst()
-** This function is used, along with type Fts5PhraseIter and the xPhraseNext
-** method, to iterate through all instances of a single query phrase within
-** the current row. This is the same information as is accessible via the
-** xInstCount/xInst APIs. While the xInstCount/xInst APIs are more convenient
-** to use, this API may be faster under some circumstances. To iterate
-** through instances of phrase iPhrase, use the following code:
-**
-** Fts5PhraseIter iter;
-** int iCol, iOff;
-** for(pApi->xPhraseFirst(pFts, iPhrase, &iter, &iCol, &iOff);
-** iCol>=0;
-** pApi->xPhraseNext(pFts, &iter, &iCol, &iOff)
-** ){
-** // An instance of phrase iPhrase at offset iOff of column iCol
-** }
-**
-** The Fts5PhraseIter structure is defined above. Applications should not
-** modify this structure directly - it should only be used as shown above
-** with the xPhraseFirst() and xPhraseNext() API methods (and by
-** xPhraseFirstColumn() and xPhraseNextColumn() as illustrated below).
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option. If the FTS5 table is created
-** with either "detail=none" or "detail=column" and "content=" option
-** (i.e. if it is a contentless table), then this API always iterates
-** through an empty set (all calls to xPhraseFirst() set iCol to -1).
-**
-** In all cases, matches are visited in (column ASC, offset ASC) order.
-** i.e. all those in column 0, sorted by offset, followed by those in
-** column 1, etc.
-**
-** xPhraseNext()
-** See xPhraseFirst above.
-**
-** xPhraseFirstColumn()
-** This function and xPhraseNextColumn() are similar to the xPhraseFirst()
-** and xPhraseNext() APIs described above. The difference is that instead
-** of iterating through all instances of a phrase in the current row, these
-** APIs are used to iterate through the set of columns in the current row
-** that contain one or more instances of a specified phrase. For example:
-**
-** Fts5PhraseIter iter;
-** int iCol;
-** for(pApi->xPhraseFirstColumn(pFts, iPhrase, &iter, &iCol);
-** iCol>=0;
-** pApi->xPhraseNextColumn(pFts, &iter, &iCol)
-** ){
-** // Column iCol contains at least one instance of phrase iPhrase
-** }
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" option. If the FTS5 table is created with either
-** "detail=none" "content=" option (i.e. if it is a contentless table),
-** then this API always iterates through an empty set (all calls to
-** xPhraseFirstColumn() set iCol to -1).
-**
-** The information accessed using this API and its companion
-** xPhraseFirstColumn() may also be obtained using xPhraseFirst/xPhraseNext
-** (or xInst/xInstCount). The chief advantage of this API is that it is
-** significantly more efficient than those alternatives when used with
-** "detail=column" tables.
-**
-** xPhraseNextColumn()
-** See xPhraseFirstColumn above.
-**
-** xQueryToken(pFts5, iPhrase, iToken, ppToken, pnToken)
-** This is used to access token iToken of phrase iPhrase of the current
-** query. Before returning, output parameter *ppToken is set to point
-** to a buffer containing the requested token, and *pnToken to the
-** size of this buffer in bytes.
-**
-** If iPhrase or iToken are less than zero, or if iPhrase is greater than
-** or equal to the number of phrases in the query as reported by
-** xPhraseCount(), or if iToken is equal to or greater than the number of
-** tokens in the phrase, SQLITE_RANGE is returned and *ppToken and *pnToken
-
- are both zeroed.
-
-**
-** The output text is not a copy of the query text that specified the
-** token. It is the output of the tokenizer module. For tokendata=1
-** tables, this includes any embedded 0x00 and trailing data.
-**
-** xInstToken(pFts5, iIdx, iToken, ppToken, pnToken)
-** This is used to access token iToken of phrase hit iIdx within the
-** current row. If iIdx is less than zero or greater than or equal to the
-** value returned by xInstCount(), SQLITE_RANGE is returned. Otherwise,
-** output variable (*ppToken) is set to point to a buffer containing the
-** matching document token, and (*pnToken) to the size of that buffer in
-** bytes.
-**
-** The output text is not a copy of the document text that was tokenized.
-** It is the output of the tokenizer module. For tokendata=1 tables, this
-** includes any embedded 0x00 and trailing data.
-**
-** This API may be slow in some cases if the token identified by parameters
-** iIdx and iToken matched a prefix token in the query. In most cases, the
-** first call to this API for each prefix token in the query is forced
-** to scan the portion of the full-text index that matches the prefix
-** token to collect the extra data required by this API. If the prefix
-** token matches a large number of token instances in the document set,
-** this may be a performance problem.
-**
-** If the user knows in advance that a query may use this API for a
-** prefix token, FTS5 may be configured to collect all required data as part
-** of the initial querying of the full-text index, avoiding the second scan
-** entirely. This also causes prefix queries that do not use this API to
-** run more slowly and use more memory. FTS5 may be configured in this way
-** either on a per-table basis using the [FTS5 insttoken | 'insttoken']
-** option, or on a per-query basis using the
-** [fts5_insttoken | fts5_insttoken()] user function.
-**
-** This API can be quite slow if used with an FTS5 table created with the
-** "detail=none" or "detail=column" option.
-**
-** xColumnLocale(pFts5, iIdx, pzLocale, pnLocale)
-** If parameter iCol is less than zero, or greater than or equal to the
-** number of columns in the table, SQLITE_RANGE is returned.
-**
-** Otherwise, this function attempts to retrieve the locale associated
-** with column iCol of the current row. Usually, there is no associated
-** locale, and output parameters (*pzLocale) and (*pnLocale) are set
-** to NULL and 0, respectively. However, if the fts5_locale() function
-** was used to associate a locale with the value when it was inserted
-** into the fts5 table, then (*pzLocale) is set to point to a nul-terminated
-** buffer containing the name of the locale in utf-8 encoding. (*pnLocale)
-** is set to the size in bytes of the buffer, not including the
-** nul-terminator.
-**
-** If successful, SQLITE_OK is returned. Or, if an error occurs, an
-** SQLite error code is returned. The final value of the output parameters
-** is undefined in this case.
-**
-** xTokenize_v2:
-** Tokenize text using the tokenizer belonging to the FTS5 table. This
-** API is the same as the xTokenize() API, except that it allows a tokenizer
-** locale to be specified.
-*/
-type TFts5ExtensionApi1 = struct {
- FiVersion int32
- FxUserData uintptr
- FxColumnCount uintptr
- FxRowCount uintptr
- FxColumnTotalSize uintptr
- FxTokenize uintptr
- FxPhraseCount uintptr
- FxPhraseSize uintptr
- FxInstCount uintptr
- FxInst uintptr
- FxRowid uintptr
- FxColumnText uintptr
- FxColumnSize uintptr
- FxQueryPhrase uintptr
- FxSetAuxdata uintptr
- FxGetAuxdata uintptr
- FxPhraseFirst uintptr
- FxPhraseNext uintptr
- FxPhraseFirstColumn uintptr
- FxPhraseNextColumn uintptr
- FxQueryToken uintptr
- FxInstToken uintptr
- FxColumnLocale uintptr
- FxTokenize_v2 uintptr
-}
-
-type Fts5ExtensionApi1 = TFts5ExtensionApi1
-
type Tfts5_tokenizer_v2 = struct {
FiVersion int32
FxCreate uintptr
@@ -6806,15 +6086,6 @@ type Tfts5_tokenizer_v2 = struct {
type fts5_tokenizer_v2 = Tfts5_tokenizer_v2
-type Tfts5_tokenizer_v21 = struct {
- FiVersion int32
- FxCreate uintptr
- FxDelete uintptr
- FxTokenize uintptr
-}
-
-type fts5_tokenizer_v21 = Tfts5_tokenizer_v21
-
// C documentation
//
// /*
@@ -6830,14 +6101,6 @@ type Tfts5_tokenizer = struct {
type fts5_tokenizer = Tfts5_tokenizer
-type Tfts5_tokenizer1 = struct {
- FxCreate uintptr
- FxDelete uintptr
- FxTokenize uintptr
-}
-
-type fts5_tokenizer1 = Tfts5_tokenizer1
-
/* Flags that may be passed as the third argument to xTokenize() */
/* Flags that may be passed by the tokenizer implementation back to FTS5
@@ -6863,17 +6126,6 @@ type Tfts5_api = struct {
type fts5_api = Tfts5_api
-type Tfts5_api1 = struct {
- FiVersion int32
- FxCreateTokenizer uintptr
- FxFindTokenizer uintptr
- FxCreateFunction uintptr
- FxCreateTokenizer_v2 uintptr
- FxFindTokenizer_v2 uintptr
-}
-
-type fts5_api1 = Tfts5_api1
-
/*
** END OF REGISTRATION API
*************************************************************************/
@@ -7317,52 +6569,6 @@ type THashElem = struct {
type HashElem = THashElem
-/* A complete hash table is an instance of the following structure.
-** The internals of this structure are intended to be opaque -- client
-** code should not attempt to access or modify the fields of this structure
-** directly. Change this structure only by using the routines below.
-** However, some of the "procedures" and "functions" for modifying and
-** accessing this structure are really macros, so we can't really make
-** this structure opaque.
-**
-** All elements of the hash table are on a single doubly-linked list.
-** Hash.first points to the head of this list.
-**
-** There are Hash.htsize buckets. Each bucket points to a spot in
-** the global doubly-linked list. The contents of the bucket are the
-** element pointed to plus the next _ht.count-1 elements in the list.
-**
-** Hash.htsize and Hash.ht may be zero. In that case lookup is done
-** by a linear search of the global list. For small tables, the
-** Hash.ht table is never allocated because if there are few elements
-** in the table, it is faster to do a linear search than to manage
-** the hash table.
- */
-type THash1 = struct {
- Fhtsize uint32
- Fcount uint32
- Ffirst uintptr
- Fht uintptr
-}
-
-type Hash1 = THash1
-
-/* Each element in the hash table is an instance of the following
-** structure. All elements are stored on a single doubly-linked list.
-**
-** Again, this structure is intended to be opaque, but it can't really
-** be opaque because it is used by macros.
- */
-type THashElem1 = struct {
- Fnext uintptr
- Fprev uintptr
- Fdata uintptr
- FpKey uintptr
- Fh uint32
-}
-
-type HashElem1 = THashElem1
-
type Tsize_t = uint64
type size_t = Tsize_t
@@ -7692,14 +6898,6 @@ type TBusyHandler = struct {
type BusyHandler = TBusyHandler
-type TBusyHandler1 = struct {
- FxBusyHandler uintptr
- FpBusyArg uintptr
- FnBusy int32
-}
-
-type BusyHandler1 = TBusyHandler1
-
/*
** Name of table that holds the database schema.
**
@@ -7944,6 +7142,7 @@ type TExpr = struct {
FpAggInfo uintptr
Fy struct {
FpWin [0]uintptr
+ FnReg [0]int32
Fsub [0]struct {
FiAddr int32
FregReturn int32
@@ -8431,10 +7630,6 @@ type TStrAccum = struct {
type StrAccum = TStrAccum
-type Tsqlite3_str1 = TStrAccum
-
-type sqlite3_str1 = Tsqlite3_str1
-
/* Internal alias for sqlite3_str */
type TTable = struct {
FzName uintptr
@@ -8863,9 +8058,9 @@ type DbPage = TDbPage
// /*
// ** Handle type for pages.
// */
-type TPgHdr2 = TDbPage
+type TPgHdr = TDbPage
-type PgHdr2 = TPgHdr2
+type PgHdr = TPgHdr
/* Functions to support testing and debugging. */
@@ -8992,53 +8187,6 @@ type TBtreePayload = struct {
type BtreePayload = TBtreePayload
-/* Allowed flags for sqlite3BtreeDelete() and sqlite3BtreeInsert() */
-
-/* An instance of the BtreePayload object describes the content of a single
-** entry in either an index or table btree.
-**
-** Index btrees (used for indexes and also WITHOUT ROWID tables) contain
-** an arbitrary key and no data. These btrees have pKey,nKey set to the
-** key and the pData,nData,nZero fields are uninitialized. The aMem,nMem
-** fields give an array of Mem objects that are a decomposition of the key.
-** The nMem field might be zero, indicating that no decomposition is available.
-**
-** Table btrees (used for rowid tables) contain an integer rowid used as
-** the key and passed in the nKey field. The pKey field is zero.
-** pData,nData hold the content of the new entry. nZero extra zero bytes
-** are appended to the end of the content when constructing the entry.
-** The aMem,nMem fields are uninitialized for table btrees.
-**
-** Field usage summary:
-**
-** Table BTrees Index Btrees
-**
-** pKey always NULL encoded key
-** nKey the ROWID length of pKey
-** pData data not used
-** aMem not used decomposed key value
-** nMem not used entries in aMem
-** nData length of pData not used
-** nZero extra zeros after pData not used
-**
-** This object is used to pass information into sqlite3BtreeInsert(). The
-** same information used to be passed as five separate parameters. But placing
-** the information into this object helps to keep the interface more
-** organized and understandable, and it also helps the resulting code to
-** run a little faster by using fewer registers for parameter passing.
- */
-type TBtreePayload1 = struct {
- FpKey uintptr
- FnKey Tsqlite3_int64
- FpData uintptr
- FaMem uintptr
- FnMem Tu16
- FnData int32
- FnZero int32
-}
-
-type BtreePayload1 = TBtreePayload1
-
/************** End of btree.h ***********************************************/
/************** Continuing where we left off in sqliteInt.h ******************/
/************** Include vdbe.h in the middle of sqliteInt.h ******************/
@@ -9142,16 +8290,6 @@ type TMem = struct {
type Mem = TMem
-// C documentation
-//
-// /*
-// ** The names of the following types declared in vdbeInt.h are required
-// ** for the VdbeOp definition.
-// */
-type Tsqlite3_value1 = TMem
-
-type sqlite3_value1 = Tsqlite3_value1
-
type TSubProgram = struct {
FaOp uintptr
FnOp int32
@@ -9175,38 +8313,11 @@ type TSubrtnSig = struct {
type SubrtnSig = TSubrtnSig
-/*
-** A signature for a reusable subroutine that materializes the RHS of
-** an IN operator.
- */
-type TSubrtnSig1 = struct {
- FselId int32
- FbComplete Tu8
- FzAff uintptr
- FiTable int32
- FiAddr int32
- FregReturn int32
-}
-
-type SubrtnSig1 = TSubrtnSig1
-
/*
** A single instruction of the virtual machine has an opcode
** and as many as three operands. The instruction is recorded
** as an instance of the following structure:
*/
-type TVdbeOp1 = struct {
- Fopcode Tu8
- Fp4type int8
- Fp5 Tu16
- Fp1 int32
- Fp2 int32
- Fp3 int32
- Fp4 Tp4union
-}
-
-type VdbeOp1 = TVdbeOp1
-
type TVdbeOp = struct {
Fopcode Tu8
Fp4type int8
@@ -9219,34 +8330,10 @@ type TVdbeOp = struct {
type VdbeOp = TVdbeOp
-/*
-** A sub-routine used to implement a trigger program.
- */
-type TSubProgram1 = struct {
- FaOp uintptr
- FnOp int32
- FnMem int32
- FnCsr int32
- FaOnce uintptr
- Ftoken uintptr
- FpNext uintptr
-}
-
-type SubProgram1 = TSubProgram1
-
/*
** A smaller version of VdbeOp used for the VdbeAddOpList() function because
** it takes up less space.
*/
-type TVdbeOpList1 = struct {
- Fopcode Tu8
- Fp1 int8
- Fp2 int8
- Fp3 int8
-}
-
-type VdbeOpList1 = TVdbeOpList1
-
type TVdbeOpList = struct {
Fopcode Tu8
Fp1 int8
@@ -9260,90 +8347,6 @@ type TRecordCompare = uintptr
type RecordCompare = TRecordCompare
-/* Use SQLITE_ENABLE_EXPLAIN_COMMENTS to enable generation of extra
-** comments on each VDBE opcode.
-**
-** Use the SQLITE_ENABLE_MODULE_COMMENTS macro to see some extra no-op
-** comments in VDBE programs that show key decision points in the code
-** generator.
- */
-
-/*
-** The VdbeCoverage macros are used to set a coverage testing point
-** for VDBE branch instructions. The coverage testing points are line
-** numbers in the sqlite3.c source file. VDBE branch coverage testing
-** only works with an amalgamation build. That's ok since a VDBE branch
-** coverage build designed for testing the test suite only. No application
-** should ever ship with VDBE branch coverage measuring turned on.
-**
-** VdbeCoverage(v) // Mark the previously coded instruction
-** // as a branch
-**
-** VdbeCoverageIf(v, conditional) // Mark previous if conditional true
-**
-** VdbeCoverageAlwaysTaken(v) // Previous branch is always taken
-**
-** VdbeCoverageNeverTaken(v) // Previous branch is never taken
-**
-** VdbeCoverageNeverNull(v) // Previous three-way branch is only
-** // taken on the first two ways. The
-** // NULL option is not possible
-**
-** VdbeCoverageEqNe(v) // Previous OP_Jump is only interested
-** // in distinguishing equal and not-equal.
-**
-** Every VDBE branch operation must be tagged with one of the macros above.
-** If not, then when "make test" is run with -DSQLITE_VDBE_COVERAGE and
-** -DSQLITE_DEBUG then an ALWAYS() will fail in the vdbeTakeBranch()
-** routine in vdbe.c, alerting the developer to the missed tag.
-**
-** During testing, the test application will invoke
-** sqlite3_test_control(SQLITE_TESTCTRL_VDBE_COVERAGE,...) to set a callback
-** routine that is invoked as each bytecode branch is taken. The callback
-** contains the sqlite3.c source line number of the VdbeCoverage macro and
-** flags to indicate whether or not the branch was taken. The test application
-** is responsible for keeping track of this and reporting byte-code branches
-** that are never taken.
-**
-** See the VdbeBranchTaken() macro and vdbeTakeBranch() function in the
-** vdbe.c source file for additional information.
- */
-
-/************** End of vdbe.h ************************************************/
-/************** Continuing where we left off in sqliteInt.h ******************/
-/************** Include pcache.h in the middle of sqliteInt.h ****************/
-/************** Begin file pcache.h ******************************************/
-/*
-** 2008 August 05
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This header file defines the interface that the sqlite page cache
-** subsystem.
- */
-
-type TPgHdr = struct {
- FpPage uintptr
- FpData uintptr
- FpExtra uintptr
- FpCache uintptr
- FpDirty uintptr
- FpPager uintptr
- Fpgno TPgno
- Fflags Tu16
- FnRef Ti64
- FpDirtyNext uintptr
- FpDirtyPrev uintptr
-}
-
-type PgHdr = TPgHdr
-
type TPCache = struct {
FpDirty uintptr
FpDirtyTail uintptr
@@ -9362,187 +8365,6 @@ type TPCache = struct {
type PCache = TPCache
-/************** End of mutex.h ***********************************************/
-/************** Continuing where we left off in sqliteInt.h ******************/
-
-/* The SQLITE_EXTRA_DURABLE compile-time option used to set the default
-** synchronous setting to EXTRA. It is no longer supported.
- */
-
-/*
-** Default synchronous levels.
-**
-** Note that (for historical reasons) the PAGER_SYNCHRONOUS_* macros differ
-** from the SQLITE_DEFAULT_SYNCHRONOUS value by 1.
-**
-** PAGER_SYNCHRONOUS DEFAULT_SYNCHRONOUS
-** OFF 1 0
-** NORMAL 2 1
-** FULL 3 2
-** EXTRA 4 3
-**
-** The "PRAGMA synchronous" statement also uses the zero-based numbers.
-** In other words, the zero-based numbers are used for all external interfaces
-** and the one-based values are used internally.
- */
-
-/*
-** Each database file to be accessed by the system is an instance
-** of the following structure. There are normally two of these structures
-** in the sqlite.aDb[] array. aDb[0] is the main database file and
-** aDb[1] is the database file used to hold temporary tables. Additional
-** databases may be attached.
- */
-type TDb1 = struct {
- FzDbSName uintptr
- FpBt uintptr
- Fsafety_level Tu8
- FbSyncSet Tu8
- FpSchema uintptr
-}
-
-type Db1 = TDb1
-
-/*
-** An instance of the following structure stores a database schema.
-**
-** Most Schema objects are associated with a Btree. The exception is
-** the Schema for the TEMP database (sqlite3.aDb[1]) which is free-standing.
-** In shared cache mode, a single Schema object can be shared by multiple
-** Btrees that refer to the same underlying BtShared object.
-**
-** Schema objects are automatically deallocated when the last Btree that
-** references them is destroyed. The TEMP Schema is manually freed by
-** sqlite3_close().
-*
-** A thread must be holding a mutex on the corresponding Btree in order
-** to access Schema content. This implies that the thread must also be
-** holding a mutex on the sqlite3 connection pointer that owns the Btree.
-** For a TEMP Schema, only the connection mutex is required.
- */
-type TSchema1 = struct {
- Fschema_cookie int32
- FiGeneration int32
- FtblHash THash
- FidxHash THash
- FtrigHash THash
- FfkeyHash THash
- FpSeqTab uintptr
- Ffile_format Tu8
- Fenc Tu8
- FschemaFlags Tu16
- Fcache_size int32
-}
-
-type Schema1 = TSchema1
-
-/*
-** These macros can be used to test, set, or clear bits in the
-** Db.pSchema->flags field.
- */
-
-/*
-** Allowed values for the DB.pSchema->flags field.
-**
-** The DB_SchemaLoaded flag is set after the database schema has been
-** read into internal hash tables.
-**
-** DB_UnresetViews means that one or more views have column names that
-** have been filled out. If the schema changes, these column names might
-** changes and so the view will need to be reset.
- */
-
-/*
-** The number of different kinds of things that can be limited
-** using the sqlite3_limit() interface.
- */
-
-/*
-** Lookaside malloc is a set of fixed-size buffers that can be used
-** to satisfy small transient memory allocation requests for objects
-** associated with a particular database connection. The use of
-** lookaside malloc provides a significant performance enhancement
-** (approx 10%) by avoiding numerous malloc/free requests while parsing
-** SQL statements.
-**
-** The Lookaside structure holds configuration information about the
-** lookaside malloc subsystem. Each available memory allocation in
-** the lookaside subsystem is stored on a linked list of LookasideSlot
-** objects.
-**
-** Lookaside allocations are only allowed for objects that are associated
-** with a particular database connection. Hence, schema information cannot
-** be stored in lookaside because in shared cache mode the schema information
-** is shared by multiple database connections. Therefore, while parsing
-** schema information, the Lookaside.bEnabled flag is cleared so that
-** lookaside allocations are not used to construct the schema objects.
-**
-** New lookaside allocations are only allowed if bDisable==0. When
-** bDisable is greater than zero, sz is set to zero which effectively
-** disables lookaside without adding a new test for the bDisable flag
-** in a performance-critical path. sz should be set by to szTrue whenever
-** bDisable changes back to zero.
-**
-** Lookaside buffers are initially held on the pInit list. As they are
-** used and freed, they are added back to the pFree list. New allocations
-** come off of pFree first, then pInit as a fallback. This dual-list
-** allows use to compute a high-water mark - the maximum number of allocations
-** outstanding at any point in the past - by subtracting the number of
-** allocations on the pInit list from the total number of allocations.
-**
-** Enhancement on 2019-12-12: Two-size-lookaside
-** The default lookaside configuration is 100 slots of 1200 bytes each.
-** The larger slot sizes are important for performance, but they waste
-** a lot of space, as most lookaside allocations are less than 128 bytes.
-** The two-size-lookaside enhancement breaks up the lookaside allocation
-** into two pools: One of 128-byte slots and the other of the default size
-** (1200-byte) slots. Allocations are filled from the small-pool first,
-** failing over to the full-size pool if that does not work. Thus more
-** lookaside slots are available while also using less memory.
-** This enhancement can be omitted by compiling with
-** SQLITE_OMIT_TWOSIZE_LOOKASIDE.
- */
-type TLookaside1 = struct {
- FbDisable Tu32
- Fsz Tu16
- FszTrue Tu16
- FbMalloced Tu8
- FnSlot Tu32
- FanStat [3]Tu32
- FpInit uintptr
- FpFree uintptr
- FpSmallInit uintptr
- FpSmallFree uintptr
- FpMiddle uintptr
- FpStart uintptr
- FpEnd uintptr
- FpTrueEnd uintptr
-}
-
-type Lookaside1 = TLookaside1
-
-type TLookasideSlot1 = struct {
- FpNext uintptr
-}
-
-type LookasideSlot1 = TLookasideSlot1
-
-/* Size of the smaller allocations in two-size lookaside */
-
-/*
-** A hash table for built-in function definitions. (Application-defined
-** functions use a regular table table from hash.h.)
-**
-** Hash each FuncDef structure into one of the FuncDefHash.a[] slots.
-** Collisions are on the FuncDef.u.pHash chain. Use the SQLITE_FUNC_HASH()
-** macro to compute a hash on the function name.
- */
-type TFuncDefHash1 = struct {
- Fa [23]uintptr
-}
-
-type FuncDefHash1 = TFuncDefHash1
-
// C documentation
//
// /*
@@ -9552,917 +8374,6 @@ type Tsqlite3_xauth = uintptr
type sqlite3_xauth = Tsqlite3_xauth
-/* This is an extra SQLITE_TRACE macro that indicates "legacy" tracing
-** in the style of sqlite3_trace()
- */
-
-/*
-** Maximum number of sqlite3.aDb[] entries. This is the number of attached
-** databases plus 2 for "main" and "temp".
- */
-
-/*
-** Each database connection is an instance of the following structure.
- */
-type Tsqlite31 = struct {
- FpVfs uintptr
- FpVdbe uintptr
- FpDfltColl uintptr
- Fmutex uintptr
- FaDb uintptr
- FnDb int32
- FmDbFlags Tu32
- Fflags Tu64
- FlastRowid Ti64
- FszMmap Ti64
- FnSchemaLock Tu32
- FopenFlags uint32
- FerrCode int32
- FerrByteOffset int32
- FerrMask int32
- FiSysErrno int32
- FdbOptFlags Tu32
- Fenc Tu8
- FautoCommit Tu8
- Ftemp_store Tu8
- FmallocFailed Tu8
- FbBenignMalloc Tu8
- FdfltLockMode Tu8
- FnextAutovac int8
- FsuppressErr Tu8
- FvtabOnConflict Tu8
- FisTransactionSavepoint Tu8
- FmTrace Tu8
- FnoSharedCache Tu8
- FnSqlExec Tu8
- FeOpenState Tu8
- FnextPagesize int32
- FnChange Ti64
- FnTotalChange Ti64
- FaLimit [12]int32
- FnMaxSorterMmap int32
- Finit1 Tsqlite3InitInfo
- FnVdbeActive int32
- FnVdbeRead int32
- FnVdbeWrite int32
- FnVdbeExec int32
- FnVDestroy int32
- FnExtension int32
- FaExtension uintptr
- Ftrace struct {
- FxV2 [0]uintptr
- FxLegacy uintptr
- }
- FpTraceArg uintptr
- FxProfile uintptr
- FpProfileArg uintptr
- FpCommitArg uintptr
- FxCommitCallback uintptr
- FpRollbackArg uintptr
- FxRollbackCallback uintptr
- FpUpdateArg uintptr
- FxUpdateCallback uintptr
- FpAutovacPagesArg uintptr
- FxAutovacDestr uintptr
- FxAutovacPages uintptr
- FpParse uintptr
- FpPreUpdateArg uintptr
- FxPreUpdateCallback uintptr
- FpPreUpdate uintptr
- FxWalCallback uintptr
- FpWalArg uintptr
- FxCollNeeded uintptr
- FxCollNeeded16 uintptr
- FpCollNeededArg uintptr
- FpErr uintptr
- Fu1 struct {
- FnotUsed1 [0]float64
- FisInterrupted int32
- F__ccgo_pad2 [4]byte
- }
- Flookaside TLookaside
- FxAuth Tsqlite3_xauth
- FpAuthArg uintptr
- FxProgress uintptr
- FpProgressArg uintptr
- FnProgressOps uint32
- FnVTrans int32
- FaModule THash
- FpVtabCtx uintptr
- FaVTrans uintptr
- FpDisconnect uintptr
- FaFunc THash
- FaCollSeq THash
- FbusyHandler TBusyHandler
- FaDbStatic [2]TDb
- FpSavepoint uintptr
- FnAnalysisLimit int32
- FbusyTimeout int32
- FnSavepoint int32
- FnStatement int32
- FnDeferredCons Ti64
- FnDeferredImmCons Ti64
- FpnBytesFreed uintptr
- FpDbData uintptr
- FpBlockingConnection uintptr
- FpUnlockConnection uintptr
- FpUnlockArg uintptr
- FxUnlockNotify uintptr
- FpNextBlocked uintptr
-}
-
-type sqlite31 = Tsqlite31
-
-/*
-** A macro to discover the encoding of a database.
- */
-
-/*
-** A u64 constant where the lower 32 bits are all zeros. Only the
-** upper 32 bits are included in the argument. Necessary because some
-** C-compilers still do not accept LL integer literals.
- */
-
-/*
-** Possible values for the sqlite3.flags.
-**
-** Value constraints (enforced via assert()):
-** SQLITE_FullFSync == PAGER_FULLFSYNC
-** SQLITE_CkptFullFSync == PAGER_CKPT_FULLFSYNC
-** SQLITE_CacheSpill == PAGER_CACHE_SPILL
- */
-/* result set is empty */
-/* DELETE, or UPDATE and return */
-/* the count using a callback. */
-
-/* Flags used only if debugging */
-
-/*
-** Allowed values for sqlite3.mDbFlags
- */
-
-/*
-** Bits of the sqlite3.dbOptFlags field that are used by the
-** sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS,...) interface to
-** selectively disable various optimizations.
- */
-/* TH3 expects this value ^^^^^^^^^^ to be 0x0000800. Don't change it */
-/* TH3 expects this value ^^^^^^^^^^ to be 0x40000. Coordinate any change */
-/* TH3 expects this value ^^^^^^^^^^ See flatten04.test */
-
-/*
-** Macros for testing whether or not optimizations are enabled or disabled.
- */
-
-/*
-** Return true if it OK to factor constant expressions into the initialization
-** code. The argument is a Parse object for the code generator.
- */
-
-/* Possible values for the sqlite3.eOpenState field.
-** The numbers are randomly selected such that a minimum of three bits must
-** change to convert any number to another or to zero
- */
-
-/*
-** Each SQL function is defined by an instance of the following
-** structure. For global built-in functions (ex: substr(), max(), count())
-** a pointer to this structure is held in the sqlite3BuiltinFunctions object.
-** For per-connection application-defined functions, a pointer to this
-** structure is held in the db->aHash hash table.
-**
-** The u.pHash field is used by the global built-ins. The u.pDestructor
-** field is used by per-connection app-def functions.
- */
-type TFuncDef1 = struct {
- FnArg Ti16
- FfuncFlags Tu32
- FpUserData uintptr
- FpNext uintptr
- FxSFunc uintptr
- FxFinalize uintptr
- FxValue uintptr
- FxInverse uintptr
- FzName uintptr
- Fu struct {
- FpDestructor [0]uintptr
- FpHash uintptr
- }
-}
-
-type FuncDef1 = TFuncDef1
-
-/*
-** This structure encapsulates a user-function destructor callback (as
-** configured using create_function_v2()) and a reference counter. When
-** create_function_v2() is called to create a function with a destructor,
-** a single object of this type is allocated. FuncDestructor.nRef is set to
-** the number of FuncDef objects created (either 1 or 3, depending on whether
-** or not the specified encoding is SQLITE_ANY). The FuncDef.pDestructor
-** member of each of the new FuncDef objects is set to point to the allocated
-** FuncDestructor.
-**
-** Thereafter, when one of the FuncDef objects is deleted, the reference
-** count on this object is decremented. When it reaches 0, the destructor
-** is invoked and the FuncDestructor structure freed.
- */
-type TFuncDestructor1 = struct {
- FnRef int32
- FxDestroy uintptr
- FpUserData uintptr
-}
-
-type FuncDestructor1 = TFuncDestructor1
-
-/*
-** Possible values for FuncDef.flags. Note that the _LENGTH and _TYPEOF
-** values must correspond to OPFLAG_LENGTHARG and OPFLAG_TYPEOFARG. And
-** SQLITE_FUNC_CONSTANT must be the same as SQLITE_DETERMINISTIC. There
-** are assert() statements in the code to verify this.
-**
-** Value constraints (enforced via assert()):
-** SQLITE_FUNC_MINMAX == NC_MinMaxAgg == SF_MinMaxAgg
-** SQLITE_FUNC_ANYORDER == NC_OrderAgg == SF_OrderByReqd
-** SQLITE_FUNC_LENGTH == OPFLAG_LENGTHARG
-** SQLITE_FUNC_TYPEOF == OPFLAG_TYPEOFARG
-** SQLITE_FUNC_BYTELEN == OPFLAG_BYTELENARG
-** SQLITE_FUNC_CONSTANT == SQLITE_DETERMINISTIC from the API
-** SQLITE_FUNC_DIRECT == SQLITE_DIRECTONLY from the API
-** SQLITE_FUNC_UNSAFE == SQLITE_INNOCUOUS -- opposite meanings!!!
-** SQLITE_FUNC_ENCMASK depends on SQLITE_UTF* macros in the API
-**
-** Note that even though SQLITE_FUNC_UNSAFE and SQLITE_INNOCUOUS have the
-** same bit value, their meanings are inverted. SQLITE_FUNC_UNSAFE is
-** used internally and if set means that the function has side effects.
-** SQLITE_INNOCUOUS is used by application code and means "not unsafe".
-** See multiple instances of tag-20230109-1.
- */
-/* 0x0200 -- available for reuse */
-/* SQLITE_SUBTYPE 0x00100000 // Consumer of subtypes */
-/* SQLITE_RESULT_SUBTYPE 0x01000000 // Generator of subtypes */
-
-/* Identifier numbers for each in-line function */
-
-/*
-** The following three macros, FUNCTION(), LIKEFUNC() and AGGREGATE() are
-** used to create the initializers for the FuncDef structures.
-**
-** FUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Used to create a scalar function definition of a function zName
-** implemented by C function xFunc that accepts nArg arguments. The
-** value passed as iArg is cast to a (void*) and made available
-** as the user-data (sqlite3_user_data()) for the function. If
-** argument bNC is true, then the SQLITE_FUNC_NEEDCOLL flag is set.
-**
-** VFUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Like FUNCTION except it omits the SQLITE_FUNC_CONSTANT flag.
-**
-** SFUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Like FUNCTION except it omits the SQLITE_FUNC_CONSTANT flag and
-** adds the SQLITE_DIRECTONLY flag.
-**
-** INLINE_FUNC(zName, nArg, iFuncId, mFlags)
-** zName is the name of a function that is implemented by in-line
-** byte code rather than by the usual callbacks. The iFuncId
-** parameter determines the function id. The mFlags parameter is
-** optional SQLITE_FUNC_ flags for this function.
-**
-** TEST_FUNC(zName, nArg, iFuncId, mFlags)
-** zName is the name of a test-only function implemented by in-line
-** byte code rather than by the usual callbacks. The iFuncId
-** parameter determines the function id. The mFlags parameter is
-** optional SQLITE_FUNC_ flags for this function.
-**
-** DFUNCTION(zName, nArg, iArg, bNC, xFunc)
-** Like FUNCTION except it omits the SQLITE_FUNC_CONSTANT flag and
-** adds the SQLITE_FUNC_SLOCHNG flag. Used for date & time functions
-** and functions like sqlite_version() that can change, but not during
-** a single query. The iArg is ignored. The user-data is always set
-** to a NULL pointer. The bNC parameter is not used.
-**
-** MFUNCTION(zName, nArg, xPtr, xFunc)
-** For math-library functions. xPtr is an arbitrary pointer.
-**
-** PURE_DATE(zName, nArg, iArg, bNC, xFunc)
-** Used for "pure" date/time functions, this macro is like DFUNCTION
-** except that it does set the SQLITE_FUNC_CONSTANT flags. iArg is
-** ignored and the user-data for these functions is set to an
-** arbitrary non-NULL pointer. The bNC parameter is not used.
-**
-** AGGREGATE(zName, nArg, iArg, bNC, xStep, xFinal)
-** Used to create an aggregate function definition implemented by
-** the C functions xStep and xFinal. The first four parameters
-** are interpreted in the same way as the first 4 parameters to
-** FUNCTION().
-**
-** WAGGREGATE(zName, nArg, iArg, xStep, xFinal, xValue, xInverse)
-** Used to create an aggregate function definition implemented by
-** the C functions xStep and xFinal. The first four parameters
-** are interpreted in the same way as the first 4 parameters to
-** FUNCTION().
-**
-** LIKEFUNC(zName, nArg, pArg, flags)
-** Used to create a scalar function definition of a function zName
-** that accepts nArg arguments and is implemented by a call to C
-** function likeFunc. Argument pArg is cast to a (void *) and made
-** available as the function user-data (sqlite3_user_data()). The
-** FuncDef.flags variable is set to the value passed as the flags
-** parameter.
- */
-
-/*
-** All current savepoints are stored in a linked list starting at
-** sqlite3.pSavepoint. The first element in the list is the most recently
-** opened savepoint. Savepoints are added to the list by the vdbe
-** OP_Savepoint instruction.
- */
-type TSavepoint1 = struct {
- FzName uintptr
- FnDeferredCons Ti64
- FnDeferredImmCons Ti64
- FpNext uintptr
-}
-
-type Savepoint1 = TSavepoint1
-
-/*
-** The following are used as the second parameter to sqlite3Savepoint(),
-** and as the P1 argument to the OP_Savepoint instruction.
- */
-
-/*
-** Each SQLite module (virtual table definition) is defined by an
-** instance of the following structure, stored in the sqlite3.aModule
-** hash table.
- */
-type TModule1 = struct {
- FpModule uintptr
- FzName uintptr
- FnRefModule int32
- FpAux uintptr
- FxDestroy uintptr
- FpEpoTab uintptr
-}
-
-type Module1 = TModule1
-
-/*
-** Information about each column of an SQL table is held in an instance
-** of the Column structure, in the Table.aCol[] array.
-**
-** Definitions:
-**
-** "table column index" This is the index of the column in the
-** Table.aCol[] array, and also the index of
-** the column in the original CREATE TABLE stmt.
-**
-** "storage column index" This is the index of the column in the
-** record BLOB generated by the OP_MakeRecord
-** opcode. The storage column index is less than
-** or equal to the table column index. It is
-** equal if and only if there are no VIRTUAL
-** columns to the left.
-**
-** Notes on zCnName:
-** The zCnName field stores the name of the column, the datatype of the
-** column, and the collating sequence for the column, in that order, all in
-** a single allocation. Each string is 0x00 terminated. The datatype
-** is only included if the COLFLAG_HASTYPE bit of colFlags is set and the
-** collating sequence name is only included if the COLFLAG_HASCOLL bit is
-** set.
- */
-type TColumn1 = struct {
- FzCnName uintptr
- F__ccgo8 uint8
- Faffinity int8
- FszEst Tu8
- FhName Tu8
- FiDflt Tu16
- FcolFlags Tu16
-}
-
-type Column1 = TColumn1
-
-/* Allowed values for Column.eCType.
-**
-** Values must match entries in the global constant arrays
-** sqlite3StdTypeLen[] and sqlite3StdType[]. Each value is one more
-** than the offset into these arrays for the corresponding name.
-** Adjust the SQLITE_N_STDTYPE value if adding or removing entries.
- */
-
-/* Allowed values for Column.colFlags.
-**
-** Constraints:
-** TF_HasVirtual == COLFLAG_VIRTUAL
-** TF_HasStored == COLFLAG_STORED
-** TF_HasHidden == COLFLAG_HIDDEN
- */
-
-/*
-** A "Collating Sequence" is defined by an instance of the following
-** structure. Conceptually, a collating sequence consists of a name and
-** a comparison routine that defines the order of that sequence.
-**
-** If CollSeq.xCmp is NULL, it means that the
-** collating sequence is undefined. Indices built on an undefined
-** collating sequence may not be read or written.
- */
-type TCollSeq1 = struct {
- FzName uintptr
- Fenc Tu8
- FpUser uintptr
- FxCmp uintptr
- FxDel uintptr
-}
-
-type CollSeq1 = TCollSeq1
-
-/*
-** A sort order can be either ASC or DESC.
- */
-
-/*
-** Column affinity types.
-**
-** These used to have mnemonic name like 'i' for SQLITE_AFF_INTEGER and
-** 't' for SQLITE_AFF_TEXT. But we can save a little space and improve
-** the speed a little by numbering the values consecutively.
-**
-** But rather than start with 0 or 1, we begin with 'A'. That way,
-** when multiple affinity types are concatenated into a string and
-** used as the P4 operand, they will be more readable.
-**
-** Note also that the numeric types are grouped together so that testing
-** for a numeric type is a single comparison. And the BLOB type is first.
- */
-
-/*
-** The SQLITE_AFF_MASK values masks off the significant bits of an
-** affinity value.
- */
-
-/*
-** Additional bit values that can be ORed with an affinity without
-** changing the affinity.
-**
-** The SQLITE_NOTNULL flag is a combination of NULLEQ and JUMPIFNULL.
-** It causes an assert() to fire if either operand to a comparison
-** operator is NULL. It is added to certain comparison operators to
-** prove that the operands are always NOT NULL.
- */
-
-/*
-** An object of this type is created for each virtual table present in
-** the database schema.
-**
-** If the database schema is shared, then there is one instance of this
-** structure for each database connection (sqlite3*) that uses the shared
-** schema. This is because each database connection requires its own unique
-** instance of the sqlite3_vtab* handle used to access the virtual table
-** implementation. sqlite3_vtab* handles can not be shared between
-** database connections, even when the rest of the in-memory database
-** schema is shared, as the implementation often stores the database
-** connection handle passed to it via the xConnect() or xCreate() method
-** during initialization internally. This database connection handle may
-** then be used by the virtual table implementation to access real tables
-** within the database. So that they appear as part of the callers
-** transaction, these accesses need to be made via the same database
-** connection as that used to execute SQL operations on the virtual table.
-**
-** All VTable objects that correspond to a single table in a shared
-** database schema are initially stored in a linked-list pointed to by
-** the Table.pVTable member variable of the corresponding Table object.
-** When an sqlite3_prepare() operation is required to access the virtual
-** table, it searches the list for the VTable that corresponds to the
-** database connection doing the preparing so as to use the correct
-** sqlite3_vtab* handle in the compiled query.
-**
-** When an in-memory Table object is deleted (for example when the
-** schema is being reloaded for some reason), the VTable objects are not
-** deleted and the sqlite3_vtab* handles are not xDisconnect()ed
-** immediately. Instead, they are moved from the Table.pVTable list to
-** another linked list headed by the sqlite3.pDisconnect member of the
-** corresponding sqlite3 structure. They are then deleted/xDisconnected
-** next time a statement is prepared using said sqlite3*. This is done
-** to avoid deadlock issues involving multiple sqlite3.mutex mutexes.
-** Refer to comments above function sqlite3VtabUnlockList() for an
-** explanation as to why it is safe to add an entry to an sqlite3.pDisconnect
-** list without holding the corresponding sqlite3.mutex mutex.
-**
-** The memory for objects of this type is always allocated by
-** sqlite3DbMalloc(), using the connection handle stored in VTable.db as
-** the first argument.
- */
-type TVTable1 = struct {
- Fdb uintptr
- FpMod uintptr
- FpVtab uintptr
- FnRef int32
- FbConstraint Tu8
- FbAllSchemas Tu8
- FeVtabRisk Tu8
- FiSavepoint int32
- FpNext uintptr
-}
-
-type VTable1 = TVTable1
-
-/* Allowed values for VTable.eVtabRisk
- */
-
-/*
-** The schema for each SQL table, virtual table, and view is represented
-** in memory by an instance of the following structure.
- */
-type TTable1 = struct {
- FzName uintptr
- FaCol uintptr
- FpIndex uintptr
- FzColAff uintptr
- FpCheck uintptr
- Ftnum TPgno
- FnTabRef Tu32
- FtabFlags Tu32
- FiPKey Ti16
- FnCol Ti16
- FnNVCol Ti16
- FnRowLogEst TLogEst
- FszTabRow TLogEst
- FkeyConf Tu8
- FeTabType Tu8
- Fu struct {
- Fview [0]struct {
- FpSelect uintptr
- }
- Fvtab [0]struct {
- FnArg int32
- FazArg uintptr
- Fp uintptr
- }
- Ftab struct {
- FaddColOffset int32
- FpFKey uintptr
- FpDfltList uintptr
- }
- }
- FpTrigger uintptr
- FpSchema uintptr
- FaHx [16]Tu8
-}
-
-type Table1 = TTable1
-
-/*
-** Allowed values for Table.tabFlags.
-**
-** TF_OOOHidden applies to tables or view that have hidden columns that are
-** followed by non-hidden columns. Example: "CREATE VIRTUAL TABLE x USING
-** vtab1(a HIDDEN, b);". Since "b" is a non-hidden column but "a" is hidden,
-** the TF_OOOHidden attribute would apply in this case. Such tables require
-** special handling during INSERT processing. The "OOO" means "Out Of Order".
-**
-** Constraints:
-**
-** TF_HasVirtual == COLFLAG_VIRTUAL
-** TF_HasStored == COLFLAG_STORED
-** TF_HasHidden == COLFLAG_HIDDEN
- */
-
-/*
-** Allowed values for Table.eTabType
- */
-
-/*
-** Test to see whether or not a table is a virtual table. This is
-** done as a macro so that it will be optimized out when virtual
-** table support is omitted from the build.
- */
-
-/*
-** Macros to determine if a column is hidden. IsOrdinaryHiddenColumn()
-** only works for non-virtual tables (ordinary tables and views) and is
-** always false unless SQLITE_ENABLE_HIDDEN_COLUMNS is defined. The
-** IsHiddenColumn() macro is general purpose.
- */
-
-/* Does the table have a rowid */
-
-/* Macro is true if the SQLITE_ALLOW_ROWID_IN_VIEW (mis-)feature is
-** available. By default, this macro is false
- */
-
-/*
-** Each foreign key constraint is an instance of the following structure.
-**
-** A foreign key is associated with two tables. The "from" table is
-** the table that contains the REFERENCES clause that creates the foreign
-** key. The "to" table is the table that is named in the REFERENCES clause.
-** Consider this example:
-**
-** CREATE TABLE ex1(
-** a INTEGER PRIMARY KEY,
-** b INTEGER CONSTRAINT fk1 REFERENCES ex2(x)
-** );
-**
-** For foreign key "fk1", the from-table is "ex1" and the to-table is "ex2".
-** Equivalent names:
-**
-** from-table == child-table
-** to-table == parent-table
-**
-** Each REFERENCES clause generates an instance of the following structure
-** which is attached to the from-table. The to-table need not exist when
-** the from-table is created. The existence of the to-table is not checked.
-**
-** The list of all parents for child Table X is held at X.pFKey.
-**
-** A list of all children for a table named Z (which might not even exist)
-** is held in Schema.fkeyHash with a hash key of Z.
- */
-type TFKey1 = struct {
- FpFrom uintptr
- FpNextFrom uintptr
- FzTo uintptr
- FpNextTo uintptr
- FpPrevTo uintptr
- FnCol int32
- FisDeferred Tu8
- FaAction [2]Tu8
- FapTrigger [2]uintptr
-}
-
-type FKey1 = TFKey1
-
-/* The size (in bytes) of an FKey object holding N columns. The answer
-** does NOT include space to hold the zTo name. */
-
-/*
-** SQLite supports many different ways to resolve a constraint
-** error. ROLLBACK processing means that a constraint violation
-** causes the operation in process to fail and for the current transaction
-** to be rolled back. ABORT processing means the operation in process
-** fails and any prior changes from that one operation are backed out,
-** but the transaction is not rolled back. FAIL processing means that
-** the operation in progress stops and returns an error code. But prior
-** changes due to the same operation are not backed out and no rollback
-** occurs. IGNORE means that the particular row that caused the constraint
-** error is not inserted or updated. Processing continues and no error
-** is returned. REPLACE means that preexisting database rows that caused
-** a UNIQUE constraint violation are removed so that the new insert or
-** update can proceed. Processing continues and no error is reported.
-** UPDATE applies to insert operations only and means that the insert
-** is omitted and the DO UPDATE clause of an upsert is run instead.
-**
-** RESTRICT, SETNULL, SETDFLT, and CASCADE actions apply only to foreign keys.
-** RESTRICT is the same as ABORT for IMMEDIATE foreign keys and the
-** same as ROLLBACK for DEFERRED keys. SETNULL means that the foreign
-** key is set to NULL. SETDFLT means that the foreign key is set
-** to its default value. CASCADE means that a DELETE or UPDATE of the
-** referenced table row is propagated into the row that holds the
-** foreign key.
-**
-** The OE_Default value is a place holder that means to use whatever
-** conflict resolution algorithm is required from context.
-**
-** The following symbolic values are used to record which type
-** of conflict resolution action to take.
- */
-
-/*
-** An instance of the following structure is passed as the first
-** argument to sqlite3VdbeKeyCompare and is used to control the
-** comparison of the two index keys.
-**
-** Note that aSortOrder[] and aColl[] have nField+1 slots. There
-** are nField slots for the columns of an index then one extra slot
-** for the rowid at the end.
- */
-type TKeyInfo1 = struct {
- FnRef Tu32
- Fenc Tu8
- FnKeyField Tu16
- FnAllField Tu16
- Fdb uintptr
- FaSortFlags uintptr
-}
-
-type KeyInfo1 = TKeyInfo1
-
-/* The size (in bytes) of a KeyInfo object with up to N fields */
-
-/*
-** Allowed bit values for entries in the KeyInfo.aSortFlags[] array.
- */
-
-/*
-** This object holds a record which has been parsed out into individual
-** fields, for the purposes of doing a comparison.
-**
-** A record is an object that contains one or more fields of data.
-** Records are used to store the content of a table row and to store
-** the key of an index. A blob encoding of a record is created by
-** the OP_MakeRecord opcode of the VDBE and is disassembled by the
-** OP_Column opcode.
-**
-** An instance of this object serves as a "key" for doing a search on
-** an index b+tree. The goal of the search is to find the entry that
-** is closed to the key described by this object. This object might hold
-** just a prefix of the key. The number of fields is given by
-** pKeyInfo->nField.
-**
-** The r1 and r2 fields are the values to return if this key is less than
-** or greater than a key in the btree, respectively. These are normally
-** -1 and +1 respectively, but might be inverted to +1 and -1 if the b-tree
-** is in DESC order.
-**
-** The key comparison functions actually return default_rc when they find
-** an equals comparison. default_rc can be -1, 0, or +1. If there are
-** multiple entries in the b-tree with the same key (when only looking
-** at the first pKeyInfo->nFields,) then default_rc can be set to -1 to
-** cause the search to find the last match, or +1 to cause the search to
-** find the first match.
-**
-** The key comparison functions will set eqSeen to true if they ever
-** get and equal results when comparing this structure to a b-tree record.
-** When default_rc!=0, the search might end up on the record immediately
-** before the first match or immediately after the last match. The
-** eqSeen field will indicate whether or not an exact match exists in the
-** b-tree.
- */
-type TUnpackedRecord1 = struct {
- FpKeyInfo uintptr
- FaMem uintptr
- Fu struct {
- Fi [0]Ti64
- Fz uintptr
- }
- Fn int32
- FnField Tu16
- Fdefault_rc Ti8
- FerrCode Tu8
- Fr1 Ti8
- Fr2 Ti8
- FeqSeen Tu8
-}
-
-type UnpackedRecord1 = TUnpackedRecord1
-
-/*
-** Each SQL index is represented in memory by an
-** instance of the following structure.
-**
-** The columns of the table that are to be indexed are described
-** by the aiColumn[] field of this structure. For example, suppose
-** we have the following table and index:
-**
-** CREATE TABLE Ex1(c1 int, c2 int, c3 text);
-** CREATE INDEX Ex2 ON Ex1(c3,c1);
-**
-** In the Table structure describing Ex1, nCol==3 because there are
-** three columns in the table. In the Index structure describing
-** Ex2, nColumn==2 since 2 of the 3 columns of Ex1 are indexed.
-** The value of aiColumn is {2, 0}. aiColumn[0]==2 because the
-** first column to be indexed (c3) has an index of 2 in Ex1.aCol[].
-** The second column to be indexed (c1) has an index of 0 in
-** Ex1.aCol[], hence Ex2.aiColumn[1]==0.
-**
-** The Index.onError field determines whether or not the indexed columns
-** must be unique and what to do if they are not. When Index.onError=OE_None,
-** it means this is not a unique index. Otherwise it is a unique index
-** and the value of Index.onError indicates which conflict resolution
-** algorithm to employ when an attempt is made to insert a non-unique
-** element.
-**
-** The colNotIdxed bitmask is used in combination with SrcItem.colUsed
-** for a fast test to see if an index can serve as a covering index.
-** colNotIdxed has a 1 bit for every column of the original table that
-** is *not* available in the index. Thus the expression
-** "colUsed & colNotIdxed" will be non-zero if the index is not a
-** covering index. The most significant bit of of colNotIdxed will always
-** be true (note-20221022-a). If a column beyond the 63rd column of the
-** table is used, the "colUsed & colNotIdxed" test will always be non-zero
-** and we have to assume either that the index is not covering, or use
-** an alternative (slower) algorithm to determine whether or not
-** the index is covering.
-**
-** While parsing a CREATE TABLE or CREATE INDEX statement in order to
-** generate VDBE code (as opposed to parsing one read from an sqlite_schema
-** table as part of parsing an existing database schema), transient instances
-** of this structure may be created. In this case the Index.tnum variable is
-** used to store the address of a VDBE instruction, not a database page
-** number (it cannot - the database page is not allocated until the VDBE
-** program is executed). See convertToWithoutRowidTable() for details.
- */
-type TIndex1 = struct {
- FzName uintptr
- FaiColumn uintptr
- FaiRowLogEst uintptr
- FpTable uintptr
- FzColAff uintptr
- FpNext uintptr
- FpSchema uintptr
- FaSortOrder uintptr
- FazColl uintptr
- FpPartIdxWhere uintptr
- FaColExpr uintptr
- Ftnum TPgno
- FszIdxRow TLogEst
- FnKeyCol Tu16
- FnColumn Tu16
- FonError Tu8
- F__ccgo100 uint16
- FnSample int32
- FmxSample int32
- FnSampleCol int32
- FaAvgEq uintptr
- FaSample uintptr
- FaiRowEst uintptr
- FnRowEst0 TtRowcnt
- FcolNotIdxed TBitmask
-}
-
-type Index1 = TIndex1
-
-/*
-** Allowed values for Index.idxType
- */
-
-/* Return true if index X is a PRIMARY KEY index */
-
-/* Return true if index X is a UNIQUE index */
-
-/* The Index.aiColumn[] values are normally positive integer. But
-** there are some negative values that have special meaning:
- */
-
-/*
-** Each sample stored in the sqlite_stat4 table is represented in memory
-** using a structure of this type. See documentation at the top of the
-** analyze.c source file for additional information.
- */
-type TIndexSample1 = struct {
- Fp uintptr
- Fn int32
- FanEq uintptr
- FanLt uintptr
- FanDLt uintptr
-}
-
-type IndexSample1 = TIndexSample1
-
-/*
-** Possible values to use within the flags argument to sqlite3GetToken().
- */
-
-/*
-** Each token coming out of the lexer is an instance of
-** this structure. Tokens are also used as part of an expression.
-**
-** The memory that "z" points to is owned by other objects. Take care
-** that the owner of the "z" string does not deallocate the string before
-** the Token goes out of scope! Very often, the "z" points to some place
-** in the middle of the Parse.zSql text. But it might also point to a
-** static string.
- */
-type TToken1 = struct {
- Fz uintptr
- Fn uint32
-}
-
-type Token1 = TToken1
-
-/*
-** An instance of this structure contains information needed to generate
-** code for a SELECT that contains aggregate functions.
-**
-** If Expr.op==TK_AGG_COLUMN or TK_AGG_FUNCTION then Expr.pAggInfo is a
-** pointer to this structure. The Expr.iAgg field is the index in
-** AggInfo.aCol[] or AggInfo.aFunc[] of information needed to generate
-** code for that node.
-**
-** AggInfo.pGroupBy and AggInfo.aFunc.pExpr point to fields within the
-** original Select structure that describes the SELECT statement. These
-** fields do not need to be freed when deallocating the AggInfo structure.
- */
-type TAggInfo1 = struct {
- FdirectMode Tu8
- FuseSortingIdx Tu8
- FnSortingColumn Tu32
- FsortingIdx int32
- FsortingIdxPTab int32
- FiFirstReg int32
- FpGroupBy uintptr
- FaCol uintptr
- FnColumn int32
- FnAccumulator int32
- FaFunc uintptr
- FnFunc int32
- FselId Tu32
-}
-
-type AggInfo1 = TAggInfo1
-
/*
** Macros to compute aCol[] and aFunc[] register numbers.
**
@@ -10487,622 +8398,6 @@ type TynVar = int16
type ynVar = TynVar
-/*
-** Each node of an expression in the parse tree is an instance
-** of this structure.
-**
-** Expr.op is the opcode. The integer parser token codes are reused
-** as opcodes here. For example, the parser defines TK_GE to be an integer
-** code representing the ">=" operator. This same integer code is reused
-** to represent the greater-than-or-equal-to operator in the expression
-** tree.
-**
-** If the expression is an SQL literal (TK_INTEGER, TK_FLOAT, TK_BLOB,
-** or TK_STRING), then Expr.u.zToken contains the text of the SQL literal. If
-** the expression is a variable (TK_VARIABLE), then Expr.u.zToken contains the
-** variable name. Finally, if the expression is an SQL function (TK_FUNCTION),
-** then Expr.u.zToken contains the name of the function.
-**
-** Expr.pRight and Expr.pLeft are the left and right subexpressions of a
-** binary operator. Either or both may be NULL.
-**
-** Expr.x.pList is a list of arguments if the expression is an SQL function,
-** a CASE expression or an IN expression of the form " IN (, ...)".
-** Expr.x.pSelect is used if the expression is a sub-select or an expression of
-** the form " IN (SELECT ...)". If the EP_xIsSelect bit is set in the
-** Expr.flags mask, then Expr.x.pSelect is valid. Otherwise, Expr.x.pList is
-** valid.
-**
-** An expression of the form ID or ID.ID refers to a column in a table.
-** For such expressions, Expr.op is set to TK_COLUMN and Expr.iTable is
-** the integer cursor number of a VDBE cursor pointing to that table and
-** Expr.iColumn is the column number for the specific column. If the
-** expression is used as a result in an aggregate SELECT, then the
-** value is also stored in the Expr.iAgg column in the aggregate so that
-** it can be accessed after all aggregates are computed.
-**
-** If the expression is an unbound variable marker (a question mark
-** character '?' in the original SQL) then the Expr.iTable holds the index
-** number for that variable.
-**
-** If the expression is a subquery then Expr.iColumn holds an integer
-** register number containing the result of the subquery. If the
-** subquery gives a constant result, then iTable is -1. If the subquery
-** gives a different answer at different times during statement processing
-** then iTable is the address of a subroutine that computes the subquery.
-**
-** If the Expr is of type OP_Column, and the table it is selecting from
-** is a disk table or the "old.*" pseudo-table, then pTab points to the
-** corresponding table definition.
-**
-** ALLOCATION NOTES:
-**
-** Expr objects can use a lot of memory space in database schema. To
-** help reduce memory requirements, sometimes an Expr object will be
-** truncated. And to reduce the number of memory allocations, sometimes
-** two or more Expr objects will be stored in a single memory allocation,
-** together with Expr.u.zToken strings.
-**
-** If the EP_Reduced and EP_TokenOnly flags are set when
-** an Expr object is truncated. When EP_Reduced is set, then all
-** the child Expr objects in the Expr.pLeft and Expr.pRight subtrees
-** are contained within the same memory allocation. Note, however, that
-** the subtrees in Expr.x.pList or Expr.x.pSelect are always separately
-** allocated, regardless of whether or not EP_Reduced is set.
- */
-type TExpr1 = struct {
- Fop Tu8
- FaffExpr int8
- Fop2 Tu8
- Fflags Tu32
- Fu struct {
- FiValue [0]int32
- FzToken uintptr
- }
- FpLeft uintptr
- FpRight uintptr
- Fx struct {
- FpSelect [0]uintptr
- FpList uintptr
- }
- FnHeight int32
- FiTable int32
- FiColumn TynVar
- FiAgg Ti16
- Fw struct {
- FiOfst [0]int32
- FiJoin int32
- }
- FpAggInfo uintptr
- Fy struct {
- FpWin [0]uintptr
- Fsub [0]struct {
- FiAddr int32
- FregReturn int32
- }
- FpTab uintptr
- }
-}
-
-type Expr1 = TExpr1
-
-/* The following are the meanings of bits in the Expr.flags field.
-** Value restrictions:
-**
-** EP_Agg == NC_HasAgg == SF_HasAgg
-** EP_Win == NC_HasWin
- */
-
-/* The EP_Propagate mask is a set of properties that automatically propagate
-** upwards into parent nodes.
- */
-
-/* Macros can be used to test, set, or clear bits in the
-** Expr.flags field.
- */
-
-/* Macros used to ensure that the correct members of unions are accessed
-** in Expr.
- */
-
-/* Flags for use with Expr.vvaFlags
- */
-
-/* The ExprSetVVAProperty() macro is used for Verification, Validation,
-** and Accreditation only. It works like ExprSetProperty() during VVA
-** processes but is a no-op for delivery.
- */
-
-/*
-** Macros to determine the number of bytes required by a normal Expr
-** struct, an Expr struct with the EP_Reduced flag set in Expr.flags
-** and an Expr struct with the EP_TokenOnly flag set.
- */
-
-/*
-** Flags passed to the sqlite3ExprDup() function. See the header comment
-** above sqlite3ExprDup() for details.
- */
-
-/*
-** True if the expression passed as an argument was a function with
-** an OVER() clause (a window function).
- */
-
-/*
-** A list of expressions. Each expression may optionally have a
-** name. An expr/name combination can be used in several ways, such
-** as the list of "expr AS ID" fields following a "SELECT" or in the
-** list of "ID = expr" items in an UPDATE. A list of expressions can
-** also be used as the argument to a function, in which case the a.zName
-** field is not used.
-**
-** In order to try to keep memory usage down, the Expr.a.zEName field
-** is used for multiple purposes:
-**
-** eEName Usage
-** ---------- -------------------------
-** ENAME_NAME (1) the AS of result set column
-** (2) COLUMN= of an UPDATE
-**
-** ENAME_TAB DB.TABLE.NAME used to resolve names
-** of subqueries
-**
-** ENAME_SPAN Text of the original result set
-** expression.
- */
-type TExprList1 = struct {
- F__ccgo_align [0]uint64
- FnExpr int32
- FnAlloc int32
-}
-
-type ExprList1 = TExprList1
-
-/* The size (in bytes) of an ExprList object that is big enough to hold
-** as many as N expressions. */
-
-/*
-** Allowed values for Expr.a.eEName
- */
-
-/*
-** An instance of this structure can hold a simple list of identifiers,
-** such as the list "a,b,c" in the following statements:
-**
-** INSERT INTO t(a,b,c) VALUES ...;
-** CREATE INDEX idx ON t(a,b,c);
-** CREATE TRIGGER trig BEFORE UPDATE ON t(a,b,c) ...;
-**
-** The IdList.a.idx field is used when the IdList represents the list of
-** column names after a table name in an INSERT statement. In the statement
-**
-** INSERT INTO t(a,b,c) ...
-**
-** If "a" is the k-th column of table "t", then IdList.a[0].idx==k.
- */
-type TIdList1 = struct {
- F__ccgo_align [0]uint64
- FnId int32
-}
-
-type IdList1 = TIdList1
-
-/* The size (in bytes) of an IdList object that can hold up to N IDs. */
-
-/*
-** Allowed values for IdList.eType, which determines which value of the a.u4
-** is valid.
- */
-
-/*
-** Details of the implementation of a subquery.
- */
-type TSubquery1 = struct {
- FpSelect uintptr
- FaddrFillSub int32
- FregReturn int32
- FregResult int32
-}
-
-type Subquery1 = TSubquery1
-
-/*
-** The SrcItem object represents a single term in the FROM clause of a query.
-** The SrcList object is mostly an array of SrcItems.
-**
-** The jointype starts out showing the join type between the current table
-** and the next table on the list. The parser builds the list this way.
-** But sqlite3SrcListShiftJoinType() later shifts the jointypes so that each
-** jointype expresses the join between the table and the previous table.
-**
-** In the colUsed field, the high-order bit (bit 63) is set if the table
-** contains more than 63 columns and the 64-th or later column is used.
-**
-** Aggressive use of "union" helps keep the size of the object small. This
-** has been shown to boost performance, in addition to saving memory.
-** Access to union elements is gated by the following rules which should
-** always be checked, either by an if-statement or by an assert().
-**
-** Field Only access if this is true
-** --------------- -----------------------------------
-** u1.zIndexedBy fg.isIndexedBy
-** u1.pFuncArg fg.isTabFunc
-** u1.nRow !fg.isTabFunc && !fg.isIndexedBy
-**
-** u2.pIBIndex fg.isIndexedBy
-** u2.pCteUse fg.isCte
-**
-** u3.pOn !fg.isUsing
-** u3.pUsing fg.isUsing
-**
-** u4.zDatabase !fg.fixedSchema && !fg.isSubquery
-** u4.pSchema fg.fixedSchema
-** u4.pSubq fg.isSubquery
-**
-** See also the sqlite3SrcListDelete() routine for assert() statements that
-** check invariants on the fields of this object, especially the flags
-** inside the fg struct.
- */
-type TSrcItem1 = struct {
- FzName uintptr
- FzAlias uintptr
- FpSTab uintptr
- Ffg struct {
- Fjointype Tu8
- F__ccgo4 uint32
- }
- FiCursor int32
- FcolUsed TBitmask
- Fu1 struct {
- FpFuncArg [0]uintptr
- FnRow [0]Tu32
- FzIndexedBy uintptr
- }
- Fu2 struct {
- FpCteUse [0]uintptr
- FpIBIndex uintptr
- }
- Fu3 struct {
- FpUsing [0]uintptr
- FpOn uintptr
- }
- Fu4 struct {
- FzDatabase [0]uintptr
- FpSubq [0]uintptr
- FpSchema uintptr
- }
-}
-
-type SrcItem1 = TSrcItem1
-
-/*
-** The OnOrUsing object represents either an ON clause or a USING clause.
-** It can never be both at the same time, but it can be neither.
- */
-type TOnOrUsing1 = struct {
- FpOn uintptr
- FpUsing uintptr
-}
-
-type OnOrUsing1 = TOnOrUsing1
-
-/*
-** This object represents one or more tables that are the source of
-** content for an SQL statement. For example, a single SrcList object
-** is used to hold the FROM clause of a SELECT statement. SrcList also
-** represents the target tables for DELETE, INSERT, and UPDATE statements.
-**
- */
-type TSrcList1 = struct {
- F__ccgo_align [0]uint64
- FnSrc int32
- FnAlloc Tu32
-}
-
-type SrcList1 = TSrcList1
-
-/* Size (in bytes) of a SrcList object that can hold as many as N
-** SrcItem objects. */
-
-/* Size (in bytes( of a SrcList object that holds 1 SrcItem. This is a
-** special case of SZ_SRCITEM(1) that comes up often. */
-
-/*
-** Permitted values of the SrcList.a.jointype field
- */
-
-/*
-** Flags appropriate for the wctrlFlags parameter of sqlite3WhereBegin()
-** and the WhereInfo.wctrlFlags member.
-**
-** Value constraints (enforced via assert()):
-** WHERE_USE_LIMIT == SF_FixedLimit
- */
-/* 0x8000 not currently used */
-
-/* Allowed return values from sqlite3WhereIsDistinct()
- */
-
-/*
-** A NameContext defines a context in which to resolve table and column
-** names. The context consists of a list of tables (the pSrcList) field and
-** a list of named expression (pEList). The named expression list may
-** be NULL. The pSrc corresponds to the FROM clause of a SELECT or
-** to the table being operated on by INSERT, UPDATE, or DELETE. The
-** pEList corresponds to the result set of a SELECT and is NULL for
-** other statements.
-**
-** NameContexts can be nested. When resolving names, the inner-most
-** context is searched first. If no match is found, the next outer
-** context is checked. If there is still no match, the next context
-** is checked. This process continues until either a match is found
-** or all contexts are check. When a match is found, the nRef member of
-** the context containing the match is incremented.
-**
-** Each subquery gets a new NameContext. The pNext field points to the
-** NameContext in the parent query. Thus the process of scanning the
-** NameContext list corresponds to searching through successively outer
-** subqueries looking for a match.
- */
-type TNameContext1 = struct {
- FpParse uintptr
- FpSrcList uintptr
- FuNC struct {
- FpAggInfo [0]uintptr
- FpUpsert [0]uintptr
- FiBaseReg [0]int32
- FpEList uintptr
- }
- FpNext uintptr
- FnRef int32
- FnNcErr int32
- FncFlags int32
- FnNestedSelect Tu32
- FpWinSelect uintptr
-}
-
-type NameContext1 = TNameContext1
-
-/*
-** Allowed values for the NameContext, ncFlags field.
-**
-** Value constraints (all checked via assert()):
-** NC_HasAgg == SF_HasAgg == EP_Agg
-** NC_MinMaxAgg == SF_MinMaxAgg == SQLITE_FUNC_MINMAX
-** NC_OrderAgg == SF_OrderByReqd == SQLITE_FUNC_ANYORDER
-** NC_HasWin == EP_Win
-**
- */
-/* 0x002000 // available for reuse */
-
-/*
-** An instance of the following object describes a single ON CONFLICT
-** clause in an upsert.
-**
-** The pUpsertTarget field is only set if the ON CONFLICT clause includes
-** conflict-target clause. (In "ON CONFLICT(a,b)" the "(a,b)" is the
-** conflict-target clause.) The pUpsertTargetWhere is the optional
-** WHERE clause used to identify partial unique indexes.
-**
-** pUpsertSet is the list of column=expr terms of the UPDATE statement.
-** The pUpsertSet field is NULL for a ON CONFLICT DO NOTHING. The
-** pUpsertWhere is the WHERE clause for the UPDATE and is NULL if the
-** WHERE clause is omitted.
- */
-type TUpsert1 = struct {
- FpUpsertTarget uintptr
- FpUpsertTargetWhere uintptr
- FpUpsertSet uintptr
- FpUpsertWhere uintptr
- FpNextUpsert uintptr
- FisDoUpdate Tu8
- FisDup Tu8
- FpToFree uintptr
- FpUpsertIdx uintptr
- FpUpsertSrc uintptr
- FregData int32
- FiDataCur int32
- FiIdxCur int32
-}
-
-type Upsert1 = TUpsert1
-
-/*
-** An instance of the following structure contains all information
-** needed to generate code for a single SELECT statement.
-**
-** See the header comment on the computeLimitRegisters() routine for a
-** detailed description of the meaning of the iLimit and iOffset fields.
-**
-** addrOpenEphm[] entries contain the address of OP_OpenEphemeral opcodes.
-** These addresses must be stored so that we can go back and fill in
-** the P4_KEYINFO and P2 parameters later. Neither the KeyInfo nor
-** the number of columns in P2 can be computed at the same time
-** as the OP_OpenEphm instruction is coded because not
-** enough information about the compound query is known at that point.
-** The KeyInfo for addrOpenTran[0] and [1] contains collating sequences
-** for the result set. The KeyInfo for addrOpenEphm[2] contains collating
-** sequences for the ORDER BY clause.
- */
-type TSelect1 = struct {
- Fop Tu8
- FnSelectRow TLogEst
- FselFlags Tu32
- FiLimit int32
- FiOffset int32
- FselId Tu32
- FaddrOpenEphm [2]int32
- FpEList uintptr
- FpSrc uintptr
- FpWhere uintptr
- FpGroupBy uintptr
- FpHaving uintptr
- FpOrderBy uintptr
- FpPrior uintptr
- FpNext uintptr
- FpLimit uintptr
- FpWith uintptr
- FpWin uintptr
- FpWinDefn uintptr
-}
-
-type Select1 = TSelect1
-
-/*
-** Allowed values for Select.selFlags. The "SF" prefix stands for
-** "Select Flag".
-**
-** Value constraints (all checked via assert())
-** SF_HasAgg == NC_HasAgg
-** SF_MinMaxAgg == NC_MinMaxAgg == SQLITE_FUNC_MINMAX
-** SF_OrderByReqd == NC_OrderAgg == SQLITE_FUNC_ANYORDER
-** SF_FixedLimit == WHERE_USE_LIMIT
- */
-
-/* True if SrcItem X is a subquery that has SF_NestedFrom */
-
-/*
-** The results of a SELECT can be distributed in several ways, as defined
-** by one of the following macros. The "SRT" prefix means "SELECT Result
-** Type".
-**
-** SRT_Union Store results as a key in a temporary index
-** identified by pDest->iSDParm.
-**
-** SRT_Except Remove results from the temporary index pDest->iSDParm.
-**
-** SRT_Exists Store a 1 in memory cell pDest->iSDParm if the result
-** set is not empty.
-**
-** SRT_Discard Throw the results away. This is used by SELECT
-** statements within triggers whose only purpose is
-** the side-effects of functions.
-**
-** SRT_Output Generate a row of output (using the OP_ResultRow
-** opcode) for each row in the result set.
-**
-** SRT_Mem Only valid if the result is a single column.
-** Store the first column of the first result row
-** in register pDest->iSDParm then abandon the rest
-** of the query. This destination implies "LIMIT 1".
-**
-** SRT_Set The result must be a single column. Store each
-** row of result as the key in table pDest->iSDParm.
-** Apply the affinity pDest->affSdst before storing
-** results. if pDest->iSDParm2 is positive, then it is
-** a register holding a Bloom filter for the IN operator
-** that should be populated in addition to the
-** pDest->iSDParm table. This SRT is used to
-** implement "IN (SELECT ...)".
-**
-** SRT_EphemTab Create an temporary table pDest->iSDParm and store
-** the result there. The cursor is left open after
-** returning. This is like SRT_Table except that
-** this destination uses OP_OpenEphemeral to create
-** the table first.
-**
-** SRT_Coroutine Generate a co-routine that returns a new row of
-** results each time it is invoked. The entry point
-** of the co-routine is stored in register pDest->iSDParm
-** and the result row is stored in pDest->nDest registers
-** starting with pDest->iSdst.
-**
-** SRT_Table Store results in temporary table pDest->iSDParm.
-** SRT_Fifo This is like SRT_EphemTab except that the table
-** is assumed to already be open. SRT_Fifo has
-** the additional property of being able to ignore
-** the ORDER BY clause.
-**
-** SRT_DistFifo Store results in a temporary table pDest->iSDParm.
-** But also use temporary table pDest->iSDParm+1 as
-** a record of all prior results and ignore any duplicate
-** rows. Name means: "Distinct Fifo".
-**
-** SRT_Queue Store results in priority queue pDest->iSDParm (really
-** an index). Append a sequence number so that all entries
-** are distinct.
-**
-** SRT_DistQueue Store results in priority queue pDest->iSDParm only if
-** the same record has never been stored before. The
-** index at pDest->iSDParm+1 hold all prior stores.
-**
-** SRT_Upfrom Store results in the temporary table already opened by
-** pDest->iSDParm. If (pDest->iSDParm<0), then the temp
-** table is an intkey table - in this case the first
-** column returned by the SELECT is used as the integer
-** key. If (pDest->iSDParm>0), then the table is an index
-** table. (pDest->iSDParm) is the number of key columns in
-** each index record in this case.
- */
-
-/* The DISTINCT clause is ignored for all of the above. Not that
-** IgnorableDistinct() implies IgnorableOrderby() */
-
-/* The ORDER BY clause is ignored for all of the above */
-
-/*
-** An instance of this object describes where to put of the results of
-** a SELECT statement.
- */
-type TSelectDest1 = struct {
- FeDest Tu8
- FiSDParm int32
- FiSDParm2 int32
- FiSdst int32
- FnSdst int32
- FzAffSdst uintptr
- FpOrderBy uintptr
-}
-
-type SelectDest1 = TSelectDest1
-
-/*
-** During code generation of statements that do inserts into AUTOINCREMENT
-** tables, the following information is attached to the Table.u.autoInc.p
-** pointer of each autoincrement table to record some side information that
-** the code generator needs. We have to keep per-table autoincrement
-** information in case inserts are done within triggers. Triggers do not
-** normally coordinate their activities, but we do need to coordinate the
-** loading and saving of autoincrement information.
- */
-type TAutoincInfo1 = struct {
- FpNext uintptr
- FpTab uintptr
- FiDb int32
- FregCtr int32
-}
-
-type AutoincInfo1 = TAutoincInfo1
-
-/*
-** At least one instance of the following structure is created for each
-** trigger that may be fired while parsing an INSERT, UPDATE or DELETE
-** statement. All such objects are stored in the linked list headed at
-** Parse.pTriggerPrg and deleted once statement compilation has been
-** completed.
-**
-** A Vdbe sub-program that implements the body and WHEN clause of trigger
-** TriggerPrg.pTrigger, assuming a default ON CONFLICT clause of
-** TriggerPrg.orconf, is stored in the TriggerPrg.pProgram variable.
-** The Parse.pTriggerPrg list never contains two entries with the same
-** values for both pTrigger and orconf.
-**
-** The TriggerPrg.aColmask[0] variable is set to a mask of old.* columns
-** accessed (or set to 0 for triggers fired as a result of INSERT
-** statements). Similarly, the TriggerPrg.aColmask[1] variable is set to
-** a mask of new.* columns used by the program.
- */
-type TTriggerPrg1 = struct {
- FpTrigger uintptr
- FpNext uintptr
- FpProgram uintptr
- Forconf int32
- FaColmask [2]Tu32
-}
-
-type TriggerPrg1 = TTriggerPrg1
-
// C documentation
//
// /*
@@ -11112,318 +8407,6 @@ type TyDbMask = uint32
type yDbMask = TyDbMask
-/*
-** For each index X that has as one of its arguments either an expression
-** or the name of a virtual generated column, and if X is in scope such that
-** the value of the expression can simply be read from the index, then
-** there is an instance of this object on the Parse.pIdxExpr list.
-**
-** During code generation, while generating code to evaluate expressions,
-** this list is consulted and if a matching expression is found, the value
-** is read from the index rather than being recomputed.
- */
-type TIndexedExpr1 = struct {
- FpExpr uintptr
- FiDataCur int32
- FiIdxCur int32
- FiIdxCol int32
- FbMaybeNullRow Tu8
- Faff Tu8
- FpIENext uintptr
-}
-
-type IndexedExpr1 = TIndexedExpr1
-
-/*
-** An instance of the ParseCleanup object specifies an operation that
-** should be performed after parsing to deallocation resources obtained
-** during the parse and which are no longer needed.
- */
-type TParseCleanup1 = struct {
- FpNext uintptr
- FpPtr uintptr
- FxCleanup uintptr
-}
-
-type ParseCleanup1 = TParseCleanup1
-
-/*
-** An SQL parser context. A copy of this structure is passed through
-** the parser and down into all the parser action routine in order to
-** carry around information that is global to the entire parse.
-**
-** The structure is divided into two parts. When the parser and code
-** generate call themselves recursively, the first part of the structure
-** is constant but the second part is reset at the beginning and end of
-** each recursion.
-**
-** The nTableLock and aTableLock variables are only used if the shared-cache
-** feature is enabled (if sqlite3Tsd()->useSharedData is true). They are
-** used to store the set of table-locks required by the statement being
-** compiled. Function sqlite3TableLock() is used to add entries to the
-** list.
- */
-type TParse1 = struct {
- Fdb uintptr
- FzErrMsg uintptr
- FpVdbe uintptr
- Frc int32
- FnQueryLoop TLogEst
- Fnested Tu8
- FnTempReg Tu8
- FisMultiWrite Tu8
- FmayAbort Tu8
- FhasCompound Tu8
- FdisableLookaside Tu8
- FprepFlags Tu8
- FwithinRJSubrtn Tu8
- FmSubrtnSig Tu8
- FeTriggerOp Tu8
- FbReturning Tu8
- FeOrconf Tu8
- FdisableTriggers Tu8
- F__ccgo_align18 [1]byte
- F__ccgo44 uint8
- FnRangeReg int32
- FiRangeReg int32
- FnErr int32
- FnTab int32
- FnMem int32
- FszOpAlloc int32
- FiSelfTab int32
- FnLabel int32
- FnLabelAlloc int32
- FaLabel uintptr
- FpConstExpr uintptr
- FpIdxEpr uintptr
- FpIdxPartExpr uintptr
- FwriteMask TyDbMask
- FcookieMask TyDbMask
- FnMaxArg int32
- FnSelect int32
- FnProgressSteps Tu32
- FnTableLock int32
- FaTableLock uintptr
- FpAinc uintptr
- FpToplevel uintptr
- FpTriggerTab uintptr
- FpTriggerPrg uintptr
- FpCleanup uintptr
- FaTempReg [8]int32
- FpOuterParse uintptr
- FsNameToken TToken
- Foldmask Tu32
- Fnewmask Tu32
- Fu1 struct {
- Fd [0]struct {
- FpReturning uintptr
- }
- Fcr struct {
- FaddrCrTab int32
- FregRowid int32
- FregRoot int32
- FconstraintName TToken
- }
- }
- FsLastToken TToken
- FnVar TynVar
- FiPkSortOrder Tu8
- Fexplain Tu8
- FeParseMode Tu8
- FnVtabLock int32
- FnHeight int32
- FaddrExplain int32
- FpVList uintptr
- FpReprepare uintptr
- FzTail uintptr
- FpNewTable uintptr
- FpNewIndex uintptr
- FpNewTrigger uintptr
- FzAuthContext uintptr
- FsArg TToken
- FapVtabLock uintptr
- FpWith uintptr
- FpRename uintptr
-}
-
-type Parse1 = TParse1
-
-/* Allowed values for Parse.eParseMode
- */
-
-/*
-** Sizes and pointers of various parts of the Parse object.
- */
-
-/*
-** Return true if currently inside an sqlite3_declare_vtab() call.
- */
-
-/*
-** An instance of the following structure can be declared on a stack and used
-** to save the Parse.zAuthContext value so that it can be restored later.
- */
-type TAuthContext1 = struct {
- FzAuthContext uintptr
- FpParse uintptr
-}
-
-type AuthContext1 = TAuthContext1
-
-/*
-** Bitfield flags for P5 value in various opcodes.
-**
-** Value constraints (enforced via assert()):
-** OPFLAG_LENGTHARG == SQLITE_FUNC_LENGTH
-** OPFLAG_TYPEOFARG == SQLITE_FUNC_TYPEOF
-** OPFLAG_BULKCSR == BTREE_BULKLOAD
-** OPFLAG_SEEKEQ == BTREE_SEEK_EQ
-** OPFLAG_FORDELETE == BTREE_FORDELETE
-** OPFLAG_SAVEPOSITION == BTREE_SAVEPOSITION
-** OPFLAG_AUXDELETE == BTREE_AUXDELETE
- */
-/* Also used in P2 (not P5) of OP_Delete */
-
-/*
-** Each trigger present in the database schema is stored as an instance of
-** struct Trigger.
-**
-** Pointers to instances of struct Trigger are stored in two ways.
-** 1. In the "trigHash" hash table (part of the sqlite3* that represents the
-** database). This allows Trigger structures to be retrieved by name.
-** 2. All triggers associated with a single table form a linked list, using the
-** pNext member of struct Trigger. A pointer to the first element of the
-** linked list is stored as the "pTrigger" member of the associated
-** struct Table.
-**
-** The "step_list" member points to the first element of a linked list
-** containing the SQL statements specified as the trigger program.
- */
-type TTrigger1 = struct {
- FzName uintptr
- Ftable uintptr
- Fop Tu8
- Ftr_tm Tu8
- FbReturning Tu8
- FpWhen uintptr
- FpColumns uintptr
- FpSchema uintptr
- FpTabSchema uintptr
- Fstep_list uintptr
- FpNext uintptr
-}
-
-type Trigger1 = TTrigger1
-
-/*
-** A trigger is either a BEFORE or an AFTER trigger. The following constants
-** determine which.
-**
-** If there are multiple triggers, you might of some BEFORE and some AFTER.
-** In that cases, the constants below can be ORed together.
- */
-
-/*
-** An instance of struct TriggerStep is used to store a single SQL statement
-** that is a part of a trigger-program.
-**
-** Instances of struct TriggerStep are stored in a singly linked list (linked
-** using the "pNext" member) referenced by the "step_list" member of the
-** associated struct Trigger instance. The first element of the linked list is
-** the first step of the trigger-program.
-**
-** The "op" member indicates whether this is a "DELETE", "INSERT", "UPDATE" or
-** "SELECT" statement. The meanings of the other members is determined by the
-** value of "op" as follows:
-**
-** (op == TK_INSERT)
-** orconf -> stores the ON CONFLICT algorithm
-** pSelect -> The content to be inserted - either a SELECT statement or
-** a VALUES clause.
-** zTarget -> Dequoted name of the table to insert into.
-** pIdList -> If this is an INSERT INTO ... () VALUES ...
-** statement, then this stores the column-names to be
-** inserted into.
-** pUpsert -> The ON CONFLICT clauses for an Upsert
-**
-** (op == TK_DELETE)
-** zTarget -> Dequoted name of the table to delete from.
-** pWhere -> The WHERE clause of the DELETE statement if one is specified.
-** Otherwise NULL.
-**
-** (op == TK_UPDATE)
-** zTarget -> Dequoted name of the table to update.
-** pWhere -> The WHERE clause of the UPDATE statement if one is specified.
-** Otherwise NULL.
-** pExprList -> A list of the columns to update and the expressions to update
-** them to. See sqlite3Update() documentation of "pChanges"
-** argument.
-**
-** (op == TK_SELECT)
-** pSelect -> The SELECT statement
-**
-** (op == TK_RETURNING)
-** pExprList -> The list of expressions that follow the RETURNING keyword.
-**
- */
-type TTriggerStep1 = struct {
- Fop Tu8
- Forconf Tu8
- FpTrig uintptr
- FpSelect uintptr
- FzTarget uintptr
- FpFrom uintptr
- FpWhere uintptr
- FpExprList uintptr
- FpIdList uintptr
- FpUpsert uintptr
- FzSpan uintptr
- FpNext uintptr
- FpLast uintptr
-}
-
-type TriggerStep1 = TTriggerStep1
-
-/*
-** Information about a RETURNING clause
- */
-type TReturning1 = struct {
- FpParse uintptr
- FpReturnEL uintptr
- FretTrig TTrigger
- FretTStep TTriggerStep
- FiRetCur int32
- FnRetCol int32
- FiRetReg int32
- FzName [40]int8
-}
-
-type Returning1 = TReturning1
-
-/*
-** The following object is the header for an "RCStr" or "reference-counted
-** string". An RCStr is passed around and used like any other char*
-** that has been dynamically allocated. The important interface
-** differences:
-**
-** 1. RCStr strings are reference counted. They are deallocated
-** when the reference count reaches zero.
-**
-** 2. Use sqlite3RCStrUnref() to free an RCStr string rather than
-** sqlite3_free()
-**
-** 3. Make a (read-only) copy of a read-only RCStr string using
-** sqlite3RCStrRef().
-**
-** "String" is in the name, but an RCStr object can also be used to hold
-** binary data.
- */
-type TRCStr1 = struct {
- FnRCRef Tu64
-}
-
-type RCStr1 = TRCStr1
-
// C documentation
//
// /*
@@ -11509,232 +8492,6 @@ type TSqlite3Config = struct {
type Sqlite3Config = TSqlite3Config
-/*
-** This macro is used inside of assert() statements to indicate that
-** the assert is only valid on a well-formed database. Instead of:
-**
-** assert( X );
-**
-** One writes:
-**
-** assert( X || CORRUPT_DB );
-**
-** CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate
-** that the database is definitely corrupt, only that it might be corrupt.
-** For most test cases, CORRUPT_DB is set to false using a special
-** sqlite3_test_control(). This enables assert() statements to prove
-** things that are always true for well-formed databases.
- */
-
-/*
-** Context pointer passed down through the tree-walk.
- */
-type TWalker1 = struct {
- FpParse uintptr
- FxExprCallback uintptr
- FxSelectCallback uintptr
- FxSelectCallback2 uintptr
- FwalkerDepth int32
- FeCode Tu16
- FmWFlags Tu16
- Fu struct {
- Fn [0]int32
- FiCur [0]int32
- FpSrcList [0]uintptr
- FpCCurHint [0]uintptr
- FpRefSrcList [0]uintptr
- FaiCol [0]uintptr
- FpIdxCover [0]uintptr
- FpGroupBy [0]uintptr
- FpSelect [0]uintptr
- FpRewrite [0]uintptr
- FpConst [0]uintptr
- FpRename [0]uintptr
- FpTab [0]uintptr
- FpCovIdxCk [0]uintptr
- FpSrcItem [0]uintptr
- FpFix [0]uintptr
- FaMem [0]uintptr
- FpNC uintptr
- }
-}
-
-type Walker1 = TWalker1
-
-/*
-** The following structure contains information used by the sqliteFix...
-** routines as they walk the parse tree to make database references
-** explicit.
- */
-type TDbFixer1 = struct {
- FpParse uintptr
- Fw TWalker
- FpSchema uintptr
- FbTemp Tu8
- FzDb uintptr
- FzType uintptr
- FpName uintptr
-}
-
-type DbFixer1 = TDbFixer1
-
-/*
-** Return code from the parse-tree walking primitives and their
-** callbacks.
- */
-
-/*
-** A single common table expression
- */
-type TCte1 = struct {
- FzName uintptr
- FpCols uintptr
- FpSelect uintptr
- FzCteErr uintptr
- FpUse uintptr
- FeM10d Tu8
-}
-
-type Cte1 = TCte1
-
-/*
-** Allowed values for the materialized flag (eM10d):
- */
-
-/*
-** An instance of the With object represents a WITH clause containing
-** one or more CTEs (common table expressions).
- */
-type TWith1 = struct {
- FnCte int32
- FbView int32
- FpOuter uintptr
-}
-
-type With1 = TWith1
-
-/* The size (in bytes) of a With object that can hold as many
-** as N different CTEs. */
-
-/*
-** The Cte object is not guaranteed to persist for the entire duration
-** of code generation. (The query flattener or other parser tree
-** edits might delete it.) The following object records information
-** about each Common Table Expression that must be preserved for the
-** duration of the parse.
-**
-** The CteUse objects are freed using sqlite3ParserAddCleanup() rather
-** than sqlite3SelectDelete(), which is what enables them to persist
-** until the end of code generation.
- */
-type TCteUse1 = struct {
- FnUse int32
- FaddrM9e int32
- FregRtn int32
- FiCur int32
- FnRowEst TLogEst
- FeM10d Tu8
-}
-
-type CteUse1 = TCteUse1
-
-/* Client data associated with sqlite3_set_clientdata() and
-** sqlite3_get_clientdata().
- */
-type TDbClientData1 = struct {
- FpNext uintptr
- FpData uintptr
- FxDestructor uintptr
-}
-
-type DbClientData1 = TDbClientData1
-
-/* The size (in bytes) of a DbClientData object that can has a name
-** that is N bytes long, including the zero-terminator. */
-
-/*
-** This object is used in various ways, most (but not all) related to window
-** functions.
-**
-** (1) A single instance of this structure is attached to the
-** the Expr.y.pWin field for each window function in an expression tree.
-** This object holds the information contained in the OVER clause,
-** plus additional fields used during code generation.
-**
-** (2) All window functions in a single SELECT form a linked-list
-** attached to Select.pWin. The Window.pFunc and Window.pExpr
-** fields point back to the expression that is the window function.
-**
-** (3) The terms of the WINDOW clause of a SELECT are instances of this
-** object on a linked list attached to Select.pWinDefn.
-**
-** (4) For an aggregate function with a FILTER clause, an instance
-** of this object is stored in Expr.y.pWin with eFrmType set to
-** TK_FILTER. In this case the only field used is Window.pFilter.
-**
-** The uses (1) and (2) are really the same Window object that just happens
-** to be accessible in two different ways. Use case (3) are separate objects.
- */
-type TWindow1 = struct {
- FzName uintptr
- FzBase uintptr
- FpPartition uintptr
- FpOrderBy uintptr
- FeFrmType Tu8
- FeStart Tu8
- FeEnd Tu8
- FbImplicitFrame Tu8
- FeExclude Tu8
- FpStart uintptr
- FpEnd uintptr
- FppThis uintptr
- FpNextWin uintptr
- FpFilter uintptr
- FpWFunc uintptr
- FiEphCsr int32
- FregAccum int32
- FregResult int32
- FcsrApp int32
- FregApp int32
- FregPart int32
- FpOwner uintptr
- FnBufferCol int32
- FiArgCol int32
- FregOne int32
- FregStartRowid int32
- FregEndRowid int32
- FbExprArgs Tu8
-}
-
-type Window1 = TWindow1
-
-/*
-** An instance of the following structure holds information about SQL
-** functions arguments that are the parameters to the printf() function.
- */
-type TPrintfArguments1 = struct {
- FnArg int32
- FnUsed int32
- FapArg uintptr
-}
-
-type PrintfArguments1 = TPrintfArguments1
-
-/*
-** An instance of this object receives the decoding of a floating point
-** value into an approximate decimal representation.
- */
-type TFpDecode1 = struct {
- Fsign int8
- FisSpecial int8
- Fn int32
- FiDP int32
- Fz uintptr
- FzBuf [24]int8
-}
-
-type FpDecode1 = TFpDecode1
-
/************** End of sqliteInt.h *******************************************/
/************** Begin file os_common.h ***************************************/
/*
@@ -12898,72 +9655,6 @@ type TVdbeCursor = struct {
type VdbeCursor = TVdbeCursor
-type TVdbeCursor1 = struct {
- FeCurType Tu8
- FiDb Ti8
- FnullRow Tu8
- FdeferredMoveto Tu8
- FisTable Tu8
- F__ccgo_align5 [3]byte
- F__ccgo8 uint8
- FseekHit Tu16
- Fub struct {
- FaAltMap [0]uintptr
- FpBtx uintptr
- }
- FseqCount Ti64
- FcacheStatus Tu32
- FseekResult int32
- FpAltCursor uintptr
- Fuc struct {
- FpVCur [0]uintptr
- FpSorter [0]uintptr
- FpCursor uintptr
- }
- FpKeyInfo uintptr
- FiHdrOffset Tu32
- FpgnoRoot TPgno
- FnField Ti16
- FnHdrParsed Tu16
- FmovetoTarget Ti64
- FaOffset uintptr
- FaRow uintptr
- FpayloadSize Tu32
- FszRow Tu32
- FpCache uintptr
-}
-
-type VdbeCursor1 = TVdbeCursor1
-
-/*
-** The size (in bytes) of a VdbeCursor object that has an nField value of N
-** or less. The value of SZ_VDBECURSOR(n) is guaranteed to be a multiple
-** of 8.
- */
-
-/* Return true if P is a null-only cursor
- */
-
-/*
-** A value for VdbeCursor.cacheStatus that means the cache is always invalid.
- */
-
-/*
-** Large TEXT or BLOB values can be slow to load, so we want to avoid
-** loading them more than once. For that reason, large TEXT and BLOB values
-** can be stored in a cache defined by this object, and attached to the
-** VdbeCursor using the pCache field.
- */
-type TVdbeTxtBlbCache1 = struct {
- FpCValue uintptr
- FiOffset Ti64
- FiCol int32
- FcacheStatus Tu32
- FcolCacheCtr Tu32
-}
-
-type VdbeTxtBlbCache1 = TVdbeTxtBlbCache1
-
// C documentation
//
// /*
@@ -13009,152 +9700,6 @@ type TVdbeFrame = struct {
type VdbeFrame = TVdbeFrame
-type TVdbeFrame1 = struct {
- Fv uintptr
- FpParent uintptr
- FaOp uintptr
- FaMem uintptr
- FapCsr uintptr
- FaOnce uintptr
- Ftoken uintptr
- FlastRowid Ti64
- FpAuxData uintptr
- FnCursor int32
- Fpc int32
- FnOp int32
- FnMem int32
- FnChildMem int32
- FnChildCsr int32
- FnChange Ti64
- FnDbChange Ti64
-}
-
-type VdbeFrame1 = TVdbeFrame1
-
-/*
-** Size of struct Mem not including the Mem.zMalloc member or anything that
-** follows.
- */
-
-/* One or more of the following flags are set to indicate the
-** representations of the value stored in the Mem struct.
-**
-** * MEM_Null An SQL NULL value
-**
-** * MEM_Null|MEM_Zero An SQL NULL with the virtual table
-** UPDATE no-change flag set
-**
-** * MEM_Null|MEM_Term| An SQL NULL, but also contains a
-** MEM_Subtype pointer accessible using
-** sqlite3_value_pointer().
-**
-** * MEM_Null|MEM_Cleared Special SQL NULL that compares non-equal
-** to other NULLs even using the IS operator.
-**
-** * MEM_Str A string, stored in Mem.z with
-** length Mem.n. Zero-terminated if
-** MEM_Term is set. This flag is
-** incompatible with MEM_Blob and
-** MEM_Null, but can appear with MEM_Int,
-** MEM_Real, and MEM_IntReal.
-**
-** * MEM_Blob A blob, stored in Mem.z length Mem.n.
-** Incompatible with MEM_Str, MEM_Null,
-** MEM_Int, MEM_Real, and MEM_IntReal.
-**
-** * MEM_Blob|MEM_Zero A blob in Mem.z of length Mem.n plus
-** MEM.u.i extra 0x00 bytes at the end.
-**
-** * MEM_Int Integer stored in Mem.u.i.
-**
-** * MEM_Real Real stored in Mem.u.r.
-**
-** * MEM_IntReal Real stored as an integer in Mem.u.i.
-**
-** If the MEM_Null flag is set, then the value is an SQL NULL value.
-** For a pointer type created using sqlite3_bind_pointer() or
-** sqlite3_result_pointer() the MEM_Term and MEM_Subtype flags are also set.
-**
-** If the MEM_Str flag is set then Mem.z points at a string representation.
-** Usually this is encoded in the same unicode encoding as the main
-** database (see below for exceptions). If the MEM_Term flag is also
-** set, then the string is nul terminated. The MEM_Int and MEM_Real
-** flags may coexist with the MEM_Str flag.
- */
-
-/* Extra bits that modify the meanings of the core datatypes above
- */
-/* 0x0080 // Available */
-
-/* Bits that determine the storage for Mem.z for a string or blob or
-** aggregate accumulator.
- */
-
-/* Return TRUE if Mem X contains dynamically allocated content - anything
-** that needs to be deallocated to avoid a leak.
- */
-
-/*
-** Clear any existing type flags from a Mem and replace them with f
- */
-
-/*
-** True if Mem X is a NULL-nochng type.
- */
-
-/*
-** Return true if a memory cell has been initialized and is valid.
-** is for use inside assert() statements only.
-**
-** A Memory cell is initialized if at least one of the
-** MEM_Null, MEM_Str, MEM_Int, MEM_Real, MEM_Blob, or MEM_IntReal bits
-** is set. It is "undefined" if all those bits are zero.
- */
-
-/*
-** Each auxiliary data pointer stored by a user defined function
-** implementation calling sqlite3_set_auxdata() is stored in an instance
-** of this structure. All such structures associated with a single VM
-** are stored in a linked list headed at Vdbe.pAuxData. All are destroyed
-** when the VM is halted (if not before).
- */
-type TAuxData1 = struct {
- FiAuxOp int32
- FiAuxArg int32
- FpAux uintptr
- FxDeleteAux uintptr
- FpNextAux uintptr
-}
-
-type AuxData1 = TAuxData1
-
-/*
-** The "context" argument for an installable function. A pointer to an
-** instance of this structure is the first argument to the routines used
-** implement the SQL functions.
-**
-** There is a typedef for this structure in sqlite.h. So all routines,
-** even the public interface to SQLite, can use a pointer to this structure.
-** But this file is the only place where the internal details of this
-** structure are known.
-**
-** This structure is defined inside of vdbeInt.h because it uses substructures
-** (Mem) which are only defined there.
- */
-type Tsqlite3_context1 = struct {
- FpOut uintptr
- FpFunc uintptr
- FpMem uintptr
- FpVdbe uintptr
- FiOp int32
- FisError int32
- Fenc Tu8
- FskipFlag Tu8
- Fargc Tu16
-}
-
-type sqlite3_context1 = Tsqlite3_context1
-
/*
** The size (in bytes) of an sqlite3_context object that holds N
** argv[] arguments.
@@ -13185,18 +9730,6 @@ type TScanStatus = struct {
type ScanStatus = TScanStatus
-type TScanStatus1 = struct {
- FaddrExplain int32
- FaAddrRange [6]int32
- FaddrLoop int32
- FaddrVisit int32
- FiSelectID int32
- FnEst TLogEst
- FzName uintptr
-}
-
-type ScanStatus1 = TScanStatus1
-
// C documentation
//
// /* The DblquoteStr object holds the text of a double-quoted
@@ -13213,101 +9746,6 @@ type TDblquoteStr = struct {
type DblquoteStr = TDblquoteStr
-type TDblquoteStr1 = struct {
- FpNextStr uintptr
- Fz [8]int8
-}
-
-type DblquoteStr1 = TDblquoteStr1
-
-/*
-** An instance of the virtual machine. This structure contains the complete
-** state of the virtual machine.
-**
-** The "sqlite3_stmt" structure pointer that is returned by sqlite3_prepare()
-** is really a pointer to an instance of this structure.
- */
-type TVdbe1 = struct {
- Fdb uintptr
- FppVPrev uintptr
- FpVNext uintptr
- FpParse uintptr
- FnVar TynVar
- FnMem int32
- FnCursor int32
- FcacheCtr Tu32
- Fpc int32
- Frc int32
- FnChange Ti64
- FiStatement int32
- FiCurrentTime Ti64
- FnFkConstraint Ti64
- FnStmtDefCons Ti64
- FnStmtDefImmCons Ti64
- FaMem uintptr
- FapArg uintptr
- FapCsr uintptr
- FaVar uintptr
- FaOp uintptr
- FnOp int32
- FnOpAlloc int32
- FaColName uintptr
- FpResultRow uintptr
- FzErrMsg uintptr
- FpVList uintptr
- FstartTime Ti64
- FnResColumn Tu16
- FnResAlloc Tu16
- FerrorAction Tu8
- FminWriteFileFormat Tu8
- FprepFlags Tu8
- FeVdbeState Tu8
- F__ccgo200 uint16
- FbtreeMask TyDbMask
- FlockMask TyDbMask
- FaCounter [9]Tu32
- FzSql uintptr
- FpFree uintptr
- FpFrame uintptr
- FpDelFrame uintptr
- FnFrame int32
- Fexpmask Tu32
- FpProgram uintptr
- FpAuxData uintptr
-}
-
-type Vdbe1 = TVdbe1
-
-/*
-** The following are allowed values for Vdbe.eVdbeState
- */
-
-/*
-** Structure used to store the context required by the
-** sqlite3_preupdate_*() API functions.
- */
-type TPreUpdate1 = struct {
- Fv uintptr
- FpCsr uintptr
- Fop int32
- FaRecord uintptr
- FpKeyinfo uintptr
- FpUnpacked uintptr
- FpNewUnpacked uintptr
- FiNewReg int32
- FiBlobWrite int32
- FiKey1 Ti64
- FiKey2 Ti64
- Foldipk TMem
- FaNew uintptr
- FpTab uintptr
- FpPk uintptr
- FapDflt uintptr
- FkeyinfoSpace [32]Tu8
-}
-
-type PreUpdate1 = TPreUpdate1
-
// C documentation
//
// /*
@@ -13329,13 +9767,6 @@ type TValueList = struct {
type ValueList = TValueList
-type TValueList1 = struct {
- FpCsr uintptr
- FpOut uintptr
-}
-
-type ValueList1 = TValueList1
-
/************** End of vdbeInt.h *********************************************/
/************** Continuing where we left off in status.c *********************/
@@ -13355,14 +9786,7 @@ type Tsqlite3StatType = struct {
type sqlite3StatType = Tsqlite3StatType
-type Tsqlite3StatType1 = struct {
- FnowValue [10]Tsqlite3StatValueType
- FmxValue [10]Tsqlite3StatValueType
-}
-
-type sqlite3StatType1 = Tsqlite3StatType1
-
-var _sqlite3Stat = Tsqlite3StatType1{}
+var _sqlite3Stat = Tsqlite3StatType{}
// C documentation
//
@@ -13441,7 +9865,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin
var pMutex, v1 uintptr
_, _ = pMutex, v1
if op < 0 || op >= libc.Int32FromUint64(libc.Uint64FromInt64(80)/libc.Uint64FromInt64(8)) {
- return _sqlite3MisuseError(tls, int32(24454))
+ return _sqlite3MisuseError(tls, int32(24456))
}
if _statMutex[op] != 0 {
v1 = _sqlite3Pcache1Mutex(tls)
@@ -13671,7 +10095,7 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p
goto _5
_5:
;
- pVdbe = (*TVdbe1)(unsafe.Pointer(pVdbe)).FpVNext
+ pVdbe = (*TVdbe)(unsafe.Pointer(pVdbe)).FpVNext
}
(*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FpEnd = (*Tsqlite3)(unsafe.Pointer(db)).Flookaside.FpTrueEnd
(*Tsqlite3)(unsafe.Pointer(db)).FpnBytesFreed = uintptr(0)
@@ -13806,24 +10230,6 @@ type TDateTime = struct {
type DateTime = TDateTime
-type TDateTime1 = struct {
- FiJD Tsqlite3_int64
- FY int32
- FM int32
- FD int32
- Fh int32
- Fm int32
- Ftz int32
- Fs float64
- FvalidJD int8
- FvalidYMD int8
- FvalidHMS int8
- FnFloor int8
- F__ccgo44 uint8
-}
-
-type DateTime1 = TDateTime1
-
// C documentation
//
// /*
@@ -15817,28 +12223,28 @@ func init() {
// */
func _sqlite3OsClose(tls *libc.TLS, pId uintptr) {
if (*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods != 0 {
- (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods)).FxClose})))(tls, pId)
+ (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods)).FxClose})))(tls, pId)
(*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = uintptr(0)
}
}
func _sqlite3OsRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Ti64) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxRead})))(tls, id, pBuf, amt, offset)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxRead})))(tls, id, pBuf, amt, offset)
}
func _sqlite3OsWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Ti64) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxWrite})))(tls, id, pBuf, amt, offset)
+ return (*(*func(*libc.TLS, uintptr, uintptr, int32, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxWrite})))(tls, id, pBuf, amt, offset)
}
func _sqlite3OsTruncate(tls *libc.TLS, id uintptr, size Ti64) (r int32) {
- return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxTruncate})))(tls, id, size)
+ return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxTruncate})))(tls, id, size)
}
func _sqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) (r int32) {
var v1 int32
_ = v1
if flags != 0 {
- v1 = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSync})))(tls, id, flags)
+ v1 = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSync})))(tls, id, flags)
} else {
v1 = SQLITE_OK
}
@@ -15846,19 +12252,19 @@ func _sqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) (r int32) {
}
func _sqlite3OsFileSize(tls *libc.TLS, id uintptr, pSize uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileSize})))(tls, id, pSize)
+ return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileSize})))(tls, id, pSize)
}
func _sqlite3OsLock(tls *libc.TLS, id uintptr, lockType int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxLock})))(tls, id, lockType)
+ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxLock})))(tls, id, lockType)
}
func _sqlite3OsUnlock(tls *libc.TLS, id uintptr, lockType int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnlock})))(tls, id, lockType)
+ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnlock})))(tls, id, lockType)
}
func _sqlite3OsCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxCheckReservedLock})))(tls, id, pResOut)
+ return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxCheckReservedLock})))(tls, id, pResOut)
}
// C documentation
@@ -15875,12 +12281,12 @@ func _sqlite3OsFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) (r
if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods == uintptr(0) {
return int32(SQLITE_NOTFOUND)
}
- return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
+ return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
}
func _sqlite3OsFileControlHint(tls *libc.TLS, id uintptr, op int32, pArg uintptr) {
if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods != 0 {
- (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
+ (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})))(tls, id, op, pArg)
}
}
@@ -15888,7 +12294,7 @@ func _sqlite3OsSectorSize(tls *libc.TLS, id uintptr) (r int32) {
var xSectorSize uintptr
var v1 int32
_, _ = xSectorSize, v1
- xSectorSize = (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSectorSize
+ xSectorSize = (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSectorSize
if xSectorSize != 0 {
v1 = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xSectorSize})))(tls, id)
} else {
@@ -15901,34 +12307,34 @@ func _sqlite3OsDeviceCharacteristics(tls *libc.TLS, id uintptr) (r int32) {
if (*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods == uintptr(0) {
return 0
}
- return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxDeviceCharacteristics})))(tls, id)
+ return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxDeviceCharacteristics})))(tls, id)
}
func _sqlite3OsShmLock(tls *libc.TLS, id uintptr, offset int32, n int32, flags int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmLock})))(tls, id, offset, n, flags)
+ return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmLock})))(tls, id, offset, n, flags)
}
func _sqlite3OsShmBarrier(tls *libc.TLS, id uintptr) {
- (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmBarrier})))(tls, id)
+ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmBarrier})))(tls, id)
}
func _sqlite3OsShmUnmap(tls *libc.TLS, id uintptr, deleteFlag int32) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmUnmap})))(tls, id, deleteFlag)
+ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmUnmap})))(tls, id, deleteFlag)
}
func _sqlite3OsShmMap(tls *libc.TLS, id uintptr, iPage int32, pgsz int32, bExtend int32, pp uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmMap})))(tls, id, iPage, pgsz, bExtend, pp)
+ return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmMap})))(tls, id, iPage, pgsz, bExtend, pp)
}
// C documentation
//
// /* The real implementation of xFetch and xUnfetch */
func _sqlite3OsFetch(tls *libc.TLS, id uintptr, iOff Ti64, iAmt int32, pp uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFetch})))(tls, id, iOff, iAmt, pp)
+ return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFetch})))(tls, id, iOff, iAmt, pp)
}
func _sqlite3OsUnfetch(tls *libc.TLS, id uintptr, iOff Ti64, p uintptr) (r int32) {
- return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnfetch})))(tls, id, iOff, p)
+ return (*(*func(*libc.TLS, uintptr, Tsqlite3_int64, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnfetch})))(tls, id, iOff, p)
}
// C documentation
@@ -16241,14 +12647,7 @@ type TBenignMallocHooks = struct {
type BenignMallocHooks = TBenignMallocHooks
-type TBenignMallocHooks1 = struct {
- FxBenignBegin uintptr
- FxBenignEnd uintptr
-}
-
-type BenignMallocHooks1 = TBenignMallocHooks1
-
-var _sqlite3Hooks = TBenignMallocHooks1{}
+var _sqlite3Hooks = TBenignMallocHooks{}
/* The "wsdHooks" macro will resolve to the appropriate BenignMallocHooks
** structure. If writable static data is unsupported on the target,
@@ -16263,9 +12662,9 @@ var _sqlite3Hooks = TBenignMallocHooks1{}
// ** Register hooks to call when sqlite3BeginBenignMalloc() and
// ** sqlite3EndBenignMalloc() are called, respectively.
// */
-func _sqlite3BenignMallocHooks(tls *libc.TLS, xBenignBegin uintptr, xBenignEnd uintptr) {
- _sqlite3Hooks.FxBenignBegin = xBenignBegin
- _sqlite3Hooks.FxBenignEnd = xBenignEnd
+func _sqlite3BenignMallocHooks(tls *libc.TLS, __ccgo_fp_xBenignBegin uintptr, __ccgo_fp_xBenignEnd uintptr) {
+ _sqlite3Hooks.FxBenignBegin = __ccgo_fp_xBenignBegin
+ _sqlite3Hooks.FxBenignEnd = __ccgo_fp_xBenignEnd
}
// C documentation
@@ -17012,27 +13411,6 @@ type t__ptcb = struct {
F__next uintptr
}
-type Tcpu_set_t1 = struct {
- F__bits [16]uint64
-}
-
-type cpu_set_t1 = Tcpu_set_t1
-
-/*
-** The sqlite3_mutex.id, sqlite3_mutex.nRef, and sqlite3_mutex.owner fields
-** are necessary under two conditions: (1) Debug builds and (2) using
-** home-grown mutexes. Encapsulate these conditions into a single #define.
- */
-
-/*
-** Each recursive mutex is an instance of the following structure.
- */
-type Tsqlite3_mutex1 = struct {
- Fmutex Tpthread_mutex_t
-}
-
-type sqlite3_mutex1 = Tsqlite3_mutex1
-
/*
** The sqlite3_mutex_held() and sqlite3_mutex_notheld() routine are
** intended for use only inside assert() statements. On some platforms,
@@ -17316,6 +13694,8 @@ func _sqlite3MallocMutex(tls *libc.TLS) (r uintptr) {
return _mem0.Fmutex
}
+type t__ccgo_fp__Xsqlite3_memory_alarm_0 = func(*libc.TLS, uintptr, int64, int32)
+
// C documentation
//
// /*
@@ -17323,8 +13703,8 @@ func _sqlite3MallocMutex(tls *libc.TLS) (r uintptr) {
// ** that was invoked when memory usage grew too large. Now it is a
// ** no-op.
// */
-func Xsqlite3_memory_alarm(tls *libc.TLS, xCallback uintptr, pArg uintptr, iThreshold Tsqlite3_int64) (r int32) {
- _ = xCallback
+func Xsqlite3_memory_alarm(tls *libc.TLS, __ccgo_fp_xCallback uintptr, pArg uintptr, iThreshold Tsqlite3_int64) (r int32) {
+ _ = __ccgo_fp_xCallback
_ = pArg
_ = iThreshold
return SQLITE_OK
@@ -20632,56 +17012,10 @@ func _sqlite3PrngRestoreState(tls *libc.TLS) {
libc.Xmemcpy(tls, uintptr(unsafe.Pointer(&_sqlite3Prng)), uintptr(unsafe.Pointer(&_sqlite3SavedPrng)), uint64(132))
}
-/************** End of random.c **********************************************/
-/************** Begin file threads.c *****************************************/
-/*
-** 2012 July 21
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-******************************************************************************
-**
-** This file presents a simple cross-platform threading interface for
-** use internally by SQLite.
-**
-** A "thread" can be created using sqlite3ThreadCreate(). This thread
-** runs independently of its creator until it is joined using
-** sqlite3ThreadJoin(), at which point it terminates.
-**
-** Threads do not have to be real. It could be that the work of the
-** "thread" is done by the main thread at either the sqlite3ThreadCreate()
-** or sqlite3ThreadJoin() call. This is, in fact, what happens in
-** single threaded systems. Nothing in SQLite requires multiple threads.
-** This interface exists so that applications that want to take advantage
-** of multiple cores can do so, while also allowing applications to stay
-** single-threaded if desired.
- */
-/* #include "sqliteInt.h" */
-
-/********************************* Unix Pthreads ****************************/
-
-/* #include */
-
-/* A running thread */
-type TSQLiteThread1 = struct {
- Ftid Tpthread_t
- Fdone int32
- FpOut uintptr
- FxTask uintptr
- FpIn uintptr
-}
-
-type SQLiteThread1 = TSQLiteThread1
-
// C documentation
//
// /* Create a new thread */
-func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, xTask uintptr, pIn uintptr) (r int32) {
+func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, __ccgo_fp_xTask uintptr, pIn uintptr) (r int32) {
var p uintptr
var rc int32
_, _ = p, rc
@@ -20692,7 +17026,7 @@ func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, xTask uintptr, pIn ui
return int32(SQLITE_NOMEM)
}
libc.Xmemset(tls, p, 0, uint64(40))
- (*TSQLiteThread)(unsafe.Pointer(p)).FxTask = xTask
+ (*TSQLiteThread)(unsafe.Pointer(p)).FxTask = __ccgo_fp_xTask
(*TSQLiteThread)(unsafe.Pointer(p)).FpIn = pIn
/* If the SQLITE_TESTCTRL_FAULT_INSTALL callback is registered to a
** function that returns SQLITE_ERROR when passed the argument 200, that
@@ -20701,11 +17035,11 @@ func _sqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, xTask uintptr, pIn ui
if _sqlite3FaultSim(tls, int32(200)) != 0 {
rc = int32(1)
} else {
- rc = libc.Xpthread_create(tls, p, uintptr(0), xTask, pIn)
+ rc = libc.Xpthread_create(tls, p, uintptr(0), __ccgo_fp_xTask, pIn)
}
if rc != 0 {
(*TSQLiteThread)(unsafe.Pointer(p)).Fdone = int32(1)
- (*TSQLiteThread)(unsafe.Pointer(p)).FpOut = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(&struct{ uintptr }{xTask})))(tls, pIn)
+ (*TSQLiteThread)(unsafe.Pointer(p)).FpOut = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xTask})))(tls, pIn)
}
*(*uintptr)(unsafe.Pointer(ppThread)) = p
return SQLITE_OK
@@ -24514,22 +20848,6 @@ type TUnixUnusedFd = struct {
type UnixUnusedFd = TUnixUnusedFd
-/* An unused file descriptor */
-
-/*
-** Sometimes, after a file handle is closed by SQLite, the file descriptor
-** cannot be closed immediately. In these cases, instances of the following
-** structure are used to store the file descriptor while waiting for an
-** opportunity to either close or reuse it.
- */
-type TUnixUnusedFd1 = struct {
- Ffd int32
- Fflags int32
- FpNext uintptr
-}
-
-type UnixUnusedFd1 = TUnixUnusedFd1
-
// C documentation
//
// /*
@@ -24560,30 +20878,6 @@ type TunixFile = struct {
type unixFile = TunixFile
-type TunixFile1 = struct {
- FpMethod uintptr
- FpVfs uintptr
- FpInode uintptr
- Fh int32
- FeFileLock uint8
- FctrlFlags uint16
- FlastErrno int32
- FlockingContext uintptr
- FpPreallocatedUnused uintptr
- FzPath uintptr
- FpShm uintptr
- FszChunk int32
- FnFetchOut int32
- FmmapSize Tsqlite3_int64
- FmmapSizeActual Tsqlite3_int64
- FmmapSizeMax Tsqlite3_int64
- FpMapRegion uintptr
- FsectorSize int32
- FdeviceCharacteristics int32
-}
-
-type unixFile1 = TunixFile1
-
// C documentation
//
// /* This variable holds the process id (pid) from when the xRandomness()
@@ -24810,7 +21104,7 @@ func _robustFchown(tls *libc.TLS, fd int32, uid Tuid_t, gid Tgid_t) (r int32) {
// ** system call pointer, or SQLITE_NOTFOUND if there is no configurable
// ** system call named zName.
// */
-func _unixSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, pNewFunc Tsqlite3_syscall_ptr) (r int32) {
+func _unixSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, __ccgo_fp_pNewFunc Tsqlite3_syscall_ptr) (r int32) {
var i uint32
var rc int32
_, _ = i, rc
@@ -24848,10 +21142,10 @@ func _unixSetSystemCall(tls *libc.TLS, pNotUsed uintptr, zName uintptr, pNewFunc
_aSyscall[i].FpDefault = _aSyscall[i].FpCurrent
}
rc = SQLITE_OK
- if pNewFunc == uintptr(0) {
- pNewFunc = _aSyscall[i].FpDefault
+ if __ccgo_fp_pNewFunc == uintptr(0) {
+ __ccgo_fp_pNewFunc = _aSyscall[i].FpDefault
}
- _aSyscall[i].FpCurrent = pNewFunc
+ _aSyscall[i].FpCurrent = __ccgo_fp_pNewFunc
break
}
goto _2
@@ -25226,47 +21520,6 @@ type TunixFileId = struct {
type unixFileId = TunixFileId
-/*
-** An instance of the following structure is allocated for each open
-** inode.
-**
-** A single inode can have multiple file descriptors, so each unixFile
-** structure contains a pointer to an instance of this object and this
-** object keeps a count of the number of unixFile pointing to it.
-**
-** Mutex rules:
-**
-** (1) Only the pLockMutex mutex must be held in order to read or write
-** any of the locking fields:
-** nShared, nLock, eFileLock, bProcessLock, pUnused
-**
-** (2) When nRef>0, then the following fields are unchanging and can
-** be read (but not written) without holding any mutex:
-** fileId, pLockMutex
-**
-** (3) With the exceptions above, all the fields may only be read
-** or written while holding the global unixBigLock mutex.
-**
-** Deadlock prevention: The global unixBigLock mutex may not
-** be acquired while holding the pLockMutex mutex. If both unixBigLock
-** and pLockMutex are needed, then unixBigLock must be acquired first.
- */
-type TunixInodeInfo1 = struct {
- FfileId TunixFileId
- FpLockMutex uintptr
- FnShared int32
- FnLock int32
- FeFileLock uint8
- FbProcessLock uint8
- FpUnused uintptr
- FnRef int32
- FpShmNode uintptr
- FpNext uintptr
- FpPrev uintptr
-}
-
-type unixInodeInfo1 = TunixInodeInfo1
-
// C documentation
//
// /*
@@ -25367,7 +21620,7 @@ func _closePendingFds(tls *libc.TLS, pFile uintptr) {
break
}
pNext = (*TUnixUnusedFd)(unsafe.Pointer(p)).FpNext
- _robust_close(tls, pFile, (*TUnixUnusedFd)(unsafe.Pointer(p)).Ffd, int32(40205))
+ _robust_close(tls, pFile, (*TUnixUnusedFd)(unsafe.Pointer(p)).Ffd, int32(40207))
Xsqlite3_free(tls, p)
goto _1
_1:
@@ -25997,7 +22250,7 @@ func _closeUnixFile(tls *libc.TLS, id uintptr) (r int32) {
pFile = id
_unixUnmapfile(tls, pFile)
if (*TunixFile)(unsafe.Pointer(pFile)).Fh >= 0 {
- _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40996))
+ _robust_close(tls, pFile, (*TunixFile)(unsafe.Pointer(pFile)).Fh, int32(40998))
(*TunixFile)(unsafe.Pointer(pFile)).Fh = -int32(1)
}
Xsqlite3_free(tls, (*TunixFile)(unsafe.Pointer(pFile)).FpPreallocatedUnused)
@@ -26628,7 +22881,7 @@ func _openDirectory(tls *libc.TLS, zFilename uintptr, pFd uintptr) (r int32) {
if fd >= 0 {
return SQLITE_OK
}
- return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42577)), __ccgo_ts+3605, bp, int32(42577))
+ return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(42579)), __ccgo_ts+3605, bp, int32(42579))
}
// C documentation
@@ -26665,7 +22918,7 @@ func _unixSync(tls *libc.TLS, id uintptr, flags int32) (r int32) {
rc = _full_fsync(tls, (*TunixFile)(unsafe.Pointer(pFile)).Fh, isFullsync, isDataOnly)
if rc != 0 {
_storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))))
- return _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(4)<pShmMutex must
-** be held while accessing any read/write fields.
- */
-type TunixShm1 = struct {
- FpShmNode uintptr
- FpNext uintptr
- FhasMutex Tu8
- Fid Tu8
- FsharedMask Tu16
- FexclMask Tu16
-}
-
-type unixShm1 = TunixShm1
-
/*
** Constants used for locking
*/
@@ -27213,7 +23377,7 @@ func _unixShmPurge(tls *libc.TLS, pFd uintptr) {
}
Xsqlite3_free(tls, (*TunixShmNode)(unsafe.Pointer(p)).FapRegion)
if (*TunixShmNode)(unsafe.Pointer(p)).FhShm >= 0 {
- _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(43394))
+ _robust_close(tls, pFd, (*TunixShmNode)(unsafe.Pointer(p)).FhShm, int32(43396))
(*TunixShmNode)(unsafe.Pointer(p)).FhShm = -int32(1)
}
(*TunixInodeInfo)(unsafe.Pointer((*TunixShmNode)(unsafe.Pointer(p)).FpInode)).FpShmNode = uintptr(0)
@@ -27276,7 +23440,7 @@ func _unixLockSharedMemory(tls *libc.TLS, pDbFd uintptr, pShmNode uintptr) (r in
** help detect if a -shm file truncation is legitimate or is the work
** or a rogue process. */
if rc == SQLITE_OK && _robust_ftruncate(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(3)) != 0 {
- rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(18)<pFirst. This must be done while holding the
** pShmNode->pShmMutex.
*/
- Xsqlite3_mutex_enter(tls, (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpShmMutex)
- (*TunixShm1)(unsafe.Pointer(p)).FpNext = (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpFirst
- (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpFirst = p
- Xsqlite3_mutex_leave(tls, (*TunixShmNode1)(unsafe.Pointer(pShmNode)).FpShmMutex)
+ Xsqlite3_mutex_enter(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpShmMutex)
+ (*TunixShm)(unsafe.Pointer(p)).FpNext = (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpFirst
+ (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpFirst = p
+ Xsqlite3_mutex_leave(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FpShmMutex)
return rc
/* Jump here on any error */
goto shm_open_err
@@ -27509,7 +23673,7 @@ func _unixShmMap(tls *libc.TLS, fd uintptr, iRegion int32, szRegion int32, bExte
*(*int32)(unsafe.Pointer(bp + 144)) = 0
if _seekAndWriteFd(tls, (*TunixShmNode)(unsafe.Pointer(pShmNode)).FhShm, int64(iPg*_pgsz+_pgsz-int32(1)), __ccgo_ts+1667, int32(1), bp+144) != int32(1) {
zFile = (*TunixShmNode)(unsafe.Pointer(pShmNode)).FzFilename
- rc = _unixLogErrorAtLine(tls, libc.Int32FromInt32(SQLITE_IOERR)|libc.Int32FromInt32(19)<= 0 {
- _robust_close(tls, pNew, h, int32(44804))
+ _robust_close(tls, pNew, h, int32(44806))
}
} else {
(*Tsqlite3_file)(unsafe.Pointer(pId)).FpMethods = pLockingStyle
@@ -28678,7 +24842,7 @@ func _unixOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, flags
}
}
if fd < 0 {
- rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45252)), __ccgo_ts+3488, zName, int32(45252))
+ rc2 = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45254)), __ccgo_ts+3488, zName, int32(45254))
if rc == SQLITE_OK {
rc = rc2
}
@@ -28755,7 +24919,7 @@ func _unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) (
if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(ENOENT) {
rc = libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(23)< int32(SQLITE_MAX_SYMLINK) {
- (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45503))
+ (*TDbPath)(unsafe.Pointer(pPath)).Frc = _sqlite3CantopenError(tls, int32(45505))
return
}
got = (*(*func(*libc.TLS, uintptr, uintptr, Tsize_t) Tssize_t)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(26)].FpCurrent})))(tls, zIn, bp+144, libc.Uint64FromInt64(4098)-libc.Uint64FromInt32(2))
if got <= 0 || got >= libc.Int64FromInt64(4098)-libc.Int64FromInt32(2) {
- (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45508)), __ccgo_ts+3677, zIn, int32(45508))
+ (*TDbPath)(unsafe.Pointer(pPath)).Frc = _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45510)), __ccgo_ts+3677, zIn, int32(45510))
return
}
(*(*[4098]int8)(unsafe.Pointer(bp + 144)))[got] = 0
@@ -28953,14 +25107,14 @@ func _unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z
(*(*TDbPath)(unsafe.Pointer(bp))).FzOut = zOut
if int32(*(*int8)(unsafe.Pointer(zPath))) != int32('/') {
if (*(*func(*libc.TLS, uintptr, Tsize_t) uintptr)(unsafe.Pointer(&struct{ uintptr }{_aSyscall[int32(3)].FpCurrent})))(tls, bp+24, libc.Uint64FromInt64(4098)-libc.Uint64FromInt32(2)) == uintptr(0) {
- return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45566)), __ccgo_ts+3506, zPath, int32(45566))
+ return _unixLogErrorAtLine(tls, _sqlite3CantopenError(tls, int32(45568)), __ccgo_ts+3506, zPath, int32(45568))
}
_appendAllPathElements(tls, bp, bp+24)
}
_appendAllPathElements(tls, bp, zPath)
*(*int8)(unsafe.Pointer(zOut + uintptr((*(*TDbPath)(unsafe.Pointer(bp))).FnUsed))) = 0
if (*(*TDbPath)(unsafe.Pointer(bp))).Frc != 0 || (*(*TDbPath)(unsafe.Pointer(bp))).FnUsed < int32(2) {
- return _sqlite3CantopenError(tls, int32(45572))
+ return _sqlite3CantopenError(tls, int32(45574))
}
if (*(*TDbPath)(unsafe.Pointer(bp))).FnSymlink != 0 {
return libc.Int32FromInt32(SQLITE_OK) | libc.Int32FromInt32(2)<BITVEC_NBIT and iDivisor==0 then Bitvec.u.aHash[] is
-** a hash table that will hold up to BITVEC_MXHASH distinct values.
-**
-** Otherwise, the value i is redirected into one of BITVEC_NPTR
-** sub-bitmaps pointed to by Bitvec.u.apSub[]. Each subbitmap
-** handles up to iDivisor separate values of i. apSub[0] holds
-** values between 1 and iDivisor. apSub[1] holds values between
-** iDivisor+1 and 2*iDivisor. apSub[N] holds values between
-** N*iDivisor+1 and (N+1)*iDivisor. Each subbitmap is normalized
-** to hold deal with values between 1 and iDivisor.
- */
-type TBitvec1 = struct {
- FiSize Tu32
- FnSet Tu32
- FiDivisor Tu32
- Fu struct {
- FaHash [0][124]Tu32
- FapSub [0][62]uintptr
- FaBitmap [496]Tu8
- }
-}
-
-type Bitvec1 = TBitvec1
-
// C documentation
//
// /*
@@ -31032,66 +27026,6 @@ bitvec_end:
return rc
}
-/************** End of bitvec.c **********************************************/
-/************** Begin file pcache.c ******************************************/
-/*
-** 2008 August 05
-**
-** The author disclaims copyright to this source code. In place of
-** a legal notice, here is a blessing:
-**
-** May you do good and not evil.
-** May you find forgiveness for yourself and forgive others.
-** May you share freely, never taking more than you give.
-**
-*************************************************************************
-** This file implements that page cache.
- */
-/* #include "sqliteInt.h" */
-
-/*
-** A complete page cache is an instance of this structure. Every
-** entry in the cache holds a single page of the database file. The
-** btree layer only operates on the cached copy of the database pages.
-**
-** A page cache entry is "clean" if it exactly matches what is currently
-** on disk. A page is "dirty" if it has been modified and needs to be
-** persisted to disk.
-**
-** pDirty, pDirtyTail, pSynced:
-** All dirty pages are linked into the doubly linked list using
-** PgHdr.pDirtyNext and pDirtyPrev. The list is maintained in LRU order
-** such that p was added to the list more recently than p->pDirtyNext.
-** PCache.pDirty points to the first (newest) element in the list and
-** pDirtyTail to the last (oldest).
-**
-** The PCache.pSynced variable is used to optimize searching for a dirty
-** page to eject from the cache mid-transaction. It is better to eject
-** a page that does not require a journal sync than one that does.
-** Therefore, pSynced is maintained so that it *almost* always points
-** to either the oldest page in the pDirty/pDirtyTail list that has a
-** clear PGHDR_NEED_SYNC flag or to a page that is older than this one
-** (so that the right page to eject can be found by following pDirtyPrev
-** pointers).
- */
-type TPCache2 = struct {
- FpDirty uintptr
- FpDirtyTail uintptr
- FpSynced uintptr
- FnRefSum Ti64
- FszCache int32
- FszSpill int32
- FszPage int32
- FszExtra int32
- FbPurgeable Tu8
- FeCreate Tu8
- FxStress uintptr
- FpStress uintptr
- FpCache uintptr
-}
-
-type PCache2 = TPCache2
-
/********************************** Test and Debug Logic **********************/
/*
** Debug tracing macros. Enable by by changing the "0" to "1" and
@@ -31265,14 +27199,14 @@ func _sqlite3PcacheSize(tls *libc.TLS) (r int32) {
// ** to this module, the extra space really ends up being the MemPage
// ** structure in the pager.
// */
-func _sqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, xStress uintptr, pStress uintptr, p uintptr) (r int32) {
+func _sqlite3PcacheOpen(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32, __ccgo_fp_xStress uintptr, pStress uintptr, p uintptr) (r int32) {
libc.Xmemset(tls, p, 0, uint64(80))
(*TPCache)(unsafe.Pointer(p)).FszPage = int32(1)
(*TPCache)(unsafe.Pointer(p)).FszExtra = szExtra
/* First 8 bytes will be zeroed */
(*TPCache)(unsafe.Pointer(p)).FbPurgeable = libc.Uint8FromInt32(bPurgeable)
(*TPCache)(unsafe.Pointer(p)).FeCreate = uint8(2)
- (*TPCache)(unsafe.Pointer(p)).FxStress = xStress
+ (*TPCache)(unsafe.Pointer(p)).FxStress = __ccgo_fp_xStress
(*TPCache)(unsafe.Pointer(p)).FpStress = pStress
(*TPCache)(unsafe.Pointer(p)).FszCache = int32(100)
(*TPCache)(unsafe.Pointer(p)).FszSpill = int32(1)
@@ -32088,123 +28022,6 @@ type TPGroup = struct {
type PGroup = TPGroup
-/*
-** Each cache entry is represented by an instance of the following
-** structure. A buffer of PgHdr1.pCache->szPage bytes is allocated
-** directly before this structure and is used to cache the page content.
-**
-** When reading a corrupt database file, it is possible that SQLite might
-** read a few bytes (no more than 16 bytes) past the end of the page buffer.
-** It will only read past the end of the page buffer, never write. This
-** object is positioned immediately after the page buffer to serve as an
-** overrun area, so that overreads are harmless.
-**
-** Variables isBulkLocal and isAnchor were once type "u8". That works,
-** but causes a 2-byte gap in the structure for most architectures (since
-** pointers must be either 4 or 8-byte aligned). As this structure is located
-** in memory directly after the associated page data, if the database is
-** corrupt, code at the b-tree layer may overread the page buffer and
-** read part of this structure before the corruption is detected. This
-** can cause a valgrind error if the uninitialized gap is accessed. Using u16
-** ensures there is no such gap, and therefore no bytes of uninitialized
-** memory in the structure.
-**
-** The pLruNext and pLruPrev pointers form a double-linked circular list
-** of all pages that are unpinned. The PGroup.lru element (which should be
-** the only element on the list with PgHdr1.isAnchor set to 1) forms the
-** beginning and the end of the list.
- */
-type TPgHdr11 = struct {
- Fpage Tsqlite3_pcache_page
- FiKey uint32
- FisBulkLocal Tu16
- FisAnchor Tu16
- FpNext uintptr
- FpCache uintptr
- FpLruNext uintptr
- FpLruPrev uintptr
-}
-
-type PgHdr11 = TPgHdr11
-
-/*
-** A page is pinned if it is not on the LRU list. To be "pinned" means
-** that the page is in active use and must not be deallocated.
- */
-
-/* Each page cache (or PCache) belongs to a PGroup. A PGroup is a set
-** of one or more PCaches that are able to recycle each other's unpinned
-** pages when they are under memory pressure. A PGroup is an instance of
-** the following object.
-**
-** This page cache implementation works in one of two modes:
-**
-** (1) Every PCache is the sole member of its own PGroup. There is
-** one PGroup per PCache.
-**
-** (2) There is a single global PGroup that all PCaches are a member
-** of.
-**
-** Mode 1 uses more memory (since PCache instances are not able to rob
-** unused pages from other PCaches) but it also operates without a mutex,
-** and is therefore often faster. Mode 2 requires a mutex in order to be
-** threadsafe, but recycles pages more efficiently.
-**
-** For mode (1), PGroup.mutex is NULL. For mode (2) there is only a single
-** PGroup which is the pcache1.grp global variable and its mutex is
-** SQLITE_MUTEX_STATIC_LRU.
- */
-type TPGroup1 = struct {
- Fmutex uintptr
- FnMaxPage uint32
- FnMinPage uint32
- FmxPinned uint32
- FnPurgeable uint32
- Flru TPgHdr1
-}
-
-type PGroup1 = TPGroup1
-
-/* Each page cache is an instance of the following object. Every
-** open database file (including each in-memory database and each
-** temporary or transient database) has a single page cache which
-** is an instance of this object.
-**
-** Pointers to structures of this type are cast and returned as
-** opaque sqlite3_pcache* handles.
- */
-type TPCache11 = struct {
- FpGroup uintptr
- FpnPurgeable uintptr
- FszPage int32
- FszExtra int32
- FszAlloc int32
- FbPurgeable int32
- FnMin uint32
- FnMax uint32
- Fn90pct uint32
- FiMaxKey uint32
- FnPurgeableDummy uint32
- FnRecyclable uint32
- FnPage uint32
- FnHash uint32
- FapHash uintptr
- FpFree uintptr
- FpBulk uintptr
-}
-
-type PCache11 = TPCache11
-
-/*
-** Free slots in the allocator used to divide up the global page cache
-** buffer provided using the SQLITE_CONFIG_PAGECACHE mechanism.
- */
-type TPgFreeslot1 = struct {
- FpNext uintptr
-}
-
-type PgFreeslot1 = TPgFreeslot1
-
// C documentation
//
// /*
@@ -33401,25 +29218,6 @@ type TRowSetChunk = struct {
type RowSetChunk = TRowSetChunk
-/*
-** A RowSet in an instance of the following structure.
-**
-** A typedef of this structure if found in sqliteInt.h.
- */
-type TRowSet1 = struct {
- FpChunk uintptr
- Fdb uintptr
- FpEntry uintptr
- FpLast uintptr
- FpFresh uintptr
- FpForest uintptr
- FnFresh Tu16
- FrsFlags Tu16
- FiBatch int32
-}
-
-type RowSet1 = TRowSet1
-
/*
** Allowed values for RowSet.rsFlags
*/
@@ -34381,258 +30179,6 @@ type TPagerSavepoint = struct {
type PagerSavepoint = TPagerSavepoint
-type TPagerSavepoint1 = struct {
- FiOffset Ti64
- FiHdrOffset Ti64
- FpInSavepoint uintptr
- FnOrig TPgno
- FiSubRec TPgno
- FbTruncateOnRelease int32
- FaWalData [4]Tu32
-}
-
-type PagerSavepoint1 = TPagerSavepoint1
-
-/*
-** Bits of the Pager.doNotSpill flag. See further description below.
- */
-
-/*
-** An open page cache is an instance of struct Pager. A description of
-** some of the more important member variables follows:
-**
-** eState
-**
-** The current 'state' of the pager object. See the comment and state
-** diagram above for a description of the pager state.
-**
-** eLock
-**
-** For a real on-disk database, the current lock held on the database file -
-** NO_LOCK, SHARED_LOCK, RESERVED_LOCK or EXCLUSIVE_LOCK.
-**
-** For a temporary or in-memory database (neither of which require any
-** locks), this variable is always set to EXCLUSIVE_LOCK. Since such
-** databases always have Pager.exclusiveMode==1, this tricks the pager
-** logic into thinking that it already has all the locks it will ever
-** need (and no reason to release them).
-**
-** In some (obscure) circumstances, this variable may also be set to
-** UNKNOWN_LOCK. See the comment above the #define of UNKNOWN_LOCK for
-** details.
-**
-** changeCountDone
-**
-** This boolean variable is used to make sure that the change-counter
-** (the 4-byte header field at byte offset 24 of the database file) is
-** not updated more often than necessary.
-**
-** It is set to true when the change-counter field is updated, which
-** can only happen if an exclusive lock is held on the database file.
-** It is cleared (set to false) whenever an exclusive lock is
-** relinquished on the database file. Each time a transaction is committed,
-** The changeCountDone flag is inspected. If it is true, the work of
-** updating the change-counter is omitted for the current transaction.
-**
-** This mechanism means that when running in exclusive mode, a connection
-** need only update the change-counter once, for the first transaction
-** committed.
-**
-** setSuper
-**
-** When PagerCommitPhaseOne() is called to commit a transaction, it may
-** (or may not) specify a super-journal name to be written into the
-** journal file before it is synced to disk.
-**
-** Whether or not a journal file contains a super-journal pointer affects
-** the way in which the journal file is finalized after the transaction is
-** committed or rolled back when running in "journal_mode=PERSIST" mode.
-** If a journal file does not contain a super-journal pointer, it is
-** finalized by overwriting the first journal header with zeroes. If
-** it does contain a super-journal pointer the journal file is finalized
-** by truncating it to zero bytes, just as if the connection were
-** running in "journal_mode=truncate" mode.
-**
-** Journal files that contain super-journal pointers cannot be finalized
-** simply by overwriting the first journal-header with zeroes, as the
-** super-journal pointer could interfere with hot-journal rollback of any
-** subsequently interrupted transaction that reuses the journal file.
-**
-** The flag is cleared as soon as the journal file is finalized (either
-** by PagerCommitPhaseTwo or PagerRollback). If an IO error prevents the
-** journal file from being successfully finalized, the setSuper flag
-** is cleared anyway (and the pager will move to ERROR state).
-**
-** doNotSpill
-**
-** This variables control the behavior of cache-spills (calls made by
-** the pcache module to the pagerStress() routine to write cached data
-** to the file-system in order to free up memory).
-**
-** When bits SPILLFLAG_OFF or SPILLFLAG_ROLLBACK of doNotSpill are set,
-** writing to the database from pagerStress() is disabled altogether.
-** The SPILLFLAG_ROLLBACK case is done in a very obscure case that
-** comes up during savepoint rollback that requires the pcache module
-** to allocate a new page to prevent the journal file from being written
-** while it is being traversed by code in pager_playback(). The SPILLFLAG_OFF
-** case is a user preference.
-**
-** If the SPILLFLAG_NOSYNC bit is set, writing to the database from
-** pagerStress() is permitted, but syncing the journal file is not.
-** This flag is set by sqlite3PagerWrite() when the file-system sector-size
-** is larger than the database page-size in order to prevent a journal sync
-** from happening in between the journalling of two pages on the same sector.
-**
-** subjInMemory
-**
-** This is a boolean variable. If true, then any required sub-journal
-** is opened as an in-memory journal file. If false, then in-memory
-** sub-journals are only used for in-memory pager files.
-**
-** This variable is updated by the upper layer each time a new
-** write-transaction is opened.
-**
-** dbSize, dbOrigSize, dbFileSize
-**
-** Variable dbSize is set to the number of pages in the database file.
-** It is valid in PAGER_READER and higher states (all states except for
-** OPEN and ERROR).
-**
-** dbSize is set based on the size of the database file, which may be
-** larger than the size of the database (the value stored at offset
-** 28 of the database header by the btree). If the size of the file
-** is not an integer multiple of the page-size, the value stored in
-** dbSize is rounded down (i.e. a 5KB file with 2K page-size has dbSize==2).
-** Except, any file that is greater than 0 bytes in size is considered
-** to have at least one page. (i.e. a 1KB file with 2K page-size leads
-** to dbSize==1).
-**
-** During a write-transaction, if pages with page-numbers greater than
-** dbSize are modified in the cache, dbSize is updated accordingly.
-** Similarly, if the database is truncated using PagerTruncateImage(),
-** dbSize is updated.
-**
-** Variables dbOrigSize and dbFileSize are valid in states
-** PAGER_WRITER_LOCKED and higher. dbOrigSize is a copy of the dbSize
-** variable at the start of the transaction. It is used during rollback,
-** and to determine whether or not pages need to be journalled before
-** being modified.
-**
-** Throughout a write-transaction, dbFileSize contains the size of
-** the file on disk in pages. It is set to a copy of dbSize when the
-** write-transaction is first opened, and updated when VFS calls are made
-** to write or truncate the database file on disk.
-**
-** The only reason the dbFileSize variable is required is to suppress
-** unnecessary calls to xTruncate() after committing a transaction. If,
-** when a transaction is committed, the dbFileSize variable indicates
-** that the database file is larger than the database image (Pager.dbSize),
-** pager_truncate() is called. The pager_truncate() call uses xFilesize()
-** to measure the database file on disk, and then truncates it if required.
-** dbFileSize is not used when rolling back a transaction. In this case
-** pager_truncate() is called unconditionally (which means there may be
-** a call to xFilesize() that is not strictly required). In either case,
-** pager_truncate() may cause the file to become smaller or larger.
-**
-** dbHintSize
-**
-** The dbHintSize variable is used to limit the number of calls made to
-** the VFS xFileControl(FCNTL_SIZE_HINT) method.
-**
-** dbHintSize is set to a copy of the dbSize variable when a
-** write-transaction is opened (at the same time as dbFileSize and
-** dbOrigSize). If the xFileControl(FCNTL_SIZE_HINT) method is called,
-** dbHintSize is increased to the number of pages that correspond to the
-** size-hint passed to the method call. See pager_write_pagelist() for
-** details.
-**
-** errCode
-**
-** The Pager.errCode variable is only ever used in PAGER_ERROR state. It
-** is set to zero in all other states. In PAGER_ERROR state, Pager.errCode
-** is always set to SQLITE_FULL, SQLITE_IOERR or one of the SQLITE_IOERR_XXX
-** sub-codes.
-**
-** syncFlags, walSyncFlags
-**
-** syncFlags is either SQLITE_SYNC_NORMAL (0x02) or SQLITE_SYNC_FULL (0x03).
-** syncFlags is used for rollback mode. walSyncFlags is used for WAL mode
-** and contains the flags used to sync the checkpoint operations in the
-** lower two bits, and sync flags used for transaction commits in the WAL
-** file in bits 0x04 and 0x08. In other words, to get the correct sync flags
-** for checkpoint operations, use (walSyncFlags&0x03) and to get the correct
-** sync flags for transaction commit, use ((walSyncFlags>>2)&0x03). Note
-** that with synchronous=NORMAL in WAL mode, transaction commit is not synced
-** meaning that the 0x04 and 0x08 bits are both zero.
- */
-type TPager1 = struct {
- FpVfs uintptr
- FexclusiveMode Tu8
- FjournalMode Tu8
- FuseJournal Tu8
- FnoSync Tu8
- FfullSync Tu8
- FextraSync Tu8
- FsyncFlags Tu8
- FwalSyncFlags Tu8
- FtempFile Tu8
- FnoLock Tu8
- FreadOnly Tu8
- FmemDb Tu8
- FmemVfs Tu8
- FeState Tu8
- FeLock Tu8
- FchangeCountDone Tu8
- FsetSuper Tu8
- FdoNotSpill Tu8
- FsubjInMemory Tu8
- FbUseFetch Tu8
- FhasHeldSharedLock Tu8
- FdbSize TPgno
- FdbOrigSize TPgno
- FdbFileSize TPgno
- FdbHintSize TPgno
- FerrCode int32
- FnRec int32
- FcksumInit Tu32
- FnSubRec Tu32
- FpInJournal uintptr
- Ffd uintptr
- Fjfd uintptr
- Fsjfd uintptr
- FjournalOff Ti64
- FjournalHdr Ti64
- FpBackup uintptr
- FaSavepoint uintptr
- FnSavepoint int32
- FiDataVersion Tu32
- FdbFileVers [16]int8
- FnMmapOut int32
- FszMmap Tsqlite3_int64
- FpMmapFreelist uintptr
- FnExtra Tu16
- FnReserve Ti16
- FvfsFlags Tu32
- FsectorSize Tu32
- FmxPgno TPgno
- FlckPgno TPgno
- FpageSize Ti64
- FjournalSizeLimit Ti64
- FzFilename uintptr
- FzJournal uintptr
- FxBusyHandler uintptr
- FpBusyHandlerArg uintptr
- FaStat [4]Tu32
- FxReiniter uintptr
- FxGet uintptr
- FpTmpSpace uintptr
- FpPCache uintptr
- FpWal uintptr
- FzWal uintptr
-}
-
-type Pager1 = TPager1
-
/*
** Indexes for use with Pager.aStat[]. The Pager.aStat[] array contains
** the values accessed by passing SQLITE_DBSTATUS_CACHE_HIT, CACHE_MISS
@@ -34731,7 +30277,7 @@ func _sqlite3PagerDirectReadOk(tls *libc.TLS, pPager uintptr, pgno TPgno) (r int
return 0
} /* Case (4) */
}
- if (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TPager)(unsafe.Pointer(pPager)).Ffd)).FpMethods)).FxDeviceCharacteristics})))(tls, (*TPager)(unsafe.Pointer(pPager)).Ffd)&int32(SQLITE_IOCAP_SUBPAGE_READ) == 0 {
+ if (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TPager)(unsafe.Pointer(pPager)).Ffd)).FpMethods)).FxDeviceCharacteristics})))(tls, (*TPager)(unsafe.Pointer(pPager)).Ffd)&int32(SQLITE_IOCAP_SUBPAGE_READ) == 0 {
return 0 /* Case (2) */
}
return int32(1)
@@ -37216,7 +32762,7 @@ func _pagerFixMaplimit(tls *libc.TLS, pPager uintptr) {
var _ /* sz at bp+0 */ Tsqlite3_int64
_ = fd
fd = (*TPager)(unsafe.Pointer(pPager)).Ffd
- if (*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods != uintptr(0) && (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FiVersion >= int32(3) {
+ if (*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods != uintptr(0) && (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FiVersion >= int32(3) {
*(*Tsqlite3_int64)(unsafe.Pointer(bp)) = (*TPager)(unsafe.Pointer(pPager)).FszMmap
(*TPager)(unsafe.Pointer(pPager)).FbUseFetch = libc.BoolUint8(*(*Tsqlite3_int64)(unsafe.Pointer(bp)) > libc.Int64FromInt32(0))
_setGetterMethod(tls, pPager)
@@ -37407,10 +32953,10 @@ func _pagerOpentemp(tls *libc.TLS, pPager uintptr, pFile uintptr, vfsFlags int32
// ** retried. If it returns zero, then the SQLITE_BUSY error is
// ** returned to the caller of the pager API function.
// */
-func _sqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, xBusyHandler uintptr, pBusyHandlerArg uintptr) {
+func _sqlite3PagerSetBusyHandler(tls *libc.TLS, pPager uintptr, __ccgo_fp_xBusyHandler uintptr, pBusyHandlerArg uintptr) {
var ap uintptr
_ = ap
- (*TPager)(unsafe.Pointer(pPager)).FxBusyHandler = xBusyHandler
+ (*TPager)(unsafe.Pointer(pPager)).FxBusyHandler = __ccgo_fp_xBusyHandler
(*TPager)(unsafe.Pointer(pPager)).FpBusyHandlerArg = pBusyHandlerArg
ap = pPager + 232
_sqlite3OsFileControlHint(tls, (*TPager)(unsafe.Pointer(pPager)).Ffd, int32(SQLITE_FCNTL_BUSYHANDLER), ap)
@@ -38311,7 +33857,7 @@ func _sqlite3PagerFlush(tls *libc.TLS, pPager uintptr) (r int32) {
// ** (sqlite3Malloc() is used to allocate memory), SQLITE_CANTOPEN or
// ** various SQLITE_IO_XXX errors.
// */
-func _sqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, xReinit uintptr) (r int32) {
+func _sqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename uintptr, nExtra int32, flags int32, vfsFlags int32, __ccgo_fp_xReinit uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var iDc, journalFileSize, memDb, memJM, nPathname, nUriByte, pcacheSize, rc, readOnly, tempFile, useJournal, v4 int32
@@ -38386,7 +33932,7 @@ func _sqlite3PagerOpen(tls *libc.TLS, pVfs uintptr, ppPager uintptr, zFilename u
** as it will not be possible to open the journal file or even
** check for a hot-journal before reading.
*/
- rc = _sqlite3CantopenError(tls, int32(62857))
+ rc = _sqlite3CantopenError(tls, int32(62859))
}
if rc != SQLITE_OK {
_sqlite3DbFree(tls, uintptr(0), zPathname)
@@ -38608,7 +34154,7 @@ _3:
}
/* pPager->xBusyHandler = 0; */
/* pPager->pBusyHandlerArg = 0; */
- (*TPager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FxReiniter = xReinit
+ (*TPager)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FxReiniter = __ccgo_fp_xReinit
_setGetterMethod(tls, *(*uintptr)(unsafe.Pointer(bp)))
/* memset(pPager->aHash, 0, sizeof(pPager->aHash)); */
/* pPager->szMmap = SQLITE_DEFAULT_MMAP_SIZE // will be set by btree.c */
@@ -38864,7 +34410,7 @@ func _sqlite3PagerSharedLock(tls *libc.TLS, pPager uintptr) (r int32) {
f = libc.Int32FromInt32(SQLITE_OPEN_READWRITE) | libc.Int32FromInt32(SQLITE_OPEN_MAIN_JOURNAL)
rc = _sqlite3OsOpen(tls, pVfs, (*TPager)(unsafe.Pointer(pPager)).FzJournal, (*TPager)(unsafe.Pointer(pPager)).Fjfd, f, bp+8)
if rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 8))&int32(SQLITE_OPEN_READONLY) != 0 {
- rc = _sqlite3CantopenError(tls, int32(63378))
+ rc = _sqlite3CantopenError(tls, int32(63380))
_sqlite3OsClose(tls, (*TPager)(unsafe.Pointer(pPager)).Fjfd)
}
}
@@ -39039,7 +34585,7 @@ func _getPageNormal(tls *libc.TLS, pPager uintptr, pgno TPgno, ppPage uintptr, f
_, _, _, _ = noContent, pPg, rc, v1
rc = SQLITE_OK
if pgno == uint32(0) {
- return _sqlite3CorruptError(tls, int32(63591))
+ return _sqlite3CorruptError(tls, int32(63593))
}
*(*uintptr)(unsafe.Pointer(bp)) = _sqlite3PcacheFetch(tls, (*TPager)(unsafe.Pointer(pPager)).FpPCache, pgno, int32(3))
if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
@@ -39070,7 +34616,7 @@ func _getPageNormal(tls *libc.TLS, pPager uintptr, pgno TPgno, ppPage uintptr, f
** (2) Never try to fetch the locking page
*/
if pgno == (*TPager)(unsafe.Pointer(pPager)).FlckPgno {
- rc = _sqlite3CorruptError(tls, int32(63623))
+ rc = _sqlite3CorruptError(tls, int32(63625))
goto pager_acquire_err
}
(*TPgHdr)(unsafe.Pointer(pPg)).FpPager = pPager
@@ -39142,7 +34688,7 @@ func _getPageMMap(tls *libc.TLS, pPager uintptr, pgno TPgno, ppPage uintptr, fla
** test in the previous statement, and avoid testing pgno==0 in the
** common case where pgno is large. */
if pgno <= uint32(1) && pgno == uint32(0) {
- return _sqlite3CorruptError(tls, int32(63706))
+ return _sqlite3CorruptError(tls, int32(63708))
}
if bMmapOk != 0 && (*TPager)(unsafe.Pointer(pPager)).FpWal != uintptr(0) {
rc = _sqlite3WalFindFrame(tls, (*TPager)(unsafe.Pointer(pPager)).FpWal, pgno, bp+8)
@@ -40499,7 +36045,7 @@ func _sqlite3PagerMovepage(tls *libc.TLS, pPager uintptr, pPg uintptr, pgno TPgn
if pPgOld != 0 {
if (*TPgHdr)(unsafe.Pointer(pPgOld)).FnRef > int64(1) {
_sqlite3PagerUnrefNotNull(tls, pPgOld)
- return _sqlite3CorruptError(tls, int32(65272))
+ return _sqlite3CorruptError(tls, int32(65274))
}
p4 = pPg + 52
*(*Tu16)(unsafe.Pointer(p4)) = Tu16(int32(*(*Tu16)(unsafe.Pointer(p4))) | libc.Int32FromUint16((*TPgHdr)(unsafe.Pointer(pPgOld)).Fflags)&libc.Int32FromInt32(PGHDR_NEED_SYNC))
@@ -41348,232 +36894,6 @@ type TWalCkptInfo = struct {
type WalCkptInfo = TWalCkptInfo
-/*
-** The following object holds a copy of the wal-index header content.
-**
-** The actual header in the wal-index consists of two copies of this
-** object followed by one instance of the WalCkptInfo object.
-** For all versions of SQLite through 3.10.0 and probably beyond,
-** the locking bytes (WalCkptInfo.aLock) start at offset 120 and
-** the total header size is 136 bytes.
-**
-** The szPage value can be any power of 2 between 512 and 32768, inclusive.
-** Or it can be 1 to represent a 65536-byte page. The latter case was
-** added in 3.7.1 when support for 64K pages was added.
- */
-type TWalIndexHdr1 = struct {
- FiVersion Tu32
- Funused Tu32
- FiChange Tu32
- FisInit Tu8
- FbigEndCksum Tu8
- FszPage Tu16
- FmxFrame Tu32
- FnPage Tu32
- FaFrameCksum [2]Tu32
- FaSalt [2]Tu32
- FaCksum [2]Tu32
-}
-
-type WalIndexHdr1 = TWalIndexHdr1
-
-/*
-** A copy of the following object occurs in the wal-index immediately
-** following the second copy of the WalIndexHdr. This object stores
-** information used by checkpoint.
-**
-** nBackfill is the number of frames in the WAL that have been written
-** back into the database. (We call the act of moving content from WAL to
-** database "backfilling".) The nBackfill number is never greater than
-** WalIndexHdr.mxFrame. nBackfill can only be increased by threads
-** holding the WAL_CKPT_LOCK lock (which includes a recovery thread).
-** However, a WAL_WRITE_LOCK thread can move the value of nBackfill from
-** mxFrame back to zero when the WAL is reset.
-**
-** nBackfillAttempted is the largest value of nBackfill that a checkpoint
-** has attempted to achieve. Normally nBackfill==nBackfillAtempted, however
-** the nBackfillAttempted is set before any backfilling is done and the
-** nBackfill is only set after all backfilling completes. So if a checkpoint
-** crashes, nBackfillAttempted might be larger than nBackfill. The
-** WalIndexHdr.mxFrame must never be less than nBackfillAttempted.
-**
-** The aLock[] field is a set of bytes used for locking. These bytes should
-** never be read or written.
-**
-** There is one entry in aReadMark[] for each reader lock. If a reader
-** holds read-lock K, then the value in aReadMark[K] is no greater than
-** the mxFrame for that reader. The value READMARK_NOT_USED (0xffffffff)
-** for any aReadMark[] means that entry is unused. aReadMark[0] is
-** a special case; its value is never used and it exists as a place-holder
-** to avoid having to offset aReadMark[] indexes by one. Readers holding
-** WAL_READ_LOCK(0) always ignore the entire WAL and read all content
-** directly from the database.
-**
-** The value of aReadMark[K] may only be changed by a thread that
-** is holding an exclusive lock on WAL_READ_LOCK(K). Thus, the value of
-** aReadMark[K] cannot changed while there is a reader is using that mark
-** since the reader will be holding a shared lock on WAL_READ_LOCK(K).
-**
-** The checkpointer may only transfer frames from WAL to database where
-** the frame numbers are less than or equal to every aReadMark[] that is
-** in use (that is, every aReadMark[j] for which there is a corresponding
-** WAL_READ_LOCK(j)). New readers (usually) pick the aReadMark[] with the
-** largest value and will increase an unused aReadMark[] to mxFrame if there
-** is not already an aReadMark[] equal to mxFrame. The exception to the
-** previous sentence is when nBackfill equals mxFrame (meaning that everything
-** in the WAL has been backfilled into the database) then new readers
-** will choose aReadMark[0] which has value 0 and hence such reader will
-** get all their all content directly from the database file and ignore
-** the WAL.
-**
-** Writers normally append new frames to the end of the WAL. However,
-** if nBackfill equals mxFrame (meaning that all WAL content has been
-** written back into the database) and if no readers are using the WAL
-** (in other words, if there are no WAL_READ_LOCK(i) where i>0) then
-** the writer will first "reset" the WAL back to the beginning and start
-** writing new content beginning at frame 1.
-**
-** We assume that 32-bit loads are atomic and so no locks are needed in
-** order to read from any aReadMark[] entries.
- */
-type TWalCkptInfo1 = struct {
- FnBackfill Tu32
- FaReadMark [5]Tu32
- FaLock [8]Tu8
- FnBackfillAttempted Tu32
- FnotUsed0 Tu32
-}
-
-type WalCkptInfo1 = TWalCkptInfo1
-
-/*
-** This is a schematic view of the complete 136-byte header of the
-** wal-index file (also known as the -shm file):
-**
-** +-----------------------------+
-** 0: | iVersion | ** +-----------------------------+ |
-** 4: | (unused padding) | |
-** +-----------------------------+ |
-** 8: | iChange | |
-** +-------+-------+-------------+ |
-** 12: | bInit | bBig | szPage | |
-** +-------+-------+-------------+ |
-** 16: | mxFrame | | First copy of the
-** +-----------------------------+ | WalIndexHdr object
-** 20: | nPage | |
-** +-----------------------------+ |
-** 24: | aFrameCksum | |
-** | | |
-** +-----------------------------+ |
-** 32: | aSalt | |
-** | | |
-** +-----------------------------+ |
-** 40: | aCksum | |
-** | | /
-** +-----------------------------+
-** 48: | iVersion | ** +-----------------------------+ |
-** 52: | (unused padding) | |
-** +-----------------------------+ |
-** 56: | iChange | |
-** +-------+-------+-------------+ |
-** 60: | bInit | bBig | szPage | |
-** +-------+-------+-------------+ | Second copy of the
-** 64: | mxFrame | | WalIndexHdr
-** +-----------------------------+ |
-** 68: | nPage | |
-** +-----------------------------+ |
-** 72: | aFrameCksum | |
-** | | |
-** +-----------------------------+ |
-** 80: | aSalt | |
-** | | |
-** +-----------------------------+ |
-** 88: | aCksum | |
-** | | /
-** +-----------------------------+
-** 96: | nBackfill |
-** +-----------------------------+
-** 100: | 5 read marks |
-** | |
-** | |
-** | |
-** | |
-** +-------+-------+------+------+
-** 120: | Write | Ckpt | Rcvr | Rd0 | ** +-------+-------+------+------+ ) 8 lock bytes
-** | Read1 | Read2 | Rd3 | Rd4 | /
-** +-------+-------+------+------+
-** 128: | nBackfillAttempted |
-** +-----------------------------+
-** 132: | (unused padding) |
-** +-----------------------------+
- */
-
-/* A block of WALINDEX_LOCK_RESERVED bytes beginning at
-** WALINDEX_LOCK_OFFSET is reserved for locks. Since some systems
-** only support mandatory file-locks, we do not read or write data
-** from the region of the file on which locks are applied.
- */
-
-/* Size of header before each frame in wal */
-
-/* Size of write ahead log header, including checksum. */
-
-/* WAL magic value. Either this value, or the same value with the least
-** significant bit also set (WAL_MAGIC | 0x00000001) is stored in 32-bit
-** big-endian format in the first 4 bytes of a WAL file.
-**
-** If the LSB is set, then the checksums for each frame within the WAL
-** file are calculated by treating all data as an array of 32-bit
-** big-endian words. Otherwise, they are calculated by interpreting
-** all data as 32-bit little-endian words.
- */
-
-/*
-** Return the offset of frame iFrame in the write-ahead log file,
-** assuming a database page size of szPage bytes. The offset returned
-** is to the start of the write-ahead log frame-header.
- */
-
-/*
-** An open write-ahead log file is represented by an instance of the
-** following object.
-**
-** writeLock:
-** This is usually set to 1 whenever the WRITER lock is held. However,
-** if it is set to 2, then the WRITER lock is held but must be released
-** by walHandleException() if a SEH exception is thrown.
- */
-type TWal1 = struct {
- FpVfs uintptr
- FpDbFd uintptr
- FpWalFd uintptr
- FiCallback Tu32
- FmxWalSize Ti64
- FnWiData int32
- FszFirstBlock int32
- FapWiData uintptr
- FszPage Tu32
- FreadLock Ti16
- FsyncFlags Tu8
- FexclusiveMode Tu8
- FwriteLock Tu8
- FckptLock Tu8
- FreadOnly Tu8
- FtruncateOnCommit Tu8
- FsyncHeader Tu8
- FpadToSectorBoundary Tu8
- FbShmUnreliable Tu8
- Fhdr TWalIndexHdr
- FminFrame Tu32
- FiReCksum Tu32
- FzWalName uintptr
- FnCkpt Tu32
- FpSnapshot uintptr
- FbGetSnapshot int32
-}
-
-type Wal1 = TWal1
-
/*
** Candidate values for Wal.exclusiveMode.
*/
@@ -41592,29 +36912,6 @@ type Tht_slot = uint16
type ht_slot = Tht_slot
-/*
-** This structure is used to implement an iterator that loops through
-** all frames in the WAL in database page order. Where two or more frames
-** correspond to the same database page, the iterator visits only the
-** frame most recently written to the WAL (in other words, the frame with
-** the largest index).
-**
-** The internals of this structure are only accessed by:
-**
-** walIteratorInit() - Create a new iterator,
-** walIteratorNext() - Step an iterator,
-** walIteratorFree() - Free an iterator.
-**
-** This functionality is used by the checkpoint code (see walCheckpoint()).
- */
-type TWalIterator1 = struct {
- F__ccgo_align [0]uint64
- FiPrior Tu32
- FnSegment int32
-}
-
-type WalIterator1 = TWalIterator1
-
/* Size (in bytes) of a WalIterator object suitable for N or fewer segments */
/*
@@ -42043,14 +37340,6 @@ type TWalHashLoc = struct {
type WalHashLoc = TWalHashLoc
-type TWalHashLoc1 = struct {
- FaHash uintptr
- FaPgno uintptr
- FiZero Tu32
-}
-
-type WalHashLoc1 = TWalHashLoc1
-
// C documentation
//
// /*
@@ -42217,7 +37506,7 @@ func _walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame Tu32, iPage Tu32) (r in
v2 = nCollide
nCollide--
if v2 == 0 {
- return _sqlite3CorruptError(tls, int32(67212))
+ return _sqlite3CorruptError(tls, int32(67214))
}
goto _1
_1:
@@ -42305,7 +37594,7 @@ func _walIndexRecover(tls *libc.TLS, pWal uintptr) (r int32) {
** are able to understand */
version = _sqlite3Get4byte(tls, bp+8+4)
if version != uint32(WAL_MAX_VERSION) {
- rc = _sqlite3CantopenError(tls, int32(67344))
+ rc = _sqlite3CantopenError(tls, int32(67346))
goto finished
}
/* Malloc a buffer to read frames into. */
@@ -42885,10 +38174,10 @@ func _walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill Tu32, pp uintptr) (
// ** busy-handler function. Invoke it and retry the lock until either the
// ** lock is successfully obtained or the busy-handler returns 0.
// */
-func _walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) (r int32) {
+func _walBusyLock(tls *libc.TLS, pWal uintptr, __ccgo_fp_xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) (r int32) {
var rc int32
_ = rc
- for cond := true; cond; cond = xBusy != 0 && rc == int32(SQLITE_BUSY) && (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{xBusy})))(tls, pBusyArg) != 0 {
+ for cond := true; cond; cond = __ccgo_fp_xBusy != 0 && rc == int32(SQLITE_BUSY) && (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xBusy})))(tls, pBusyArg) != 0 {
rc = _walLockExclusive(tls, pWal, lockIdx, n)
}
return rc
@@ -42986,7 +38275,7 @@ func _walRestartHdr(tls *libc.TLS, pWal uintptr, _salt1 Tu32) {
// ** checkpoint is running (in any other thread or process) at the same
// ** time.
// */
-func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) (r int32) {
+func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, __ccgo_fp_xBusy uintptr, pBusyArg uintptr, sync_flags int32, zBuf uintptr) (r int32) {
bp := tls.Alloc(48)
defer tls.Free(48)
var i, rc, szPage, v3, v5 int32
@@ -43025,7 +38314,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
}
y = libc.AtomicLoadNUint32(pInfo+4+uintptr(i)*4, libc.Int32FromInt32(__ATOMIC_RELAXED))
if mxSafeFrame > y {
- rc = _walBusyLock(tls, pWal, xBusy, pBusyArg, int32(3)+i, int32(1))
+ rc = _walBusyLock(tls, pWal, __ccgo_fp_xBusy, pBusyArg, int32(3)+i, int32(1))
if rc == SQLITE_OK {
if i == int32(1) {
v2 = mxSafeFrame
@@ -43038,7 +38327,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
} else {
if rc == int32(SQLITE_BUSY) {
mxSafeFrame = y
- xBusy = uintptr(0)
+ __ccgo_fp_xBusy = uintptr(0)
} else {
goto walcheckpoint_out
}
@@ -43054,7 +38343,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
rc = _walIteratorInit(tls, pWal, (*TWalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill, bp)
}
if v4 = *(*uintptr)(unsafe.Pointer(bp)) != 0; v4 {
- v3 = _walBusyLock(tls, pWal, xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(0), int32(1))
+ v3 = _walBusyLock(tls, pWal, __ccgo_fp_xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(0), int32(1))
rc = v3
}
if v4 && v3 == SQLITE_OK {
@@ -43075,7 +38364,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
** database plus the amount of data in the wal file, plus the
** maximum size of the pending-byte page (65536 bytes), then
** must be corruption somewhere. */
- rc = _sqlite3CorruptError(tls, int32(68153))
+ rc = _sqlite3CorruptError(tls, int32(68155))
} else {
_sqlite3OsFileControlHint(tls, (*TWal)(unsafe.Pointer(pWal)).FpDbFd, int32(SQLITE_FCNTL_SIZE_HINT), bp+16)
}
@@ -43141,7 +38430,7 @@ func _walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy
} else {
if eMode >= int32(SQLITE_CHECKPOINT_RESTART) {
Xsqlite3_randomness(tls, int32(4), bp+32)
- rc = _walBusyLock(tls, pWal, xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(1), libc.Int32FromInt32(SQLITE_SHM_NLOCK)-libc.Int32FromInt32(3)-libc.Int32FromInt32(1))
+ rc = _walBusyLock(tls, pWal, __ccgo_fp_xBusy, pBusyArg, libc.Int32FromInt32(3)+libc.Int32FromInt32(1), libc.Int32FromInt32(SQLITE_SHM_NLOCK)-libc.Int32FromInt32(3)-libc.Int32FromInt32(1))
if rc == SQLITE_OK {
if eMode == int32(SQLITE_CHECKPOINT_TRUNCATE) {
/* IMPLEMENTATION-OF: R-44699-57140 This mode works the same way as
@@ -43439,7 +38728,7 @@ func _walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) (r int32) {
** this version of SQLite cannot understand.
*/
if badHdr == 0 && (*TWal)(unsafe.Pointer(pWal)).Fhdr.FiVersion != uint32(WALINDEX_MAX_VERSION) {
- rc = _sqlite3CantopenError(tls, int32(68604))
+ rc = _sqlite3CantopenError(tls, int32(68606))
}
if (*TWal)(unsafe.Pointer(pWal)).FbShmUnreliable != 0 {
if rc != SQLITE_OK {
@@ -44250,7 +39539,7 @@ func _walFindFrame(tls *libc.TLS, pWal uintptr, pgno TPgno, piRead uintptr) (r i
nCollide--
if v3 == 0 {
*(*Tu32)(unsafe.Pointer(piRead)) = uint32(0)
- return _sqlite3CorruptError(tls, int32(69454))
+ return _sqlite3CorruptError(tls, int32(69456))
}
iKey = _walNextHash(tls, iKey)
}
@@ -44396,7 +39685,7 @@ func _sqlite3WalEndWriteTransaction(tls *libc.TLS, pWal uintptr) (r int32) {
// ** Otherwise, if the callback function does not return an error, this
// ** function returns SQLITE_OK.
// */
-func _sqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintptr) (r int32) {
+func _sqlite3WalUndo(tls *libc.TLS, pWal uintptr, __ccgo_fp_xUndo uintptr, pUndoCtx uintptr) (r int32) {
var iFrame, iMax TPgno
var rc int32
_, _, _ = iFrame, iMax, rc
@@ -44423,7 +39712,7 @@ func _sqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt
** page 1 is never written to the log until the transaction is
** committed. As a result, the call to xUndo may not fail.
*/
- rc = (*(*func(*libc.TLS, uintptr, TPgno) int32)(unsafe.Pointer(&struct{ uintptr }{xUndo})))(tls, pUndoCtx, _walFramePgno(tls, pWal, iFrame))
+ rc = (*(*func(*libc.TLS, uintptr, TPgno) int32)(unsafe.Pointer(&struct{ uintptr }{__ccgo_fp_xUndo})))(tls, pUndoCtx, _walFramePgno(tls, pWal, iFrame))
goto _1
_1:
;
@@ -44751,7 +40040,7 @@ func _walFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr, nTrunc
}
}
if libc.Int32FromUint32((*TWal)(unsafe.Pointer(pWal)).FszPage) != szPage {
- return _sqlite3CorruptError(tls, int32(69981)) /* TH3 test case: cov1/corrupt155.test */
+ return _sqlite3CorruptError(tls, int32(69983)) /* TH3 test case: cov1/corrupt155.test */
}
/* Setup information needed to write frames into the WAL */
(*(*TWalWriter)(unsafe.Pointer(bp))).FpWal = pWal
@@ -44932,7 +40221,7 @@ func _sqlite3WalFrames(tls *libc.TLS, pWal uintptr, szPage int32, pList uintptr,
// ** If parameter xBusy is not NULL, it is a pointer to a busy-handler
// ** callback. In this case this function runs a blocking checkpoint.
// */
-func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) (r int32) {
+func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, __ccgo_fp_xBusy uintptr, pBusyArg uintptr, sync_flags int32, nBuf int32, zBuf uintptr, pnLog uintptr, pnCkpt uintptr) (r int32) {
bp := tls.Alloc(16)
defer tls.Free(16)
var eMode2, rc, v1 int32
@@ -44941,7 +40230,7 @@ func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
_, _, _, _ = eMode2, rc, xBusy2, v1 /* Return code */
*(*int32)(unsafe.Pointer(bp)) = 0 /* True if a new wal-index header is loaded */
eMode2 = eMode /* Mode to pass to walCheckpoint() */
- xBusy2 = xBusy /* Busy handler for eMode2 */
+ xBusy2 = __ccgo_fp_xBusy /* Busy handler for eMode2 */
/* EVIDENCE-OF: R-62920-47450 The busy-handler callback is never invoked
** in the SQLITE_CHECKPOINT_PASSIVE mode. */
if (*TWal)(unsafe.Pointer(pWal)).FreadOnly != 0 {
@@ -44993,14 +40282,14 @@ func _sqlite3WalCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32,
rc = _walIndexReadHdr(tls, pWal, bp)
if eMode2 != SQLITE_CHECKPOINT_PASSIVE {
}
- if *(*int32)(unsafe.Pointer(bp)) != 0 && (*Tsqlite3_io_methods1)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TWal)(unsafe.Pointer(pWal)).FpDbFd)).FpMethods)).FiVersion >= int32(3) {
+ if *(*int32)(unsafe.Pointer(bp)) != 0 && (*Tsqlite3_io_methods)(unsafe.Pointer((*Tsqlite3_file)(unsafe.Pointer((*TWal)(unsafe.Pointer(pWal)).FpDbFd)).FpMethods)).FiVersion >= int32(3) {
_sqlite3OsUnfetch(tls, (*TWal)(unsafe.Pointer(pWal)).FpDbFd, 0, uintptr(0))
}
}
/* Copy data from the log to the database file. */
if rc == SQLITE_OK {
if (*TWal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0 && _walPagesize(tls, pWal) != nBuf {
- rc = _sqlite3CorruptError(tls, int32(70241))
+ rc = _sqlite3CorruptError(tls, int32(70243))
} else {
rc = _walCheckpoint(tls, pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf)
}
@@ -45546,288 +40835,6 @@ type TCellInfo = struct {
type CellInfo = TCellInfo
-/*
-** This is a magic string that appears at the beginning of every
-** SQLite database in order to identify the file as a real database.
-**
-** You can change this value at compile-time by specifying a
-** -DSQLITE_FILE_HEADER="..." on the compiler command-line. The
-** header must be exactly 16 bytes including the zero-terminator so
-** the string itself should be 15 characters long. If you change
-** the header, then your custom library will not be able to read
-** databases generated by the standard tools and the standard tools
-** will not be able to read databases created by your custom library.
- */
-
-/*
-** Page type flags. An ORed combination of these flags appear as the
-** first byte of on-disk image of every BTree page.
- */
-
-/*
-** An instance of this object stores information about each a single database
-** page that has been loaded into memory. The information in this object
-** is derived from the raw on-disk page content.
-**
-** As each database page is loaded into memory, the pager allocates an
-** instance of this object and zeros the first 8 bytes. (This is the
-** "extra" information associated with each page of the pager.)
-**
-** Access to all fields of this structure is controlled by the mutex
-** stored in MemPage.pBt->mutex.
- */
-type TMemPage1 = struct {
- FisInit Tu8
- FintKey Tu8
- FintKeyLeaf Tu8
- Fpgno TPgno
- Fleaf Tu8
- FhdrOffset Tu8
- FchildPtrSize Tu8
- Fmax1bytePayload Tu8
- FnOverflow Tu8
- FmaxLocal Tu16
- FminLocal Tu16
- FcellOffset Tu16
- FnFree int32
- FnCell Tu16
- FmaskPage Tu16
- FaiOvfl [4]Tu16
- FapOvfl [4]uintptr
- FpBt uintptr
- FaData uintptr
- FaDataEnd uintptr
- FaCellIdx uintptr
- FaDataOfst uintptr
- FpDbPage uintptr
- FxCellSize uintptr
- FxParseCell uintptr
-}
-
-type MemPage1 = TMemPage1
-
-/*
-** A linked list of the following structures is stored at BtShared.pLock.
-** Locks are added (or upgraded from READ_LOCK to WRITE_LOCK) when a cursor
-** is opened on the table with root page BtShared.iTable. Locks are removed
-** from this list when a transaction is committed or rolled back, or when
-** a btree handle is closed.
- */
-type TBtLock1 = struct {
- FpBtree uintptr
- FiTable TPgno
- FeLock Tu8
- FpNext uintptr
-}
-
-type BtLock1 = TBtLock1
-
-/* Candidate values for BtLock.eLock */
-
-/* A Btree handle
-**
-** A database connection contains a pointer to an instance of
-** this object for every database file that it has open. This structure
-** is opaque to the database connection. The database connection cannot
-** see the internals of this structure and only deals with pointers to
-** this structure.
-**
-** For some database files, the same underlying database cache might be
-** shared between multiple connections. In that case, each connection
-** has it own instance of this object. But each instance of this object
-** points to the same BtShared object. The database cache and the
-** schema associated with the database file are all contained within
-** the BtShared object.
-**
-** All fields in this structure are accessed under sqlite3.mutex.
-** The pBt pointer itself may not be changed while there exists cursors
-** in the referenced BtShared that point back to this Btree since those
-** cursors have to go through this Btree to find their BtShared and
-** they often do so without holding sqlite3.mutex.
- */
-type TBtree1 = struct {
- Fdb uintptr
- FpBt uintptr
- FinTrans Tu8
- Fsharable Tu8
- Flocked Tu8
- FhasIncrblobCur Tu8
- FwantToLock int32
- FnBackup int32
- FiBDataVersion Tu32
- FpNext uintptr
- FpPrev uintptr
- Flock TBtLock
-}
-
-type Btree1 = TBtree1
-
-/*
-** Btree.inTrans may take one of the following values.
-**
-** If the shared-data extension is enabled, there may be multiple users
-** of the Btree structure. At most one of these may open a write transaction,
-** but any number may have active read transactions.
-**
-** These values must match SQLITE_TXN_NONE, SQLITE_TXN_READ, and
-** SQLITE_TXN_WRITE
- */
-
-/*
-** An instance of this object represents a single database file.
-**
-** A single database file can be in use at the same time by two
-** or more database connections. When two or more connections are
-** sharing the same database file, each connection has it own
-** private Btree object for the file and each of those Btrees points
-** to this one BtShared object. BtShared.nRef is the number of
-** connections currently sharing this database file.
-**
-** Fields in this structure are accessed under the BtShared.mutex
-** mutex, except for nRef and pNext which are accessed under the
-** global SQLITE_MUTEX_STATIC_MAIN mutex. The pPager field
-** may not be modified once it is initially set as long as nRef>0.
-** The pSchema field may be set once under BtShared.mutex and
-** thereafter is unchanged as long as nRef>0.
-**
-** isPending:
-**
-** If a BtShared client fails to obtain a write-lock on a database
-** table (because there exists one or more read-locks on the table),
-** the shared-cache enters 'pending-lock' state and isPending is
-** set to true.
-**
-** The shared-cache leaves the 'pending lock' state when either of
-** the following occur:
-**
-** 1) The current writer (BtShared.pWriter) concludes its transaction, OR
-** 2) The number of locks held by other connections drops to zero.
-**
-** while in the 'pending-lock' state, no connection may start a new
-** transaction.
-**
-** This feature is included to help prevent writer-starvation.
- */
-type TBtShared1 = struct {
- FpPager uintptr
- Fdb uintptr
- FpCursor uintptr
- FpPage1 uintptr
- FopenFlags Tu8
- FautoVacuum Tu8
- FincrVacuum Tu8
- FbDoTruncate Tu8
- FinTransaction Tu8
- Fmax1bytePayload Tu8
- FnReserveWanted Tu8
- FbtsFlags Tu16
- FmaxLocal Tu16
- FminLocal Tu16
- FmaxLeaf Tu16
- FminLeaf Tu16
- FpageSize Tu32
- FusableSize Tu32
- FnTransaction int32
- FnPage Tu32
- FpSchema uintptr
- FxFreeSchema uintptr
- Fmutex uintptr
- FpHasContent uintptr
- FnRef int32
- FpNext uintptr
- FpLock uintptr
- FpWriter uintptr
- FpTmpSpace uintptr
- FnPreformatSize int32
-}
-
-type BtShared1 = TBtShared1
-
-/*
-** Allowed values for BtShared.btsFlags
- */
-
-/*
-** An instance of the following structure is used to hold information
-** about a cell. The parseCellPtr() function fills in this structure
-** based on information extract from the raw disk page.
- */
-type TCellInfo1 = struct {
- FnKey Ti64
- FpPayload uintptr
- FnPayload Tu32
- FnLocal Tu16
- FnSize Tu16
-}
-
-type CellInfo1 = TCellInfo1
-
-/*
-** Maximum depth of an SQLite B-Tree structure. Any B-Tree deeper than
-** this will be declared corrupt. This value is calculated based on a
-** maximum database size of 2^31 pages a minimum fanout of 2 for a
-** root-node and 3 for all other internal nodes.
-**
-** If a tree that appears to be taller than this is encountered, it is
-** assumed that the database is corrupt.
- */
-
-/*
-** Maximum amount of storage local to a database page, regardless of
-** page size.
- */
-
-/*
-** A cursor is a pointer to a particular entry within a particular
-** b-tree within a database file.
-**
-** The entry is identified by its MemPage and the index in
-** MemPage.aCell[] of the entry.
-**
-** A single database file can be shared by two more database connections,
-** but cursors cannot be shared. Each cursor is associated with a
-** particular database connection identified BtCursor.pBtree.db.
-**
-** Fields in this structure are accessed under the BtShared.mutex
-** found at self->pBt->mutex.
-**
-** skipNext meaning:
-** The meaning of skipNext depends on the value of eState:
-**
-** eState Meaning of skipNext
-** VALID skipNext is meaningless and is ignored
-** INVALID skipNext is meaningless and is ignored
-** SKIPNEXT sqlite3BtreeNext() is a no-op if skipNext>0 and
-** sqlite3BtreePrevious() is no-op if skipNext<0.
-** REQUIRESEEK restoreCursorPosition() restores the cursor to
-** eState=SKIPNEXT if skipNext!=0
-** FAULT skipNext holds the cursor fault error code.
- */
-type TBtCursor1 = struct {
- FeState Tu8
- FcurFlags Tu8
- FcurPagerFlags Tu8
- Fhints Tu8
- FskipNext int32
- FpBtree uintptr
- FaOverflow uintptr
- FpKey uintptr
- FpBt uintptr
- FpNext uintptr
- Finfo TCellInfo
- FnKey Ti64
- FpgnoRoot TPgno
- FiPage Ti8
- FcurIntKey Tu8
- Fix Tu16
- FaiIdx [19]Tu16
- FpKeyInfo uintptr
- FpPage uintptr
- FapPage [19]uintptr
-}
-
-type BtCursor1 = TBtCursor1
-
/*
** Legal values for BtCursor.curFlags
*/
@@ -45960,27 +40967,6 @@ type TIntegrityCk = struct {
type IntegrityCk = TIntegrityCk
-type TIntegrityCk1 = struct {
- FpBt uintptr
- FpPager uintptr
- FaPgRef uintptr
- FnCkPage TPgno
- FmxErr int32
- FnErr int32
- Frc int32
- FnStep Tu32
- FzPfx uintptr
- Fv0 TPgno
- Fv1 TPgno
- Fv2 int32
- FerrMsg TStrAccum
- Fheap uintptr
- Fdb uintptr
- FnRow Ti64
-}
-
-type IntegrityCk1 = TIntegrityCk1
-
/*
** Routines to read or write a two- and four-byte big-endian integer values.
*/
@@ -46863,11 +41849,11 @@ func _btreeMoveto(tls *libc.TLS, pCur uintptr, pKey uintptr, nKey Ti64, bias int
}
_sqlite3VdbeRecordUnpack(tls, pKeyInfo, int32(nKey), pKey, pIdxKey)
if libc.Int32FromUint16((*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) == 0 || libc.Int32FromUint16((*TUnpackedRecord)(unsafe.Pointer(pIdxKey)).FnField) > libc.Int32FromUint16((*TKeyInfo)(unsafe.Pointer(pKeyInfo)).FnAllField) {
- rc = _sqlite3CorruptError(tls, int32(72429))
+ rc = _sqlite3CorruptError(tls, int32(72431))
} else {
rc = _sqlite3BtreeIndexMoveto(tls, pCur, pIdxKey, pRes)
}
- _sqlite3DbFree(tls, (*TKeyInfo1)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo)).Fdb, pIdxKey)
+ _sqlite3DbFree(tls, (*TKeyInfo)(unsafe.Pointer((*TBtCursor)(unsafe.Pointer(pCur)).FpKeyInfo)).Fdb, pIdxKey)
} else {
pIdxKey = uintptr(0)
rc = _sqlite3BtreeTableMoveto(tls, pCur, nKey, bias, pRes)
@@ -47041,7 +42027,7 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno,
}
/* The super-journal page number must never be used as a pointer map page */
if key == uint32(0) {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72627))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72629))
return
}
iPtrmap = _ptrmapPageno(tls, pBt, key)
@@ -47054,12 +42040,12 @@ func _ptrmapPut(tls *libc.TLS, pBt uintptr, key TPgno, eType Tu8, parent TPgno,
/* The first byte of the extra data is the MemPage.isInit byte.
** If that byte is set, it means this page is also being used
** as a btree page. */
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72640))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72642))
goto ptrmap_exit
}
offset = libc.Int32FromUint32(libc.Uint32FromInt32(5) * (key - iPtrmap - libc.Uint32FromInt32(1)))
if offset < 0 {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72645))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(72647))
goto ptrmap_exit
}
pPtrmap = _sqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp)))
@@ -47103,7 +42089,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin
offset = libc.Int32FromUint32(libc.Uint32FromInt32(5) * (key - libc.Uint32FromInt32(iPtrmap) - libc.Uint32FromInt32(1)))
if offset < 0 {
_sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
- return _sqlite3CorruptError(tls, int32(72690))
+ return _sqlite3CorruptError(tls, int32(72692))
}
*(*Tu8)(unsafe.Pointer(pEType)) = *(*Tu8)(unsafe.Pointer(pPtrmap + uintptr(offset)))
if pPgno != 0 {
@@ -47111,7 +42097,7 @@ func _ptrmapGet(tls *libc.TLS, pBt uintptr, key TPgno, pEType uintptr, pPgno uin
}
_sqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp)))
if libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(pEType))) < int32(1) || libc.Int32FromUint8(*(*Tu8)(unsafe.Pointer(pEType))) > int32(5) {
- return _sqlite3CorruptError(tls, int32(72698))
+ return _sqlite3CorruptError(tls, int32(72700))
}
return SQLITE_OK
}
@@ -47531,7 +42517,7 @@ func _ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr
(*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TMemPage)(unsafe.Pointer(pPage)).FxParseCell})))(tls, pPage, pCell, bp)
if uint32((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal) < (*(*TCellInfo)(unsafe.Pointer(bp))).FnPayload {
if uint64(pCell) < uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) && uint64(pCell+uintptr((*(*TCellInfo)(unsafe.Pointer(bp))).FnLocal)) > uint64((*TMemPage)(unsafe.Pointer(pSrc)).FaDataEnd) {
- *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(73143))
+ *(*int32)(unsafe.Pointer(pRC)) = _sqlite3CorruptError(tls, int32(73145))
return
}
ovfl = _sqlite3Get4byte(tls, pCell+uintptr(libc.Int32FromUint16((*(*TCellInfo)(unsafe.Pointer(bp))).FnSize)-int32(4)))
@@ -47571,12 +42557,12 @@ func _defragmentPage(tls *libc.TLS, pPage uintptr, nMaxFrag int32) (r int32) {
if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(7))))) <= nMaxFrag {
iFree = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(hdr+int32(1)))))< usableSize-int32(4) {
- return _sqlite3CorruptError(tls, int32(73201))
+ return _sqlite3CorruptError(tls, int32(73203))
}
if iFree != 0 {
iFree2 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(data + uintptr(iFree))))<